summaryrefslogtreecommitdiffstats
path: root/package/Makefile.in
Commit message (Collapse)AuthorAgeFilesLines
* Introduce BR2_TOOLCHAIN_USES_{UCLIBC, GLIBC}Thomas Petazzoni2013-07-041-1/+1
| | | | | | | | | | | | | | | | | Currently, when we need to do a conditional on the type of C library used, we need to take into account the three toolchain backends. As we are going to add eglibc support to the Buildroot toolchain backend, it would become even uglier, so this patch introduces two new hidden options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that exist regardless of the toolchain backend. The entire Buildroot code base is converted to use those options. Note that we have intentionally created only one option (BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are essentially the same, as far as Buildroot is concerned. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Normalize separator size to 80 in remaining makefilesAlexandre Belloni2013-06-201-2/+2
| | | | | Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package-infra: limit the number of // jobsYann E. MORIN2013-05-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The current code spawns as many jobs as up to twice the number of CPUs. On small-class machines like laptops, with a limitted amount of memory, but still a few CPUs (real or hyperthreads), the HDD becomes a bottleneck, and it becomes almost impossible to do anythiong else while there is a build in progress. Limit the number of jobs to the number of CPUs plus one. Even on fast machines with fast HDDs, this settings keeps the machine fully busy (for those packages that can build in parallel, of course). For example, building qemu or the linux kernel kept my hyperthreaded hexa Core i7 with 18GiB of RAM, busy at 99% (I never ever managed to get 100% even with more jobs, not even 200); while on my hyperthreaded dual Core i5 with only 4GiB and a slow HDD, I still topped at 100% CPU, while still able to do some work involving the HDD. If the number of processors is not available, assume one. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Nathan Lynch <ntl@pobox.com> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: Introduce package-specific BINFMT_FLAT options.Sonic Zhang2013-05-051-0/+4
| | | | | | | | Add new option <PKG>_FLAT_STACKSIZE. The document needs to be updated. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* arch: toolchain: Introduce binary format FLAT types.Sonic Zhang2013-05-051-0/+11
| | | | | | | | | Just introduce the symbol and options in arch generic Config.in. Add FLAT types specific compiling flags into package makefile. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Make external toolchain relocatableArnout Vandecappelle2013-02-051-1/+2
| | | | | | | | | | | | | | | | | | | | | | The external toolchain wrapper sets sysroot etc. to an absolute path. By changing this to a relative path, it is possible to move the host directory to a different location and still have a working build system. This only works for a downloaded external toolchain. For a pre-installed external toolchain, it is possible to move the host directory to a different location, but not the external toolchain directory (it does work if the external toolchain directory lies within the host directory). For an internal or crosstool-ng toolchain, there is no wrapper so updating the sysroot path should be done in a different way. See http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html for information about others things to do to make the host directory relocatable. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Pass --static rather than -static in LDFLAGS when BR2_PREFER_STATIC_LIBANDY KENNEDY2013-01-141-1/+1
| | | | | | | | | | | | | | | | The following changes LDFLAGS from -static to --static if building with BR2_PREFER_STATIC_LIB so that various components actually build statically. Libtool interpret -static as linking statically with libraries that will not be installed to the libdir; you have to pass it -all-static to force static linking. Or, pass --static, which libtool passes on blindly to gcc. gcc and (GNU) ld both interpret --static the same as -static (although this isn't documented). Signed-off-by: Andy Kennedy <andy.kennedy@adtran.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: pass --disable-doc if documentation is not enabledArnout Vandecappelle2012-12-121-1/+9
| | | | | | | | | | | | | | | | Many configure scripts support an option like --disable-doc, --disable-docs or --disable-documentation. Pass all of these to configure. In addition, not all Xorg packages accept the --disable-xxx. Instead they look for xmlto and/or fop and build documentation if they exist. For host packages, this may lead to build errors because /usr/bin/xmlto uses libxml2 and we set LD_LIBRARY_PATH to point to $(HOST_DIR)/lib, which may contain a libxml2 as well. So it's essential to disable xmlto for host packages. Also some whitespace cleanup. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* xtensa: add -mlongcalls to CFLAGS for xtensaChris Zankel2012-12-101-0/+9
| | | | | | | | | | | The longcalls option allows calls across a greater range of addresses. This option may degrade both code size and performance, but the linker can generally optimize away the unnecessary overhead when a call ends up within range Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: fix thread libraries strippingRichard Braun2012-11-301-0/+2
| | | | | | | | | | | Strip libthread_db the same as any other library, but strip libpthread with --strip-debug. See the relevant mailing list discussion [1] for additional details. [1] http://lists.busybox.net/pipermail/buildroot/2012-October/060126.html Signed-off-by: Richard Braun <rbraun@sceen.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* legacy: move old GENTARGETS macros to Makefile.legacyArnout Vandecappelle (Essensium/Mind)2012-11-301-6/+0
| | | | | Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* TARGET_CONFIGURE_OPTS: pass READELFMaxime Ripard2012-11-071-0/+2
| | | | | | | | | Give the path to the realdelf binary for the target, similar to how we do for the other tools. [Peter: reworded] Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package infra: remove empty TARGET_CPPFLAGS defGustavo Zacarias2012-10-131-2/+0
| | | | | | | | | | It's unneeded, just fills the next match (LARGEFILE) with a leading space. Fixes http://autobuild.buildroot.net/results/ad5772d19036a0c5564228ac7aba953d35a3cf85/build-end.log since SCons can't handle leading whitespace in LDFLAGS gracefully. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: whitespace fixup after CPPFLAGS additionPeter Korsgaard2012-10-111-3/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.in: add CPPFLAGS supportSamuel Martin2012-10-101-6/+12
| | | | | | Signed-off-by: Samuel Martin <s.martin49@gmail.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: make sure cross compiling is enabled when host == targetArnout Vandecappelle2012-10-041-1/+1
| | | | | | | | | | | | | | | | When compiling for the same architecture and libc as the host, GNU_TARGET_NAME and GNU_HOST_NAME are equal. configure scripts use these to detect cross-compilation, and will decide that we're doing native compilation. This may trigger running of executables, which fail because of missing libraries in the host environment. To solve this, set the vendor part in GNU_TARGET_NAME to buildroot. This problem exists for instance in xserver_xorg-server on x86_64. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-infra: warn about use of deprecated GENTARGETSArnout Vandecappelle2012-09-051-0/+6
| | | | | | | | | | With the replacement of GENTARGETS by package-generic, there is a risk that local packages don't work anymore without any indication of what is wrong. Therefore, generate an error message if the GENTARGETS, AUTOTARGETS or CMAKETARGETS macro is still used. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* mips64: remove toolchain kludgeGustavo Zacarias2012-09-041-4/+0
| | | | | | | | | | | -mno-abicalls is an old kludge for some (probably) old issue. Remove it since it's actually harmful, static busybox doesn't build with it for a modern-ish toolchain (defaults as of this commit, uClibc 0.9.33.2 + gcc 4.5.4). Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Clarify MIPS ABIs supportThomas Petazzoni2012-09-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Practically speaking, MIPS has three useful ABIs: * o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset of the instruction set. * n32 is for 64-bits CPUs only. It has 32-bits pointers and long integers. * n64 is for 64-bits CPUs only. It has 64-bits pointers and long integers. See http://www.linux-mips.org/wiki/MIPS_ABI_History and http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more details. So, this commit reworks the Buildroot MIPS support by: * Add separate mips64/mips64el top-level architectures. * Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency with BR2_MIPS_OABI32. * Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency with BR2_MIPS_OABI32. * Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64, since those ABIs are valid on 64-bits CPUs only. * Removing the o64 ABI, which is practicaly never used. * Removing the "none" ABI, which really doesn't make sense. * Introduce the mips64 and mips64el architecture names when a 64-bits MIPS ABI is choosen. This will fix build issue like http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log where gmp was confused by the fact of having a 32 bits architecture (detected by the mips- architecture part of the tuple) but 64 bits integer size when compiling. * Adjust the uclibc.mk logic to support the new mips64/mips64el architecture names, and take into account the renaming of the ABI options. This has been build tested by generating Buildroot toolchains and compiling a few packages for MIPS o32, MIPS n32 and MIPS n64. This work is originally based on prior work done by Gustavo Zacarias. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Clean up naming of old GENTARGETS infrastructureArnout Vandecappelle (Essensium/Mind)2012-07-171-3/+3
| | | | | | | | | | | | | | | | | | | | With the renaming of XXXTARGETS to xxx-package, the names of the pkg-xxx.mk files is inconsistent, as well as some internal names in the documentation. These inconsistencies are cleaned up here. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> ...kages-autotargets.txt => adding-packages-autotools.txt} | 4 ++-- ...packages-cmaketargets.txt => adding-packages-cmake.txt} | 4 ++-- docs/manual/adding-packages-directory.txt | 12 ++++++------ ...packages-gentargets.txt => adding-packages-generic.txt} | 4 ++-- docs/manual/adding-packages.txt | 6 +++--- package/Makefile.in | 6 +++--- package/{pkg-autotargets.mk => pkg-autotools.mk} | 0 package/{pkg-cmaketargets.mk => pkg-cmake.mk} | 0 package/{pkg-gentargets.mk => pkg-generic.mk} | 0 9 files changed, 18 insertions(+), 18 deletions(-) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Remove -fPIC on x86_64Arnout Vandecappelle (Essensium/Mind)2012-07-131-6/+0
| | | | | | | | | | | | | | | | The -fPIC breaks the purgatory of kexec (= the code that passes command-line arguments to the kernel): kexec doesn't know how to handle the GOT and PLT relocation entries. There is also no reason at all to pass -fPIC. Shared libraries that require it will add it to their local Makefiles, and normal executables have no business with -fPIC (plus it adds overhead...). The -fPIC was added by Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> in commit 8027784c. That commit adds sysroot parameters to CFLAGS. There is no explanation why -fPIC is also added for x86_64. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
* package/Makefile.in: link statically when BR2_PREFER_STATIC_LIBPeter Korsgaard2012-06-291-0/+1
| | | | | | Instead of explicitly adding it for each package. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* automatically set PARALLEL_JOBS when BR2_JLEVEL is 0Nathan Lynch2012-06-241-0/+8
| | | | | | | | | | | When BR2_JLEVEL is 0, set PARALLEL_JOBS to double the number of CPUs detected. This allows one to more or less fully utilize the host system without manually tuning the configuration. Also make 0 the default value for BR2_JLEVEL. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* introduce PARALLEL_JOBS build system variableNathan Lynch2012-06-241-1/+3
| | | | | | | | | | | | | | | | BR2_JLEVEL currently is expanded directly in $(MAKE), and used in invocations of other build software (e.g. ct-ng). However, we are going to allow "0" to be a meaningful value for BR2_JLEVEL, which won't work for these uses. Given that it is not permissible to modify BR2_-prefixed variables in Makefiles, we need an intermediate variable. Define PARALLEL_JOBS to $(BR2_JLEVEL), and use the former in MAKE's definition. Uses of BR2_JLEVEL throughout the rest of the tree to be adjusted similarly in follow-up patches. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove REAL_GNU_TARGET_NAMERichard Braun2012-06-231-7/+5
| | | | | | | | Instead of providing two variables, make GNU_TARGET_NAME give the real target name, and remove REAL_GNU_TARGET_NAME altogether. Signed-off-by: Richard Braun <rbraun@sceen.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: remove toolchain/Makefile.in and toolchain/gcc/Makefile.inThomas Petazzoni2012-04-251-0/+2
| | | | | | | | | | Re-integrate in gcc-uclibc-4.x.mk things from toolchain/gcc/Makefile.in that were completely gcc-specific. There was no reason to pull that when building with other backends than the internal one. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: remove unused STRIP_DISCARD_ALL variableThomas Petazzoni2012-04-251-2/+0
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: pass --enable-ipv6 to autotargets configure when enabledPeter Korsgaard2012-04-241-1/+3
| | | | | | | | Some packages don't automatically enable IPv6 support if not configured with --disable-ipv6, or use AC_TRY_RUN which doesn't work when cross compiling (like curl), so explicitly configure with --enable-ipv6. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Split Makefile.package.in in pkg-download.mk, pkg-utils.mk and pkg-gentargets.mkThomas Petazzoni2012-04-191-1/+3
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Rename Makefile.cmake.in to pkg-cmaketargets.mkThomas Petazzoni2012-04-191-1/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Rename Makefile.autotools.in to pkg-autotargets.mkThomas Petazzoni2012-04-191-1/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: set PKG_CONFIG_SYSROOT_DIR in HOST_MAKE_ENVSven Neumann2012-04-151-0/+1
| | | | | | | | | | | | | | | | | A host package that uses AUTORECONF (such as host-libglib2) may end up running './config.status --recheck'. This will call the configure script with the environment variables set in HOST_MAKE_ENV. If PKG_CONFIG_SYSROOT_DIR is missing this will cause the hardcoded sysroot dir take effect leading to wrong paths. See commit 22acade2ec311 which works around this problem by fiddling with the generated .pc file. This commit becomes obsolete with this fix. Signed-off-by: Sven Neumann <s.neumann@raumfeld.com> Cc: Daniel Mack <zonque@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add powerpc SPE ABI supportGustavo Zacarias2012-01-071-1/+16
| | | | | | | | | | | | | | | | | Add the ability for buildroot to build an SPE ABI enabled toolchain. This is mandatory for e500v1/v2 cores since they don't support classic FPU mode as the e500mc does. Useful for Freescale's PowerQUICC III and single/dual-core QorIQ line of processors. The new TARGET_ABI variable is used rather than TARGET_CFLAGS for uclibc's UCLIBC_EXTRA_CFLAGS to avoid breakish CFLAGS leaking in, a good example being -mthumb for ARM. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add user defined target LDFLAGS optionsBaruch Siach2011-07-251-0/+1
| | | | | | | | | | | | | | | | | Allow the user to specify additional options for the target LDFLAGS. I use this to pass the -te500v2 option to the linker, when using the CodeSourcery toolchain for PowerPC. This chooses the correct CRT for e500 hard float. Otherwise I get errors like undefined reference to `_save32gpr_31' undefined reference to `_rest32gpr_31_x' at final link time. [Peter: fixup, use qstrip] Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/autotools: add --{enable,disable}-{shared,static} automaticallyThomas Petazzoni2011-06-121-0/+6
| | | | | | | | | | | | | | | | | | | | | 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>
* Get rid of unneeded CFLAGSPeter Korsgaard2011-05-051-36/+5
| | | | | | | | Now that we use a wrapper for external toolchains (and internal ones default to the correct setting), we no longer need to explicitly pass sysroot/march/mtune/mabi/floating point mode in TARGET_CFLAGS. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add toolchain wrapper for external toolchainsPeter Korsgaard2011-05-051-11/+1
| | | | | | | | | | | | | | | | Add a simple toolchain wrapper for external toolchains, which forces the correct sysroot/march/mtune/floating point options needed to use it with buildroot. With this in place the external toolchain behaves similar to the internal ones, and the special handling can be removed. This also means that the toolchain is usable outside buildroot without having to pass any special compiler flags. Also adjust the downloadable external toolchain support to install under HOST_DIR so it can be used after the temporary build files are removed. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: ensure libtool doesn't search host dirs for librariesPeter Korsgaard2011-05-031-0/+1
| | | | | | | | | | | | | | | Commit 7e3e8ec040b (CFLAGS/LDFLAGS: don't add -I / -L args for STAGING_DIR) exposed a lingering libtool problem. Unless instructed otherwise (using -L) libtool will search its built in system path for libraries, and use those instead if found. The default search path is '/usr/lib, /lib, /usr/local/lib', which is no good for cross compilation. Fix it by setting the system search path to the empty string, effectively disabling this feature. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: CFLAGS/LDFLAGS: don't add -I / -L args for STAGING_DIRPeter Korsgaard2011-04-291-5/+0
| | | | | | | | | Now that we use sysroot for all toolchains, the explicit -I / -L arguments in CFLAGS / LDFLAGS aren't needed anymore (And having them makes the build quite noisy for certain packages as STAGING_DIR/include normally doesn't exist). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* external toolchain: Only prefix path if specifiedSonic Zhang2011-03-281-0/+4
| | | | | | | | | | Only prefix the external toolchain calls with its absolute path if BR2_TOOLCHAIN_EXTERNAL_PATH is set, otherwise just assume it will be available in the path. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-config: add usr/share/pkgconfig to search path as wellPeter Korsgaard2011-03-271-1/+1
| | | | | | | | A few packages (like xlib_xtrans) install their .pc files here, and upstream pkg-config defaults to searching both /usr/lib/pkgconfig and /usr/share/pkgconfig, so add it as well. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* pkg-config: add --with-sysroot option for compiled in default sysroot settingPeter Korsgaard2011-01-301-2/+1
| | | | | | | | | | | | | Similar to the --with-pc-path option. It works just like the existing PKG_CONFIG_SYSROOT_DIR environment variable, but compiled in. The environment variable overrides this default setting if set. This way we don't need to pass PKG_CONFIG_SYSROOT_DIR in the environment when building for the target, and it is easier to reuse pkg-config outside BR (E.G. for the SDK) without having to setup special environment variables. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add CMAKETARGETS infrastructure for CMake packagesBjørn Forsman2011-01-261-0/+1
| | | | | | | | | | | The CMAKETARGETS infrastructure makes adding CMake-based packages to Buildroot easy. It uses the same set of variables as the autotools infrastructure, except for autoreconf and libtool stuff which is not needed. Usage: just call CMAKETARGETS instead of AUTOTARGETS. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: generate CMake toolchain-file in $(O)Bjørn Forsman2011-01-261-0/+8
| | | | | | | | | | A CMake toolchain-file makes it easy to develop CMake-based packages outside of Buildroot. Just give the toolchain-file to CMake via the -DCMAKE_TOOLCHAIN_FILE=... option. Signed-off-by: Bjørn Forsman <bjorn.forsman@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Use 'sysroot' rather than 'sys-root' for the sysroot/staging_dirPeter Korsgaard2011-01-261-1/+1
| | | | | | | | | | As pointed out on the list, using sysroot rather than sys-root is less confusing, as this is how it is referred to in the GCC manual. So rather than changing BR, patch ct-ng to use sysroot instead. The next ct-ng release will use 'sysroot' as well by default. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: install toolchain into HOST_DIR like the internal toolchainPeter Korsgaard2011-01-251-3/+1
| | | | | | | Simplifies code and helps us when we add SDK support in the future. With this we no longer need to copy headers/libraries to STAGING_DIR either. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/Makefile.in: Fix LIBC calculation for internal ct-ng toolchainsPeter Korsgaard2011-01-251-3/+1
| | | | | | Use uclibc for internal ct-ng toolchains configured with uClibc as well. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Use sys-root rather than sysroot for the sysroot/staging_dirPeter Korsgaard2011-01-251-1/+1
| | | | | | | The name of the sysroot directory is arbitrary, but as ct-ng uses sys-root, let's use that as well for consistency. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* binutils: make it a proper packageGustavo Zacarias2011-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * Convert binutils to a proper autotargets package * Add version 2.21 and drop version 2.17 * Hook up packaged binutils for target gcc * Build tools are on HOST_DIR now so change it * Move cross/host gcc to HOST_DIR * Drop kludge from commit 3c77bab2eeace3ee675bd745ca335fa3dd1630bb This is fixed in the next commit "gcc: install copies of libgcc, libstdc++ and libgcj to the sysroot" - tested for arm & x86_64 targets. * TARGET_CROSS now pointed to HOST_DIR too [Peter: Config.in tweaks] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: drop sparc64 bitsGustavo Zacarias2010-12-291-5/+0
| | | | | | | Remove VIS optimization, it's for sparc64 and it's gone. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>