summaryrefslogtreecommitdiffstats
path: root/toolchain
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* toolchain: bump 2.6.32.x / 2.6.36.x stable versionsPeter Korsgaard2010-12-102-2/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ccache: rework ccache managementThomas Petazzoni2010-12-089-231/+2
| | | | | | | | | | | | | | * ccache is now a normal package (both for the host and the target). * ccache option is now part of the "Build options" menu. It will automatically build ccache for the host before building anything, and will use it to cache builds for both host compilations and target compilations. * bump ccache to 3.1.3 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: snapshot config fix, yet another stalling pointGustavo Zacarias2010-11-291-0/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use HOST_PATH when building the toolchainYann E. MORIN2010-11-291-1/+1
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use RPC optionYann E. MORIN2010-11-271-0/+9
| | | | | | | Push the RPC option down to uClibc config Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use IPv6 optionYann E. MORIN2010-11-271-0/+7
| | | | | | | Push the IPv6 option down to uClibc config Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use LFS optionYann E. MORIN2010-11-271-0/+7
| | | | | | | Push the LFS option down to uClibc config Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use locales optionYann E. MORIN2010-11-271-0/+8
| | | | | | | Push the locales option down to crosstool-NG config Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use wide-char optionYann E. MORIN2010-11-271-0/+7
| | | | | | | Push the wide-char options down to crosstool-NG config Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: add C library config mungingYann E. MORIN2010-11-271-1/+7
| | | | | | | | | | | For some C libraries, it can be necessary to push the BR settings down to the libc configuration file. Prepare the infrastructure. (Note: it will apply only to uClibc for now, and although eglibc can also be configured, it is not currently supported) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: move munging functionsYann E. MORIN2010-11-271-28/+34
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: use a copy of the uClibc .configYann E. MORIN2010-11-271-2/+14
| | | | | | | Before we can munge the uClibc .config file, we have to use a copy. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: reorder sed expressionsYann E. MORIN2010-11-271-3/+17
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: add dependencies on host- toolsYann E. MORIN2010-11-272-1/+24
| | | | | | | | | | | | Depends on: - GNU awk --> host-gawk - GNU automake --> host-automake Remove dependency on 'cvs'. cvs is used to retrieve newlib, which is not supported under Buildroot. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc 0.9.31: add sparc long double gcc intrinsics supportKonrad Eisele2010-11-251-0/+7393
| | | | | | | Copy of the glibc quadfloat intrinsics that gcc generates. Signed-off-by: Konrad Eisele <konrad@gaisler.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: tighten up sparc leon allowed gcc versionsGustavo Zacarias2010-11-251-5/+6
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc-patch: Add patch for 4.4.5 to support Sparc-leon processorsKonrad Eisele2010-11-251-0/+239
| | | | | | | | | Gcc patch that adds hfleon (fpu,v7), hfleonv8 (fpu, v8), sfleon (softfpu,v7), sfleonv8 (softfpu,v8) SPARC variants. Default cpu is selected with --with-cpu. Adds leon pipeline descrption to gcc. Signed-off-by: Konrad Eisele <konrad@gaisler.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: Add support for --with-cpuKonrad Eisele2010-11-252-4/+7
| | | | | | | | Add support for gcc configuration switch --with-cpu. Uses newly added BR2_GCC_TARGET_CPU from the target config. Signed-off-by: Konrad Eisele <konrad@gaisler.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: bump 2.6.{32,35,36} stable versionsPeter Korsgaard2010-11-233-3/+3
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: sys/ptrace.h fix for 0.9.31 / powerpc so ltrace buildsPeter Korsgaard2010-11-221-0/+62
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gdb: add source targets for gdbserver/gdbhostPeter Korsgaard2010-11-191-0/+4
| | | | | | So it gets handled by make source / external-deps Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update uclibc snapshot config to avoid build breakageGustavo Zacarias2010-11-181-4/+5
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gdb: drop local stripping in favor of top levelMike Frysinger2010-11-181-2/+0
| | | | | | | | | | Since the top level takes care of stripping for us, and some file formats cannot be stripped safely (like FLAT which will error out), simply punt the manual stripping from the gdb package. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-external: fix indentation in KconfigMike Frysinger2010-11-171-3/+3
| | | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc 4.5.x arm: fix v4, pr#43440, pr#44392 and pr#45070Gustavo Zacarias2010-11-044-0/+613
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gcc 4.5.x powerpc: fix softfloat and gcc pr#43810Gustavo Zacarias2010-11-042-47/+45
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add gcc 4.5.1 to buildrootMartin Banky2010-11-049-1/+315
| | | | | Signed-off-by: Martin.Banky@gmail.com <Martin.Banky@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Update uclibc snapshot config to avoid build stallGustavo Zacarias2010-11-041-0/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-ng: use global BR2 version stringYann E. MORIN2010-11-031-1/+1
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/internal: use global BR2 version string for gcc version stringYann E. MORIN2010-11-031-2/+1
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/gcc: fix objective C supporPeter Korsgaard2010-10-311-0/+6
| | | | | | | | We've had objective C support in the tree for many years, but somehow the BR2_GCC_CROSS_OBJC option (similar to the other BR2_GCC_CROSS_* options) has disappeared. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Optimize (-O2) host binaries by defaultPeter Korsgaard2010-10-291-1/+1
| | | | | | | | | Default HOST_CFLAGS to -O2, so host tools (like the cross compiler) are built with optimization by default. Based on a patch by Will Newton <will.newton@gmail.com>. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: bump 2.6.32.x / 2.6.35.x stable versionsPeter Korsgaard2010-10-293-2/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: Fix 2.6.36 kernel version in menuconfig stringPaulius Zaleckas2010-10-251-1/+1
| | | | | Signed-off-by: Paulius Zaleckas <paulius.zaleckas@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: add 2.6.36, remove 2.6.29Peter Korsgaard2010-10-231-6/+6
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile: move KERNEL_ARCH from kernel-headers to herePeter Korsgaard2010-10-171-8/+0
| | | | | | | | | | Closes #2707 It's not only for kernel headers, and the kernel headers .mk file isn't included for crosstool-ng toolchain, which broke linux/u-boot/.. builds. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>