summaryrefslogtreecommitdiffstats
path: root/toolchain/toolchain-buildroot
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: disable C++ support on AVR32 gcc 4.2 with uClibcThomas Petazzoni2013-07-081-0/+5
| | | | | | | | | | | | | | In 25c3160092d7 ("uClibc 0.9.31: remove stray kludges/conditions"), a conditional that prevents the combination gcc 4.2-avr / C++ / locale with uClibc 0.9.31 was removed. However, it turns out that the same problem is affecting uClibc 0.9.33, described at http://comments.gmane.org/gmane.comp.lib.uclibc.buildroot/24260. Therefore, we prevent the combination of gcc 4.2-avr / C++ / locale to happen. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* eglibc: enable support in the Buildroot toolchain backendThomas Petazzoni2013-07-041-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | Using the newly introduced 'eglibc' package, this commit enables the option of building a toolchain using the eglibc C library in the Buildroot toolchain backend. In details, this commit: * Creates a choice to select uClibc or eglibc in the Buildroot toolchain backend (in toolchain/toolchain-buildroot/Config.in), and removes the fact that the Buildroot toolchain backend forcefully enables uClibc (toolchain/Config.in). * Creates a BUILDROOT_LIBC variables, which points to the package implementing the C library (i.e either 'uclibc' or 'eglibc'). * Modifies the gcc-final and gcc-intermediate makefiles to use the BUILDROOT_LIBC variable instead of hardcoding the use of uclibc. * Ensures that TLS support is always enabled when building eglibc. [Peter: fix commit text to refer to BUILDROOT_LIBC] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: move configuration options into the packageThomas Petazzoni2013-07-041-77/+0
| | | | | | | | | | In preparation for the introduction of the eglibc library to the internal toolchain backend, the options that allow to enable/disable C library features such as largefile, IPv6, RPC and so on now belong to the uClibc package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: convert to the package infrastructureThomas Petazzoni2013-07-041-1/+1
| | | | | | [Peter: update manual to match] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: switch to using gcc through package infrastructureThomas Petazzoni2013-07-031-1/+1
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* kernel-headers: migrate to the package infrastructureThomas Petazzoni2013-07-031-1/+1
| | | | | | [Peter: fix file header] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* elf2flt: convert to the package infrastructureThomas Petazzoni2013-07-031-1/+1
| | | | | | [Peter: Correct legacy position] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc 0.9.31: remove stray kludges/conditionsGustavo Zacarias2013-06-171-10/+1
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/toolchain-buildroot: Disable NPTL for ARCMischa Jonker2013-05-041-0/+1
| | | | | | | NPTL is not yet supported for ARC. Signed-off-by: Mischa Jonker <mjonker@synopsys.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* gdb: convert to the package infrastructureThomas Petazzoni2013-04-111-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit converts gdb to the package infrastructure, and therefore moves it from toolchain/gdb to package/gdb. The target package is now visible in "Package selection for the target" => "Debugging, profiling and benchmark". The main option, "gdb", forcefully selects the "gdbserver" sub-option by default. Another sub-option, "full debugger" allows to install the complete gdb on the target. When this option is enabled, then "gdbserver" is no longer forcefully selected. This ensures that at least gdbserver or the full debugger gets built/installed, so that the package is not a no-op. The host debugger is still enabled through a configuration option in "Toolchain". It is now visible regardless of the toolchain type (it used to be hidden for External Toolchains). The configuration options relative to the host debugger are now in package/gdb/Config.in.host, similar to how we have package/binutils/Config.in.host. Since gdb is now a proper package, it is no longer allowed to 'select BR2_PTHREADS_DEBUG' to ensure thread debugging is available when needed. Instead, it now 'depends on BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by the different toolchain backends when appropriate. The 'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since we no longer need to know when it is allowed to 'select BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to appear right below the thread implementation selection (in the case of the Buildroot toolchain backend). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* avr32: support uClibc 0.9.33.2Simon Dawson2013-02-021-1/+2
| | | | | | | | | | Add a uClibc patch from OpenWRT, and tweak an existing patch to cope with the lack of a dup3 Linux syscall on avr32. This allow uClibc 0.9.33.2 to be built for avr32. [Peter: add upstream url for openwrt patch] Signed-off-by: Simon Dawson <spdawson@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* xtensa: add support for the Xtensa architectureChris Zankel2012-11-151-1/+3
| | | | | | | | | | | | | The Xtensa architecture had been removed because it required special handling and depended on additional directories and files that became obsolete over time. This change is more aligned to other architectures. [Thomas: rebased on top of the "arch: improve definition of gcc mtune, mcpu, etc." patch]. Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPCThomas Petazzoni2012-11-041-1/+1
| | | | | | | | | | The BR2_INET_RPC has for a long time been a not very descriptive configuration option name, and with the advent of non-RPC glibc toolchains and the apparition of libtirpc, we really need to rename it to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* mklibs: remove supportThomas Petazzoni2012-04-251-1/+0
| | | | | | | | The support for mklibs has been marked broken since more than a year and nobody cared to bring it up to a working state. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-buildroot: enable / default to NPTL fr uClibc 0.9.33 as wellPeter Korsgaard2012-02-021-2/+2
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: drop BR2_PROGRAM_INVOCATION optionPeter Korsgaard2011-07-271-10/+0
| | | | | | | | | | | | Remove the BR option and enable the configuration setting in the uClibc defconfigs. The BR2_PROGRAM_INVOCATION option only adds very little overhead to uClibc, and we have a number of packages needing it, so simply always enable it - Simplifying the kconfig logic and the number of choices users have to make. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-buildroot: NPTL is only supported with EABI on ARMPeter Korsgaard2011-07-181-1/+2
| | | | | | So hide option if OABI is selected. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/uClibc: NPTL needs i486+ for cmpxchgl instructionPeter Korsgaard2011-07-051-0/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: use NPTL by default for 0.9.32 / snapshotPeter Korsgaard2011-06-091-0/+1
| | | | 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>
* toolchain: drop BR2_CROSS_TOOLCHAIN_TARGET_UTILS optionGustavo Zacarias2010-12-291-12/+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>
* sstrip: make it a proper packageGustavo Zacarias2010-12-281-1/+0
| | | | | | | | | | | * 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>
* toolchain/uClibc: add 0.9.32-rc1Peter Korsgaard2010-12-271-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: rework thread optionsThomas Petazzoni2010-12-131-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-131-0/+9
| | | | | | | | | | 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-131-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | 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: Improve C library option selectionThomas Petazzoni2010-12-131-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ccache: rework ccache managementThomas Petazzoni2010-12-081-1/+0
| | | | | | | | | | | | | | * 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>
* toolchain: remove multilibThomas Petazzoni2010-07-281-5/+0
| | | | | | | | | | | | | Supporting multilib is much more than just passing --enable-multilib to gcc. You have to actually build the C library several times (once for each multilib variant you want to support in your toolchain), and to pass MULTILIB_OPTIONS/MULTILIB_EXCEPTIONS values to gcc to let it know the set of multilib variants you're interested in. Since we'll probably never support multilib toolchains in Buildroot, just get rid of this BR2_ENABLE_MULTILIB option. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* toolchain: move buildroot config filesYann E. MORIN2010-07-282-0/+46
Handle the internal toolchain backend mechanism the same way we handle other backends. Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>