[Buildroot] svn commit: [25800] trunk/buildroot/package/automake

Hiroshi Shinji hiroshi.shinji at gmail.com
Wed Mar 25 04:34:26 UTC 2009


Hi,

I tried to build iptables-1.4.2, but occured an error that
$(STAGING_DIR)/usr/share/aclocal directory was not found.

> -#############################################################
> -#
> -# automake for the target
> -#
> -#############################################################
> +# variables used by other packages
> +AUTOMAKE:=$(HOST_DIR)/usr/bin/automake
> +ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
                   ~~~~~~~~~~~
> +ACLOCAL = $(HOST_DIR)/usr/bin/aclocal -I $(ACLOCAL_DIR)

And I'm able to build iptables by modifying "STAGING_DIR" to "HOST_DIR".

Please review this modifying.

Regards,



2009/3/24  <jacmet at uclibc.org>:
> Author: jacmet
> Date: 2009-03-23 21:46:37 +0000 (Mon, 23 Mar 2009)
> New Revision: 25800
>
> Log:
> automake: cleanup
>
> - Convert into Makefile.autotools.in format for target build
> - Build host version in BUILD_DIR and install into HOST_DIR
>
> Modified:
>   trunk/buildroot/package/automake/automake.mk
>
>
> Changeset:
> Modified: trunk/buildroot/package/automake/automake.mk
> ===================================================================
> --- trunk/buildroot/package/automake/automake.mk        2009-03-23 21:46:32 UTC (rev 25799)
> +++ trunk/buildroot/package/automake/automake.mk        2009-03-23 21:46:37 UTC (rev 25800)
> @@ -3,139 +3,59 @@
>  # automake
>  #
>  #############################################################
> -AUTOMAKE_VERSION:=1.10
> -AUTOMAKE_SOURCE:=automake-$(AUTOMAKE_VERSION).tar.bz2
> -AUTOMAKE_SITE:=$(BR2_GNU_MIRROR)/automake
> -AUTOMAKE_CAT:=$(BZCAT)
> -AUTOMAKE_SRC_DIR:=$(TOOL_BUILD_DIR)/automake-$(AUTOMAKE_VERSION)
> -AUTOMAKE_DIR:=$(BUILD_DIR)/automake-$(AUTOMAKE_VERSION)
> -AUTOMAKE_HOST_DIR:=$(TOOL_BUILD_DIR)/automake-$(AUTOMAKE_VERSION)-host
> -AUTOMAKE_BINARY:=automake
> -AUTOMAKE_TARGET_BINARY:=usr/bin/automake
> -AUTOMAKE:=$(STAGING_DIR)/usr/bin/automake
> +AUTOMAKE_VERSION = 1.10
> +AUTOMAKE_SOURCE = automake-$(AUTOMAKE_VERSION).tar.bz2
> +AUTOMAKE_SITE = $(BR2_GNU_MIRROR)/automake
>
> -# variables used by other packages
> -ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
> -ACLOCAL = aclocal -I $(ACLOCAL_DIR)
> +ifeq ($(BR2_ENABLE_DEBUG),y) # install-exec doesn't install aclocal stuff
> +AUTOMAKE_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
> +endif
>
> -$(DL_DIR)/$(AUTOMAKE_SOURCE):
> -        $(call DOWNLOAD,$(AUTOMAKE_SITE),$(AUTOMAKE_SOURCE))
> +AUTOMAKE_DEPENDENCIES = uclibc autoconf microperl
>
> -automake-source: $(DL_DIR)/$(AUTOMAKE_SOURCE)
> +$(eval $(call AUTOTARGETS,package,automake))
>
> -$(AUTOMAKE_SRC_DIR)/.unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE)
> -       $(AUTOMAKE_CAT) $(DL_DIR)/$(AUTOMAKE_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
> -       $(CONFIG_UPDATE) $(AUTOMAKE_SRC_DIR)
> -       touch $@
> +# automake for the host
> +AUTOMAKE_HOST_DIR:=$(BUILD_DIR)/automake-$(AUTOMAKE_VERSION)-host
>
> -#############################################################
> -#
> -# automake for the target
> -#
> -#############################################################
> +# variables used by other packages
> +AUTOMAKE:=$(HOST_DIR)/usr/bin/automake
> +ACLOCAL_DIR = $(STAGING_DIR)/usr/share/aclocal
> +ACLOCAL = $(HOST_DIR)/usr/bin/aclocal -I $(ACLOCAL_DIR)
>
> -$(AUTOMAKE_DIR)/.configured: $(AUTOMAKE_SRC_DIR)/.unpacked $(AUTOCONF)
> -       mkdir -p $(AUTOMAKE_DIR)
> -       (cd $(AUTOMAKE_DIR); rm -rf config.cache; \
> -               $(TARGET_CONFIGURE_OPTS) \
> -               $(TARGET_CONFIGURE_ARGS) \
> -               WANT_AUTOCONF=2.5 \
> -               $(AUTOMAKE_SRC_DIR)/configure \
> -               --target=$(GNU_TARGET_NAME) \
> -               --host=$(GNU_TARGET_NAME) \
> -               --build=$(GNU_HOST_NAME) \
> -               --prefix=/usr \
> -               --exec-prefix=/usr \
> -               --bindir=/usr/bin \
> -               --sbindir=/usr/sbin \
> -               --libdir=/lib \
> -               --libexecdir=/usr/lib \
> -               --sysconfdir=/etc \
> -               --datadir=/usr/share \
> -               --localstatedir=/var \
> -               --mandir=/usr/share/man \
> -               --infodir=/usr/share/info \
> -               --includedir=/usr/include \
> -       )
> +$(STAMP_DIR)/host_automake_unpacked: $(DL_DIR)/$(AUTOMAKE_SOURCE)
> +       mkdir -p $(AUTOMAKE_HOST_DIR)
> +       $(INFLATE$(suffix $(AUTOMAKE_SOURCE))) $< | \
> +               $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(AUTOMAKE_HOST_DIR) $(TAR_OPTIONS) -
> +       toolchain/patch-kernel.sh $(AUTOMAKE_HOST_DIR) package/automake/ \*.patch
>        touch $@
>
> -$(AUTOMAKE_DIR)/$(AUTOMAKE_BINARY): $(AUTOMAKE_DIR)/.configured
> -       $(MAKE) -C $(AUTOMAKE_DIR)
> -       touch -c $@
> -
> -$(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY): $(AUTOMAKE_DIR)/$(AUTOMAKE_BINARY)
> -       $(MAKE) \
> -           prefix=$(TARGET_DIR)/usr \
> -           exec_prefix=$(TARGET_DIR)/usr \
> -           bindir=$(TARGET_DIR)/usr/bin \
> -           sbindir=$(TARGET_DIR)/usr/sbin \
> -           libexecdir=$(TARGET_DIR)/usr/lib \
> -           datadir=$(TARGET_DIR)/usr/share \
> -           sysconfdir=$(TARGET_DIR)/etc \
> -           localstatedir=$(TARGET_DIR)/var \
> -           libdir=$(TARGET_DIR)/usr/lib \
> -           infodir=$(TARGET_DIR)/usr/share/info \
> -           mandir=$(TARGET_DIR)/usr/share/man \
> -           includedir=$(TARGET_DIR)/usr/include \
> -           -C $(AUTOMAKE_DIR) install
> -ifneq ($(BR2_HAVE_INFOPAGES),y)
> -       rm -rf $(TARGET_DIR)/usr/share/info
> -endif
> -ifneq ($(BR2_HAVE_MANPAGES),y)
> -       rm -rf $(TARGET_DIR)/usr/share/man
> -endif
> -       rm -rf $(TARGET_DIR)/share/locale
> -       rm -rf $(TARGET_DIR)/usr/share/doc
> -       touch -c $@
> -
> -automake: uclibc autoconf $(TARGET_DIR)/$(AUTOMAKE_TARGET_BINARY)
> -
> -automake-clean:
> -       $(MAKE) DESTDIR=$(TARGET_DIR) -C $(AUTOMAKE_DIR) uninstall
> -       -$(MAKE) -C $(AUTOMAKE_DIR) clean
> -
> -automake-dirclean:
> -       rm -rf $(AUTOMAKE_DIR)
> -
> -#############################################################
> -#
> -# automake for the host
> -#
> -#############################################################
> -
> -$(AUTOMAKE_HOST_DIR)/.configured: $(AUTOMAKE_SRC_DIR)/.unpacked $(AUTOCONF)
> -       mkdir -p $(@D)
> -       (cd $(@D); rm -rf config.cache; \
> +$(STAMP_DIR)/host_automake_configured: $(STAMP_DIR)/host_automake_unpacked
> +       (cd $(AUTOMAKE_HOST_DIR); rm -rf config.cache; \
>                $(HOST_CONFIGURE_OPTS) \
>                CFLAGS="$(HOST_CFLAGS)" \
>                LDFLAGS="$(HOST_LDFLAGS)" \
> -               WANT_AUTOCONF=2.5 \
> -               $(AUTOMAKE_SRC_DIR)/configure \
> -               --prefix=$(STAGING_DIR)/usr \
> +               ./configure \
> +               --prefix="$(HOST_DIR)/usr" \
> +               --sysconfdir="$(HOST_DIR)/etc" \
> +               --disable-static \
>        )
>        touch $@
>
> -$(AUTOMAKE_HOST_DIR)/$(AUTOMAKE_BINARY): $(AUTOMAKE_HOST_DIR)/.configured
> -       $(MAKE) -C $(@D)
> -       touch -c $@
> +$(STAMP_DIR)/host_automake_compiled: $(STAMP_DIR)/host_automake_configured
> +       $(MAKE) -C $(AUTOMAKE_HOST_DIR)
> +       touch $@
>
> -$(AUTOMAKE): $(AUTOMAKE_HOST_DIR)/$(AUTOMAKE_BINARY)
> +$(STAMP_DIR)/host_automake_installed: $(STAMP_DIR)/host_automake_compiled
>        $(MAKE) -C $(AUTOMAKE_HOST_DIR) install
> +       touch $@
>
> -host-automake: host-autoconf host-libtool $(AUTOMAKE)
> +host-automake: $(STAMP_DIR)/host_automake_installed
>
>  host-automake-clean:
> -       $(MAKE) -C $(AUTOMAKE_HOST_DIR) uninstall
> +       rm -f $(addprefix $(STAMP_DIR)/host_automake_,unpacked configured compiled installed)
> +       -$(MAKE) -C $(AUTOMAKE_HOST_DIR) uninstall
>        -$(MAKE) -C $(AUTOMAKE_HOST_DIR) clean
>
>  host-automake-dirclean:
>        rm -rf $(AUTOMAKE_HOST_DIR)
> -
> -#############################################################
> -#
> -# Toplevel Makefile options
> -#
> -#############################################################
> -ifeq ($(BR2_PACKAGE_AUTOMAKE),y)
> -TARGETS+=automake
> -endif
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>


-- 
宍道 洋
hiroshi.shinji at gmail.com
http://d.hatena.ne.jp/hshinji/


More information about the buildroot mailing list