summaryrefslogtreecommitdiffstats
path: root/package/Makefile.in
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: prepare for more than two alternativesYann E. MORIN2010-03-311-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Lay down the path to add more than two toolchain kinds: - check the type of toolchain as: ifeq (toolchain_buildroot,y) blabla buildroot-specific else ifeq (toolchain_external,y) blabla external-specific endif - prefer using positive checks, a-la: ifeq (foo,y) instead of: ifneq (bar,y) (where foo and bar are mutually exclusive) - have the toolchain_buildroot case always appear first - gettext is handled differently, because we want to add an option only if not using the buildroot toolchain, hence we use ifneq. Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Acked-By: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package infrastructure: add PERLLIBThomas Petazzoni2010-02-231-3/+8
| | | | | | | Now that we build Perl modules in $(HOST_DIR), PERLLIB must be defined to $(HOST_DIR)/usr/lib/perl. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package infrastructure: add LD_LIBRARY_PATHThomas Petazzoni2010-02-231-1/+3
| | | | | | | | | During the compilation of target or host packages, host tools might be used, and in turn, they might use host libraries installed in $(HOST_DIR)/usr/lib. Therefore, we pass a LD_LIBRARY_PATH variable when building packages. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: fix unstripped binary installationLionel Landwerlin2010-01-281-1/+1
| | | | | Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add $(HOST_DIR)/usr/sbin to the PATHThomas Petazzoni2009-12-151-2/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Define TARGET_MAKE_ENV similarly to HOST_MAKE_ENVThomas Petazzoni2009-12-151-0/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Add generic package infrastructureThomas Petazzoni2009-12-151-0/+1
| | | | | | | | | | | | | | This new infrastructure allows to write simpler .mk files for packages not using the autotools as their build system, by factorizing many common steps (download, extract, patching), and will more easily allow Buildroot-wide changes in how the packages are handled. The main macro is called GENTARGETS and works similarly to the AUTOTARGETS macro that already exists for autotools-based packages. However, the set of variables to be defined before calling the macro is different. Refer to the documentation for details. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCEThomas Petazzoni2009-12-141-2/+2
| | | | | | The BR2_TOOLCHAIN_SOURCE option is removed in a future commit. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: get rid of redundant malloc related configure presetsPeter Korsgaard2009-12-061-14/+0
| | | | | | | Those are already in TARGET_CONFIGURE_ARGS. Also get rid of unused BR2_AC_CV_FUNC_MALLOC_0_NONNULL variable. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: fix 'true' invocation for BR2_STRIP_nonePeter Korsgaard2009-11-221-1/+1
| | | | | | | | Closes #701 Coreutils true doesn't understand a -Not_stripping argument. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/gcc: get rid of ancient 3.4.6 / 4.0.4 versionsPeter Korsgaard2009-10-291-4/+0
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* remove BR2_FPU_SUFFIXBernhard Reutner-Fischer2009-10-071-8/+2
| | | | | | | | hard/softfloat is just one of the many config options, and it only clutters the filenames. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* rename TOOL_BUILD_DIR to TOOLCHAIN_DIRMichael Roth2009-09-231-4/+4
| | | | | | | | To reflect the new output directory hierachy rename the Makefile variable TOOL_BUILD_DIR to TOOLCHAIN_DIR. Signed-off-by: Michael Roth <mroth@nessie.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: Use appropriate paths for host pkg-config.Will Newton2009-09-201-3/+6
| | | | | | | | | | | | PKG_CONFIG_PATH adds a path to the pkg-config search path, but this is not enough when we are building host tools - the host pkg-config default path is still used, and this will pick up .pc files in the staging_dir tree. PKG_CONFIG_LIBDIR overrides the pkg-config default path and ensures only host .pc files are found. This fixes a pango build failure when building for the host with cairo PNG support enabled. Signed-off-by: Will Newton <will.newton@gmail.com>
* Rename the output directoriesThomas Petazzoni2009-09-161-3/+2
| | | | | | | | | | | | | | | | | | | In the output directory, we now have - build/ where all the packages are built - images/ where the final kernel and rootfs images are stored - staging/ the staging directory (containing the development files and libraries compiled for the target) - target/ which contains the target root filesystem - host/ which contains all the host programs - stamps/ which contains the stamps files Therefore, the build_ARCH and toolchain_build_ARCH have been removed. People willing to use the same Buildroot sources to compile for different architectures are invited to use the O= command line option for out-of-tree compilation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove BR2_TOPDIR_PREFIX and BR2_TOPDIR_SUFFIXThomas Petazzoni2009-09-161-3/+3
| | | | | | The same effect can be done using out-of-tree build with O= Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* packages: use qstripThomas Petazzoni2009-09-051-16/+10
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/Makefile.in: use := for INSTALLPeter Korsgaard2009-08-261-1/+1
| | | | | | So it doesn't get reevaluated every time and for consistency with FLEX/BISON. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove --without-html-dir from DISABLE_DOCUMENTATIONThomas Petazzoni2009-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | In an attempt to disable the compilation and installation of documentation of gtk packages, a DISABLE_DOCUMENTATION variable containing --without-html-dir has been added to package/Makefile.in. This variable is used by package/Makefile.autotools.in so that --without-html-dir is in effect passed to all autotools-based packaging relying on the Makefile.autotools.in infrastructure. Unfortunately, --without-html-dir doesn't work. It leads libglib2 ./configure script to think that HTML_DIR is "no", which leads to the installation of the documentation in $(STAGING_DIR)no (yes, with the "no" suffix at the end). The issue is that --with-html-dir is not an enable/disable type of option, it's an option that only allows to pass a PATH for documentation installation. As we don't want the documentation to be installed in this odd $(STAGING_DIR)no directory, we simply get rid of this option. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* makefile: don't hardcore install utility locationThomas Petazzoni2009-07-311-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* makefile: remove unused AUTO_CONFIGURE_OPTS variableThomas Petazzoni2009-07-301-10/+0
| | | | | | | | The AUTO_CONFIGURE_OPTS is not used anywhere in the tree. autoconf based packages should used the Makefile.autotools.in machinery instead. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Merge branch 'xorg' of git://git.busybox.net/~tpetazzoni/git/buildrootPeter Korsgaard2009-07-251-15/+0
|\
| * xorg: remove the XSERVER variableThomas Petazzoni2009-07-241-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The XSERVER variable used to be defined by package/Makefile.in because the X server package name was different depending on the type of X server that was choosen. Nowadays, the name of the package is always xserver_xorg-server, so there's no point in having this XSERVER intermediate variable. This patch makes all packages use xserver_xorg-server directly as a dependency, and removes the XSERVER variable from package/Makefile.in. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * xorg: remove references to non-existing configuration optionsThomas Petazzoni2009-07-241-9/+0
| | | | | | | | | | | | | | | | The option BR2_PACKAGE_TINY, BR2_PACKAGE_XORG and BR2_PACKAGE_XGGI don't exist, so do not use them to find the value of the $(XSERVER) variable. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | package/Makefile.in: xtensa host supportMaxim Grigoriev2009-07-241-0/+1
| | | | | | | | | | | | | | Part of #163. Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | external toolchain: add $(HOST_DIR)/bin to TARGET_PATHThomas Petazzoni2009-07-171-1/+1
|/ | | | | | | | | | | | | | Since the move of many host binaries to $(HOST_DIR), the TARGET_PATH for internal toolchain had been changed to include $(HOST_DIR)/bin and $(HOST_DIR)/usr/bin, but this change was not reflected to the TARGET_PATH used in external toolchain configuration. This patches fixes this. We also remove $(STAGING_DIR)/bin and $(STAGING_DIR)/usr/bin from the TARGET_PATH in external toolchain configuration, since the STAGING_DIR is not supposed to contain host binaries. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: set CXX to false rather than "" if no C++ support is enabledPeter Korsgaard2009-05-041-1/+1
| | | | | | | | | Some configure scripts seems to ignore CXX settings if it is set to the empty string, and goes back to the default (<arch>-linux-g++), so use false instead, as that will loudly break the build if the C++ compiler is ever used. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Another external toolchain fixThomas Petazzoni2009-03-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | Change the definition of TARGET_LDFLAGS to use --sysroot $(STAGING_DIR) instead of -L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib. It fixes the following failure while trying to build mtd-utils : /usr/local/xtools/arm-unknown-linux-uclibcgnueabi/bin/arm-unknown-linux-uclibcgnueabi-gcc -L/home/thomas/local/buildroot-output/build_arm/staging_dir/lib -L/home/thomas/local/buildroot-output/build_arm/staging_dir/usr/lib -o /home/thomas/local/buildroot-output/build_arm/mtd_orig/flash_eraseall /home/thomas/local/buildroot-output/build_arm/mtd_orig/crc32.o /home/thomas/local/buildroot-output/build_arm/mtd_orig/flash_eraseall.o /usr/local/xtools/arm-unknown-linux-uclibcgnueabi/lib/gcc/arm-unknown-linux-uclibcgnueabi/4.3.2/../../../../arm-unknown-linux-uclibcgnueabi/bin/ld: cannot find /lib/libc.so.0 collect2: ld returned 1 exit status make[1]: *** [/home/thomas/local/buildroot-output/build_arm/mtd_orig/flash_eraseall] Error 1 At the same time, simplify the definition of TARGET_CFLAGS, because the -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include -I$(TOOLCHAIN_EXTERNAL_PATH)/$(TOOLCHAIN_EXTERNAL_PREFIX)/include are no longer necessary since we sysroot the toolchain in $(SYSROOT_DIR). This patch has no effect on non-external toolchain builds. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: add STAMP_DIR and use for host buildsPeter Korsgaard2009-03-191-2/+2
| | | | | | | | | | | | | | Move stamp (dependency) files outside the (version specific) source directories, so other packages can hardcode dependencies on them instead of having to use <PACKAGE>_VERSION variables. This is important as the variables in the make rules are evaluated when the rules is seen, which might be before the dependent makefile is parsed (and hence <PACKAGE>_VERSION variable is known, screwing up stuff. The downside of this is that the package isn't automatically rebuilt when the version changes (E.G. by a svn update) and you now also have to remove the stamp files next to $(BUILD_DIR)/<PACKAGE>-* to force a rebuild.
* pkg-config: rename pkgconfig to pkg-configPeter Korsgaard2009-03-191-2/+2
| | | | | | This matches upstream tarball, doesn't screw up existing .config's with BR2_PACKAGE_PKGCONFIG and makes sure the patch gets applied for target compilation.
* pkgconfig: install into HOST_DIRPeter Korsgaard2009-03-181-2/+2
|
* package: add HOST_DIR to target pathPeter Korsgaard2009-03-171-1/+1
|
* package: fix host pathPeter Korsgaard2009-03-171-2/+4
| | | | And generate dbus introspect xml for dbus-glib.
* package/Makefile.in: search $(HOST_DIR) for host includes / librariesPeter Korsgaard2009-03-161-0/+5
|
* Makefile: introduce $(HOST_DIR) for host binariesPeter Korsgaard2009-03-161-1/+3
| | | | | Add HOST_DIR directory handling. HOST_DIR should be used just like STAGING_DIR, but for host files instead of target ones.
* mpg123: remove arm funroll-loops workaroundPeter Korsgaard2009-02-051-8/+0
| | | | Fixed by toolchain patch.
* Do not overwrite user configurationUlf Samuelsson2009-02-011-5/+5
|
* Make toolchain configration to fix mpg123 global and move to MakefileUlf Samuelsson2009-01-241-0/+8
|
* toolchain: introduce HOSTCC_VERSION and fix gcc-4.3.x build with old host CCsPeter Korsgaard2009-01-191-0/+4
| | | | | | | | gcc < 4.2.0 doesn't support -Wno-overlength-stings, but gcc-4.3.x configure fails to detect that, breaking the build. Work around it by detecting the host gcc version (and store in HOSTCC_VERSION) and set the proper configure variables for gcc < 4.2.0.
* The liboil Makefile will use "-mcpu=vfp" when building for ARM.Ulf Samuelsson2009-01-181-0/+4
| | | | | | | | | | | | | | | The VFP is only available for a few ARM CPUs at the moment, so this breaks the liboil build. A patch is available upstream which only enables "-mfpu=vfp" if "--enable-vfp" is given to "configure". Autotools needs to be run for liboil for this to take effect. A new configuration BR2_VFP_FLOAT is added to allow enabling vfp. If this is "yes", then "-mfpu=vfp" is added to CFLAGS.
* Easier with one place for configure options for disabling gtk-docThomas Lundquist2009-01-171-0/+4
|
* buildroot: get rid of s390 supportPeter Korsgaard2009-01-121-3/+0
| | | | | As discussed on the list. It isn't supported by uclibc, so I strongly doubt anyone has been using it.
* buildroot: set SHELL instead of messing around with CONFIG_SHELLPeter Korsgaard2009-01-011-3/+3
| | | | | 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.
* Fix TARGET_PATH for external toolchain buildsThomas Petazzoni2008-12-151-1/+1
| | | | | | | | | | TARGET_PATH didn't contain $(STAGING_DIR)/usr/bin, which means that programs installed in $(STAGING_DIR)/usr/bin were not considered for execution during Buildroot build process. This was a problem with host automake/autoconf/libtool, which could not be found. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Another external toolchain support solutionThomas Petazzoni2008-12-131-3/+1
| | | | | | | | | | | | | | | | | | | | * In toolchain/external-toolchain/ext-tool.mk, copy the contents of the sysroot directory to the staging dir. * In package/Makefile.in, add a --sysroot CFLAGS pointing to the staging dir * Remove the CFLAGS and LDFLAGS definition from TARGET_CONFIGURE_OPTS. I haven't investigated exactly why, but with these options, DirectFB fails to build because it cannot find PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, even if DirectFB's Makefile properly sets -D_GNU_SOURCE. I have already sent this patch on December, 2nd to the mailing-list, but got no feedback. So let's commit and see what happens :-) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/: get rid of unneeded $(strip ..)Peter Korsgaard2008-12-081-4/+4
|
* Adding Central config.cache optionsDaniel Laird2008-11-281-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Revert r24000: "Fix external toolchain build"Peter Korsgaard2008-11-211-10/+4
| | | | | This breaks builds with internal toolchain, so let's revert this until we find a proper solution.
* Fix external toolchain buildThomas Petazzoni2008-11-111-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is a new version of a patch already sent several times on the mailing-list, committed and reverted a few times by Daniel Laird, due to several imperfections. This version is a new try at finding a solution that works for everybody. Hopefully it'll work :-) The original problem is that external toolchain builds failed because packages couldn't find their dependent libraries at configure time and could not be linked with them. To fix these two problems, two things are added: * The TARGET_LDFLAGS variable was exposed as LDFLAGS at ./configure time thanks to TARGET_CONFIGURE_OPTS. The TARGET_LDFLAGS variable contains -L options with the path in the STAGING_DIR for the libraries. It allows ./configure scripts to properly compile the small test programs testing whether a dependency is properly installed. * The TARGET_CFLAGS contains a new -Wl,--rpath-link option for both $(STAGING_DIR)/lib and $(STAGING_DIR)/usr/lib. It allows library depending on other libraries to link properly. The TARGET_CFLAGS is exposed as CFLAGS in TARGET_CONFIGURE_OPTS. This new version fixes a problem encountered by hartleys <hartleys@visionengravers.com> when building the kernel. The problem was that the -Wl,--rpath-link options were added to LDFLAGS, while there are options for the C compiler, not the ld linker. Moving them to CFLAGS seems to fix the issue. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/Makefile.in: revert rpath setup for toolchains.Daniel Laird2008-11-071-4/+3
| | | | | | | | | | Revert the rpath patch, it looked good up until someone tried to build a kernel as well. This seems to break as a result. Will post a new patch soon and see how that goes.. Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>