summaryrefslogtreecommitdiff
path: root/package/Makefile.autotools.in
AgeCommit message (Collapse)Author
2012-02-02pkg-infra: improve reliability of foo-installArnout Vandecappelle (Essensium/Mind)
Running foo-uninstall has a high likelyhood of failing, because we remove a lot of directories from the target. To improve the reliability, remove the stamp files before calling the uninstall commands, and add the -k option to the sub-make. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22pkg-infra: fix missing 3993 for AUTOTARGET's SUBDIRArnout Vandecappelle (Essensium/Mind)
Ensure <pkg>_SUBDIR gets resolved late, so that E.G. the default values for host packages are taken into consideration. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-18Only derrive HOST_FOO_DEPENDENCIES from FOO_DEPENDENCIES if not set, not ↵Peter Korsgaard
nonempty In make, ifndef VAR means if 'VAR is not set to the empty string', and NOT 'VAR is not defined', which meant that you couldn't specify empty FOO_HOST_DEPENDENCIES. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-17package: derive HOST_FOO_DEPENDENCIES from FOO_DEPENDENCIESArnout Vandecappelle (Essensium/Mind)
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-02autotools: add escaping when using HOST_MAKE_ENV and TARGET_MAKE_ENVThomas Petazzoni
Without this escaping, the evaluation of HOST_MAKE_ENV and TARGET_MAKE_ENV is done when the AUTOTARGETS_INNER macro is defined, not when it is instantiated by the various packages. The result is that the $(PKG_CONFIG_HOST_BINARY) variable, used in $(HOST_MAKE_ENV) gets expanded before it is defined. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29package: remove useless arguments from AUTOTARGETSThomas Petazzoni
Thanks to the pkgparentdir and pkgname functions, we can rewrite the AUTOTARGETS macro in a way that avoids the need for each package to repeat its name and the directory in which it is present. [Peter: pkgdir->pkgparentdir] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17Makefile.autotools.in: fix autoreconf libtool patching after libtool movePeter Korsgaard
Commit 20f8a7dec6fc (support: move libtool patches in support/libtool) missed the autoreconf variant of the libtool patching, breaking the build for packages needing both autoreconf and libtool patching. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move package/gnuconfig to support/gnuconfigThomas Petazzoni
The CONFIG_UPDATE macro is no longer defined in package/gnuconfig/gnuconfig.mk, but instead in package/Makefile.autotools.in. It it also changed a little bit to take the directory of the package sources as argument, and the AUTOTARGETS infrastructure is updated to use this macro. [Peter: drop echo in CONFIG_UPDATE] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move patch-kernel.sh and rename itThomas Petazzoni
The name "patch-kernel.sh" is a bit stupid, since this script is used to patch everything in Buildroot, not only kernel trees. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17support: move libtool patches in support/libtoolThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-12Makefile: auto-target automatically pass --program-prefix=""Yann E. MORIN
When cross-compiled, some packages incorrectly prefix their executables with the target tuple. Fix that by forcing the program prefix to the empty string when calling ./configure, but only when compiling for target, not for host. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-12package/autotools: add --{enable,disable}-{shared,static} automaticallyThomas Petazzoni
For target packages, depending on BR2_PREFER_STATIC_LIB, add the correct combination of --{enable,disable}-{shared,static} flags to ./configure calls. * When BR2_PREFER_STATIC_LIB is enabled, we pass --enable-static --disable-shared. * When BR2_PREFER_STATIC_LIB is disabled, we pass --enable-static --enable-shared. We enable static libraries since they can still be useful to statically link applications against some libraries (sometimes it is useful for size reasons). Static libraries are anyway only installed in the STAGING_DIR, so it doesn't increase in any way the size of the TARGET_DIR. For host packages, always pass --enable-shared and --disable-static. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-17Makefile.autotools.in: default to same <pkg>_MAKE setting for host and targetPeter Korsgaard
Similar to how it is done for _SOURCE, _PATCH, _SITE and _SUBDIR. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-03Makefile.autotools.in: add libtool 2.4 support for autoreconf case as wellPeter Korsgaard
Was missing from f055b266 (Makefile.autotools.in: add libtool v2.4 support). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-28Makefile.autotools.in: add libtool v2.4 supportPeter Korsgaard
Packages (like avahi) are now using libtool 2.4, so extend the libtool handling to support those as well. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-25autotools: allow host package to use <pkg>_MAKE_ENV and <pkg>_MAKEThomas Petazzoni
This will be needed by the Python interpreter package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-12-13package: pass TARGET_MAKE_ENV at install/clean/uninstall stepsThomas Petazzoni
TARGET_MAKE_ENV contains the PATH to the host tools built in $(HOST_DIR), and not having this directory in the PATH while installing packages may cause troubles. The specific example that trigerred the problem is the following one. libglib2 ./configure tries to find a awk version, either gawk or mawk. On my limited testing system, only mawk is available, so normally, libglib2 detects mawk and uses it, and it works perfectly. However, when host-gawk has been compiled before libglib2 (which happens for example if you have used the Crosstool-NG backend), gawk is well detected in $(HOST_DIR)/usr/bin at ./configure time ($(HOST_DIR)/usr/bin is in the PATH at ./configure time, thanks to TARGET_MAKE_ENV). But at install time, when libglib2 uses gawk, it doesn't find it anymore because it is not in the PATH. This also makes things coherent with host installation, in which $(HOST_MAKE_ENV) was already used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-05Remove support for shared configuration cacheThomas Petazzoni
The configuration cache shared between packages, while being in principle a nice idea to speed-up the configuration of packages by avoiding repetitive identical checks, turned out to be unreliable due to the subtle differences between similar but not identical checks in different packages. After spending some time trying to fix those, we concluded that supporting the shared configuration cache is definitely too hard and too unreliable, and that we'd better get rid of it altogether. This patch therefore removes the shared configuration cache infrastructure and usage. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-05package: move autoreconfigure step to pre configure hookLionel Landwerlin
[Peter: update documentation to match] Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-05autotools: fix MESSAGE callsLionel Landwerlin
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-14Added the ability to patch ltmain.sh based on versionMartin Banky
There are two versions of ltmain.sh in use in the buildroot system, 1.5.x and 2.2.x. buildroot-libtool.patch would only patch 1.5.x, which meant that for 2.2.x, a separate patch for the affected package had to be maintained. Modified Makefile.autotools.in to check the version of ltmain.sh and apply the correct patch. Signed-off-by: Martin Banky <Martin.Banky@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-09-27autotargets: don't use install-stripThomas Petazzoni
Many packages using the AUTOTARGETS infrastructure do not support the install-strip target. Moreover, we are already stripping all binary files in the $(TARGET_DIR) anyway, so using install-strip is a bit useless. So, we use "make install" in all cases, and let Buildroot do the stripping of the binaries if BR2_ENABLE_DEBUG is not set. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07Merge TARGET_CONFIGURE_ENV into TARGET_CONFIGURE_OPTSThomas Petazzoni
TARGET_CONFIGURE_ENV defines CFLAGS, LDFLAGS, CXXFLAGS and FCFLAGS, separatly from all other variables that are part of TARGET_CONFIGURE_OPTS. This is useless and not consistent with the HOST_CONFIGURE_ variables, therefore we merge TARGET_CONFIGURE_ENV into TARGET_CONFIGURE_OPTS and fix the few users of TARGET_CONFIGURE_ENV. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07Introduce support for host config cacheThomas Petazzoni
We now have for quite some time a configuration cache used to speed-up the execution of ./configure scripts when compiling programs for the target. This commit introduces a similar concept when Buildroot compiles programs for the host. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-05-03Fix autotools configuration cache handlingThomas Petazzoni
It got broken by the introduction of the new autotools infrastructure based on the generic infrastructure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02autotools: fix referencing to LIBTOOL_PATCH variableThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02autotools: inherit LIBTOOL_PATCH for host packagesThomas Petazzoni
When FOO_LIBTOOL_PATCH is defined, assume that the same value should be used for HOST_FOO_LIBTOOL_PATCH. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02autotools: fix autoreconf checkThomas Petazzoni
The autoreconf check was incorrect, missing a $ sign to properly reference a package-specific variable. There was no visible effect until now since : * The existing syntax allowed to access the value defined in the package specific .mk file, so when AUTORECONF was set to YES by a package, it was working. * The default value in Makefile.autotools.in was NO. In fact, when a package .mkf file wasn't defining the AUTORECONF variable, the Makefile.autotools.in test was testing the empty string against 'YES', which was false, leading to the AUTORECONF not being done, which was the desired effect. However, in a later patch, we intend to change this default value. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02package: Force copy of .la files at the post install hook (readonly files ↵Lionel Landwerlin
might be problematic) Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02package: add PKG_CONF_ENV variables to host packagesLionel Landwerlin
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-11Update config.{guess,sub} unconditionallyThomas Petazzoni
Remove the BR2_UPDATE_CONFIG option which allowed to globally enable/disable the replacement of config.{guess,sub} for autotools-based packages. Doing it unconditionnally just works. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-03-30Fix autotools instalation with symbolsPaulius Zaleckas
Closes #1447 When installing without symbols install-strip is used, with symbols - install-exec. Since install-exec installs only executables, we should use simple install, to install other needed files also (like files in /usr/shared) as install-strip does. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> Acked-by: Lionel Landwerlin <llandwerlin@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-01-18Makefile.autotools.in: fixup .la files in all lib dirsPeter Korsgaard
Sometimes usr/lib32 or usr/lib64 is used instead of usr/lib, so search those for .la files as well. Fixes .la fixup for beecrypt on x86-64. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-30Makefile.autotools.in: fix libtool patchingPeter Korsgaard
Fixes two issues with libtool patching: - It seems like the default value for <package>_LIBTOOL_PATCH only gets set AFTER the ifdef check, so the conditional was never taken. Fix it by instead checking that it isn't explicitly set to not do the patching instead. - The $i in the libtool patching for loop needed an extra level of escaping to work. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-12-15Rework autotools infrastructure on top of the generic infrastructureThomas Petazzoni
Now that the previous commit implemented a generic package infrastructure, we make the autotools infrastructure inherit from the generic one so that the code is not duplicated. The new AUTOTARGETS macro works by defining what should be done at the configure, build and install steps of a package and then calls the GENTARGETS macro of the generic package infrastructure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-10-07honour DISABLE_IPV6Bernhard Reutner-Fischer
pass --disable-ipv6 to autoconfig packages if IPv6 support is turned off Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-05Prevent libtool patching before autoreconf when autoreconf is requiredLionel Landwerlin
Signed-off-by: Lionel Landwerlin <lionel.landwerlin@openwide.fr> Tested-By: Sven Neumann <s.neumann@raumfeld.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-20package/Makefile.autotools.in: Add $(PKG)_AUTORECONF_OPT variable.Will Newton
Allow options to be passed to the autoreconf script if necessary. Signed-off-by: Will Newton <will.newton@gmail.com>
2009-09-16Remove the "project" featureThomas Petazzoni
The "project" feature was designed to allow to several projects to be built inside the same Buildroot source tree and allowing the toolchain and non-configurable packages to be shared between the different projects on the same architecture. While being interesting in theory, this feature adds a level of complexity to Buildroot, both from an user perspective and from a developer perspective, while one of the main Buildroot strengh is to be simple. Moreover, this feature is only seldomly used by our users. From a user-level perspective, this for example allows to remove the project_build_ARCH directory, which was very confusing. The autotools-stamps directory is also removed, since these stamps are back at their normal location. Description of the changes involved : * project/, directory removed * Makefile - Don't include project/Makefile.in and project/project.mk anymore - Grab a copy of the contents of project/Makefile.in at the location it was imported, but remove the definition related to PROJECT_BUILD_DIR. The TARGET_DIR is now in $(BUILD_DIR)/target_dir - Remove the creation/removal of the $(PROJECT_BUILD_DIR) and $(PROJECT_BUILD_DIR)/autotools-stamps directories - Don't make world depends on target-host-info. This target was defined by project/project.mk to customize /etc/issue, /etc/hostname and create /etc/br-version depending on the project definitions. We can of course imagine re-adding such a feature later. - Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere - Remove the update, log and lognr.$(PROJECT) target, they were specific to the project feature. * package/Makefile.autotools.in - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the configure cache - Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same directory as the other stamps (i.e, in the package directory). * package/Makefile.in - Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the configure cache * package/at/at.mk, package/busybox/busybox.mk, package/busybox/initramfs.mk, package/customize/customize.mk, package/linux-fusion/linux-fusion.mk, package/ltp-testsuite/ltp-testsuite.mk, package/nfs-utils/nfs-utils.mk, target/cpio/cpioroot.mk, target/cramfs/cramfs.mk, target/device/Atmel/DataFlashBoot/DataflashBoot.mk, target/device/Atmel/Makefile.in, target/device/Atmel/at91bootstrap/at91bootstrap.mk, target/device/KwikByte/Makefile.in, target/ext2/ext2root.mk, target/initramfs/initramfs.mk, target/iso9660/iso9660.mk, target/jffs2/jffs2root.mk, target/linux/Makefile.in, target/romfs/romfs.mk, target/squashfs/squashfsroot.mk, target/tar/tarroot.mk, target/ubifs/ubifsroot.mk - Replace PROJECT_BUILD_DIR by BUILD_DIR * target/device/Config.in - Do not include project/Config.in anymore * target/linux/Makefile.in.advanced - Replace PROJECT_BUILD_DIR by BUILD_DIR - Store the stamps file in $(STAMP_DIR) instead of $(PROJECT_BUILD_DIR)/autotools-stamps * target/u-boot/Makefile.in - Replace PROJECT_BUILD_DIR by BUILD_DIR - Remove $(PROJECT) from the U-Boot target binary name - Remove the insertion in the configuration of the project name as the hostname - The u-boot-autoscript target now generates $(U_BOOT_AUTOSCRIPT).img instead of $(U_BOOT_AUTOSCRIPT).$(PROJECT) * toolchain/gcc/gcc-uclibc-3.x.mk toolchain/gcc/gcc-uclibc-4.x.mk - Move the stamps files to $(STAMP_DIR) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05packages: use qstripThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-05-03Makefile.autotools.in: fix minimal foo.mk exampleMarkus Heidelberg
The directory argument was introduced to support packages in subdirectories of package/ several months ago. Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-03-17Makefile.autotools.in: use TARGET_PATH for compile stepPeter Korsgaard
This ensures that the correct build tools are found rather than the host versions (glib-genmarshal, ..)
2009-01-28Makefile.autotools.in: add FOO_MAKE for packages needing to use $(MAKE1)Peter Korsgaard
As requested on irc.
2009-01-18Finish the gtk-doc stuff and start on the smae thing with LARGEFILE and NLS.Thomas Lundquist
2009-01-17Easier with one place for configure options for disabling gtk-docThomas Lundquist
2009-01-16DOWNLOAD: don't use := assignment for function implementationPeter Korsgaard
:= causes the function parameters to get evaluated at definition time instead of implementation time, which is kind of silly for a function. Fixes make source-check / external-deps
2009-01-16buildroot: add BR2_BACKUP_SITE and DOWNLOAD helperPeter Korsgaard
This is the long requested backup mirror support. So far only enabled for Makefile.autotools.in, but there's no reason why we cannot use DOWNLOAD everywhere. Notice, I'm still syncing http://buildroot.uclibc.org/downloads/sources/
2009-01-01buildroot: set SHELL instead of messing around with CONFIG_SHELLPeter Korsgaard
Simply set SHELL to bash instead of adding CONFIG_SHELL to all shell invocations. CONFIG_SHELL is still set, as it is used by kconfig.
2008-12-08package/: get rid of unneeded $(strip ..)Peter Korsgaard
2008-11-28Adding Central config.cache optionsDaniel Laird
The following changes allow for use of a central configure cache file. This speeds up configuration of packages. Its use is configurable at the top level (BR2_CONFIG_CACHE - default n). Old style makefiles can use it if they use the following MACRO in makefiles: $(AUTO_CONFIGURE_TARGET) see my change to directfb.mk. New style Autotools.in will use it if you set the global option. However you can enable the global option and on a per package overrule it by doing the following: $(PKGNAME)_USE_CONFIG_CACHE = NO see fontconfig.mk for an example of this. Finally I have removed a few config variable settings which indicated no CXX compiler as this is wrong and breaks the build when using this central cache. Config.in | 8 ++++++++ package/Makefile.autotools.in | 5 ++++- package/Makefile.in | 28 +++++++++++++++++++++++++++- package/atk/atk.mk | 2 +- package/directfb/directfb.mk | 7 +------ package/fontconfig/fontconfig.mk | 3 +++ package/libglib2/libglib2.mk | 2 +- package/libgtk2/libgtk2.mk | 1 - 8 files changed, 45 insertions(+), 11 deletions(-) I would appreciate feedback on this change (I have been testing for 2-3 weeks) But I can never test all cases! If you enable the BR2_CONFIG_CACHE option some Makefile.autotools.in based packages may now break - I cannot build them all. In this case you may need to remove config options that are being hardcoded all over the place (like gtk saying we have 2 CXX compiler) or disable the use of CONFIG CACHE file like I have done in fontconfig. I can build all packages required to get WebKit on DirectFB up and running and it runs fine. I will try to resolve any issues this creates as fast as I can. Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>