summaryrefslogtreecommitdiffstats
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* Use 'sysroot' rather than 'sys-root' for the sysroot/staging_dirPeter Korsgaard2011-01-261-0/+35
| | | | | | | | | | 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>
* kernel-headers: handle long term support kernels, bump 2.6.35Peter Korsgaard2011-01-263-1/+10
| | | | | | 2.6.34 was (erroneously) already updated earlier. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: get rid of deprecated 2.6.32 / 2.6.33 versionsPeter Korsgaard2011-01-263-130/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: don't remove installation directory before installingPeter Korsgaard2011-01-251-0/+37
| | | | | | | | | crosstool-ng would normally delete its installation directory before installing the toolchain to ensure it wouldn't get confused by an earlier build. Now that we're installing directly into HOST_DIR/usr, this doesn't work very well - So get rid of the rm's. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: install toolchain into HOST_DIR like the internal toolchainPeter Korsgaard2011-01-251-5/+3
| | | | | | | 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>
* crosstool-ng: Use same naming convention as internal toolchainsPeter Korsgaard2011-01-251-2/+2
| | | | | | | | Use unknown for the vendor part of the tuple, and add $arch-linux- symlinks, similar to how it's done for the internal toolchain, rather than using buildroot_ctng and unknown symlinks. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/uClibc: bump 0.9.32 version to 0.9.32-rc2Peter Korsgaard2011-01-202-36/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: only fetch gcc/gmp/mpfr/mpc when using a buildroot toolchainGustavo Zacarias2011-01-191-0/+6
| | | | | | | | | | | | | Closes #3103 gcc/gmp/mpfr/mpc are only needed when using an internal buildroot toolchain, so only add them to HOST_SOURCE then. Otherwise we get some nasty fetch error when doing "make source" [Peter: add gmpc/mpfr/mpc and reword commit text] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-common.in: Fix USE_MMU typoPeter Korsgaard2011-01-151-1/+1
| | | | | | Thanks to Marc Gauthier for noticing. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add a USE_MMU build optionMike Frysinger2011-01-152-0/+9
| | | | | | | | | | Some packages need to know whether the MMU is in play, so add a toolchain option to expose the feature to them. [Peter: only show option on archs where it makes sense] Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: 0.9.32-rc1 netlinkaccess fixPeter Korsgaard2011-01-141-0/+34
| | | | | | From uClibc git, fixes build issue on powerpc. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: bump 2.6.34.x stable versionPeter Korsgaard2011-01-102-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: remove deprecated 2.6.30/2.6.31 versionsPeter Korsgaard2011-01-103-105/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: bump 2.6.32.x / 2.6.36.x stable versionsPeter Korsgaard2011-01-102-2/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: add 2.6.37Peter Korsgaard2011-01-061-2/+5
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gdb: fixup symlink handling now tolchain gets installed into HOST_DIRPeter Korsgaard2011-01-041-3/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/gcc: fix target-gcc selectsPeter Korsgaard2011-01-031-0/+1
| | | | | | | We need to select BR2_PACKAGE_BINUTILS as well, now BINUTILS_TARGET depends on it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* target gcc: cleanupGustavo Zacarias2011-01-021-6/+0
| | | | | | | | | WITH_TARGET_{GMP/MPC/MPFR} is unneeded since we are providing a sysroot. It also breaks build-gcc under certain conditions. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: install copies of libgcc, libstdc++ and libgcj to the sysrootGustavo Zacarias2011-01-021-0/+8
| | | | | | | | | We want to keep a copy around for the future SDK functionality. Also it's a better fix for bug #1051. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* binutils: make it a proper packageGustavo Zacarias2011-01-0238-1549/+38
| | | | | | | | | | | | | | | | | | | | | | | * 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>
* Reset critical environment variablesDaniel Nyström2010-12-291-9/+0
| | | | | | | | | | | Reset them early in top-level Makefile to ensure they're keept unset all the way through the build process. This also removes the requirement of these variables being unset globally prior the build. Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: drop BR2_CROSS_TOOLCHAIN_TARGET_UTILS optionGustavo Zacarias2010-12-292-17/+0
| | | | | | | | | It's really not very useful, all it does is install a target strace and ldd in a target_utils directory in staging. While at it clean up the strace makefile a bit. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: fix configs for 0.9.32 & snapshotGustavo Zacarias2010-12-292-16/+19
| | | | | | | | | * 0.9.32 config needs UCLIBC_HAS___PROGNAME defined or we stall when program invocation name is enabled. * Mirror 0.9.32's config to snapshot for consistency. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: move tools to host dirGustavo Zacarias2010-12-281-6/+6
| | | | | | | | Move uclibc host tools (ldd/ldconfig) to host dir. They were previously installed in the staging dir. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* sstrip: make it a proper packageGustavo Zacarias2010-12-288-551/+1
| | | | | | | | | | | * Convert sstrip to a proper gentargets package * Use openwrt svn version, it's basically the same one we used * Change the hooks from old toolchain/sstrip to new package/sstrip * Drop the old toolchain/sstrip directory * sstrip for the target is now in Package -> Development Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* mpc: make it a proper packageGustavo Zacarias2010-12-272-8/+8
| | | | | | | | | * Convert mpc to a proper autotargets package * Hook it up for binutils/gcc to use Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* mpfr: make it a proper package and bump to version 3.0.0-p8Gustavo Zacarias2010-12-272-8/+8
| | | | | | | | | | * Convert mpfr to a proper autotargets package * Bump to version 3.0.0-p8 * Hook it up for binutils/gcc to use Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gmp: make it a proper package and bump to version 5.0.1Gustavo Zacarias2010-12-272-10/+8
| | | | | | | | | | * Convert gmp to a proper autotargets package * Bump to version 5.0.1 * Hook it up for binutils/gcc to use Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Merge branch 'for-2011.02/dl-tools' of ↵Peter Korsgaard2010-12-272-1/+8
|\ | | | | | | git://git.busybox.net/~tpetazzoni/git/buildroot
| * infrastructure: only require download tools when neededThomas Petazzoni2010-12-242-1/+8
| | | | | | | | | | | | | | Instead of having to require svn, git or bzr unconditionally, only require them when one package needs them to be downloaded. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | toolchain/uClibc: add 0.9.32-rc1Peter Korsgaard2010-12-273-1/+269
|/ | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: fix again stamp file touchThomas Petazzoni2010-12-231-1/+1
| | | | | | | | | In e6633fd2e37d25f32958f30e852baa216ce1384a I did crap, and added a quietization inside a shell command, which was already quietized. This was stupid, and is fixed by this patch. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add missing stamp file touch in external toolchainThomas Petazzoni2010-12-231-2/+3
| | | | | | | | | | | In the support of custom external toolchains, we forgot to touch the $(STAMP_DIR)/ext-toolchain-checked stamp file, which means that the toolchain was re-checked and re-installed at everyt build. At the same time, quietize a bit other stamp files touch. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: fix multilib symlink for external toolchainsThomas Petazzoni2010-12-211-1/+1
| | | | | | | | | | ARCH_SUBDIR is a shell variable, so it should be referenced with $${ARCH_SUBDIR}. Without this, no symbolic link is created, and the external toolchain fails to work if the non-default multilib variant is used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/gcc: bump 4.5.x versionPeter Korsgaard2010-12-1911-185/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* dependencies: add unzipThomas Petazzoni2010-12-161-1/+1
| | | | | | | | | unzip is needed to uncompress at91bootstrap, so let's add it as a dependency. This can be discussed, and if we think it shouldn't be a new dependency, we can also build a host-unzip. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: more verbose in crosstool-ng backendThomas Petazzoni2010-12-131-4/+4
| | | | | | | | | | | | By default, Crosstool-NG hides all the details of the toolchain build process. However, this is inconsistent with the typical Buildroot build, and the rotating progress thing makes log file resulting from redirecting the Buildroot output a bit unusable. Therefore, switch the Crosstool-NG configuration to a more verbose default. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: expose thread options in the Crosstool-NG backendThomas Petazzoni2010-12-132-0/+57
| | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: BR2_NEEDS_GETTEXT must be y when uClibc is usedThomas Petazzoni2010-12-131-0/+1
| | | | | | | | | BR2_NEEDS_GETTEXT was already set to y for Buildroot internal toolchain and external toolchains based on uClibc, but wasn't set for toolchains based on uClibC built by the Crosstool-NG backend. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc: disable libgomp when thread support is disabledThomas Petazzoni2010-12-131-1/+1
| | | | | | | libgomp needs thread support on the target to build properly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: check that the thread option selection is correctThomas Petazzoni2010-12-131-1/+2
| | | | | | | | | | | When an external toolchain is used, the user is responsible for telling Buildroot what the configuration of the toolchain is. In order to make sure that the selection is correct, we already perform checks against the configuration of the uClibc in the selected external toolchain. This commit adds the check for thread support. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: rework thread optionsThomas Petazzoni2010-12-136-33/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | The selection of linuxthreads, linuxthreads old or NPTL doesn't make a lot of sense for external toolchains. So, instead, we : * Introduce an hidden BR2_TOOLCHAIN_HAS_THREADS option, which must be selected by toolchain specific options when thread support is available. Package needing to test thread support should use this option. * Move the none/linuxthreads/linuxthreads old/NPTL selection to Buildroot internal toolchain configuration. * Add an option in external toolchain to tell if thread support is available or not in the external toolchain. We assume that glibc without threads is not possible, as Ulrich Drepper said in http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html ffmpeg, dmalloc and openvpn are fixed to use the new BR2_TOOLCHAIN_HAS_THREADS option. For openvpn, --enable-threads=posix is no longer used, as the configure script doesn't even understand this option. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: move Stack Protection Support optionThomas Petazzoni2010-12-133-10/+10
| | | | | | | | | | The BR2_USE_SSP option is only used inside the uClibc build, so only meaningful for Buildroot internal toolchains. Therefore, the option is moved to the right location so that it isn't visible when working with external toolchains. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: rework C++ optionsThomas Petazzoni2010-12-137-25/+44
| | | | | | | | | | | | | | | | | | | | | | | | Instead of having BR2_GCC_CROSS_CXX and BR2_INSTALL_LIBSTDCPP, with BR2_GCC_CROSS_CXX not being visible (and therefore being useless), let's just keep BR2_INSTALL_LIBSTDCPP to enable C++ in the toolchain and install C++ libraries on the target. We also take that opportunity to make BR2_INSTALL_LIBSTDCPP an hidden option, which is selected by an option in Buildroot toolchain support or an option in External toolchain support, just as we did for other toolchain features. Some work definitely remains to be done : - The name BR2_INSTALL_LIBSTDCPP is ugly, but we keep it for the moment in order to avoid changing all packages. - We should clarify the other language-related options (Fortran, Java, Objective-C, etc.). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: remove toolchain-specific strippingThomas Petazzoni2010-12-135-26/+4
| | | | | | | | | | We already handle the stripping of libraries in $(TARGET_DIR) at the global level, so there's no need to have toolchain-specific option and code for this. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add support for external toolchain profiles and downloadThomas Petazzoni2010-12-134-92/+308
| | | | | | | | | | | | | | | | | | | Instead of letting the user define all the details of his external toolchain, we define a set of profiles for well-known external toolchains (CodeSourcery ones only at the moment, can easily be extended with other toolchains). Once a profile has been choosen, the user is offered the choice of either letting Buildroot download and install the external toolchain, or (as before) to tell Buildroot where the toolchain is installed on the system. We of course provide a "custom profile", through which the user can configure Buildroot to use a custom external toolchain for which no profile is available. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: remove ending semi-colon in helpersThomas Petazzoni2010-12-131-4/+4
| | | | | | | | | | | Some helpers had their final line ending with a semi-colon, some did not. For consistency, remove the final semi-colon from all helpers, it's the responsability of the caller to add the final semi-colon as needed. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: Improve C library option selectionThomas Petazzoni2010-12-134-47/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn BR2_LARGEFILE, BR2_INET_IPV6, BR2_INET_RPC, BR2_USE_WCHAR, BR2_ENABLE_LOCALE and BR2_PROGRAM_INVOCATION into hidden options. Then, for Buildroot toolchains, external toolchains and Crosstool-NG toolchains, provide visible options that selects the hidden options. This allows : * To show a different label and help text in the case of Buildroot toolchain (do you want to enable feature X ?) and in the case of external toolchain (is feature X available in your toolchain ?) * To not show any option when a glibc external toolchain is selected (since glibc is assumed to support all of largefile, IPv6, RPC, WCHAR, locale and program invocation) and have them all selected in that case. There is some amount of duplication between Buildroot toolchain config options and Crosstool-NG toolchain config options, because kconfig doesn't allow to source the same Config.in file twice (even if under mutually exclusive conditions). This duplication is more readable that the hack that consists in splitting files in multiple pieces. However, this commit changes the name of the options visible in the configuration interface, so existing .config files will have to be updated accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: simplifyPeter Korsgaard2010-12-132-58/+50
| | | | | | | | Old-style kernel headers got removed almost 2 years ago, so get rid of the seperate kernel-headers-new.makefile file and move the content to the main kernel-headers.mk. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* strip path when untaring kernel for headersPaulius Zaleckas2010-12-131-2/+3
| | | | | | | | | | | | This is needed when custom/snapshot kernel headers are selected. Buildroot expects to find dl/linux-2.6.tar.bz2 and also expects it to extract to output/toolchain/linux-2.6, but if you tar custom kernel sources directory can be anything, etc. linux-git. In that case buildroot would extract it to output/toolchain/linux-git. So fix this behaviour, by using tar strip-directory/component. Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>