summaryrefslogtreecommitdiffstats
path: root/toolchain/toolchain-external
Commit message (Collapse)AuthorAgeFilesLines
* toolchain-external: add linaro 2012.02Peter Korsgaard2012-03-062-0/+18
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* external-toolchain: add support for Linaro 2012.01Thomas Petazzoni2012-03-012-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linaro has just released a new pre-built toolchain, available as a tarball, which is a pure toolchain (only the C library is included). This makes this new Linaro 2012.01 toolchain usable in Buildroot, so let's integrate the support for it. In addition to simply adding the new external toolchain at the usual locations, this patch allows need to adapt a few things to support Linaro toolchains. Most toolchains store their libraries in the "lib/" or "usr/lib" directories relative to the toolchain. Buildroot toolchains on the other hand, store the libraries in the "usr/<target-name>/lib" directory. And the Linaro toolchain has choosen to use the "lib/<target-name>" directory. Therefore, this patch adjust: * The logic to search a particular library when that library needs to be copied to the target directory * The logic to deduce the sysroot directory from the libc.a file location in the toolchain: removing "(usr/?)lib(64?)" is no longer sufficient, we need to take into account the "lib/<target-name>/" case. Since the Linaro toolchain generates code for Cortex-A processors only, the selection of this toolchain is limited to Cortex-A8 and Cortex-A9. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: fix description of PowerPC 2010.09 from Mentor GraphicsThomas Petazzoni2012-03-011-1/+1
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: run checks even on extracted toolchainsThomas Petazzoni2012-03-011-4/+2
| | | | | | | | | | | When the mechanism that allows Buildroot to download external toolchains automatically was added, all the sanity checks on the external toolchains were not performed. This commit re-enables those checks that we already do on external toolchains that are not downloaded/extracted by Buildroot. This makes the toolchain checks more consistent accross various configurations. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: details on selecting the multilib variantsThomas Petazzoni2012-03-011-0/+123
| | | | | | | | | Each multilib variant need to be selected using a special combination of flags, requiring specific choices of the Buildroot options. This commit documents those configuration choices to make it easier to use the various multilib variants. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: Blackfin.uclinux.org 2011R1-RC4Thomas Petazzoni2012-03-012-1/+24
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: add Sourcery CodeBench x86/x86_64 2011.09Thomas Petazzoni2012-03-012-0/+19
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: add Sourcery CodeBench PowerPC 2011.03Thomas Petazzoni2012-03-012-0/+22
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: bump MIPS 2011.03 from -93 to -110Thomas Petazzoni2012-03-011-2/+2
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: add Sourcery CodeBench ARM 2011.09Thomas Petazzoni2012-03-012-0/+18
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: remove 2009q1 ARM Sourcery toolchainThomas Petazzoni2012-03-012-19/+1
| | | | | | | We are going to add one more ARM Sourcery toolchain version, so it's time to remove the oldest version. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Expand external toolchain wrapper to custom flagsThomas Petazzoni2012-03-012-0/+11
| | | | | | | | | | The BR2_TARGET_OPTIMIZATION flags were not used by the external toolchain wrapper, which broke the multilib selection logic of multilib external toolchains. It also simplifies the compilation of external programs since all flags are properly passed automatically by the toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Improve external toolchain logic to support IA32 Sourcery CodeBench toolchainThomas Petazzoni2012-03-011-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IA32 Sourcery CodeBench toolchain has a relatively special structure, with the following multilib variants: * Intel Pentium 4, 32 bits, the multilib variant is in ./ relative to the main sysroot, with the libraries in the lib/ directory. * Intel Xeon Nocona, 64 bits, the multilib variant is in ./ relative to the main sysroot, with the libraries in the lib64/ directory. * Intel Atom 32 bits, the multilib variant is in atom/ relative to the main sysroot, with the libraries in the lib/ directory. * Intel Core 2 64 bits, the multilib variant is in core2/ relative to the main sysroot, with the libraries in lib64/ directory. So the first two variants are in the same sysroot, only the name of the directory for the libraries is different. Therefore, we introduce a new ARCH_LIB_DIR variable, which contains either 'lib' or 'lib64'. This variable is defined according to the location of the libc.a file for the selected multilib variant, and is then used when copying the libraries to the target and to the staging directory. In addition to this, we no longer use the -print-multi-directory to get the ARCH_SUBDIR, since in the case of the 64 bits variants of this toolchain, it returns just '64' and not a real path. Instead, we simply compute the difference between the arch-specific sysroot and the main sysroot. We also take that opportunity to expand the documentation on the meaning of the different variables. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* gdb: fix kconfig dependency handling with !BR_TOOLCHAIN_BUILDROOTPeter Korsgaard2011-11-241-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer versions of GDB need pthread debugging support if threads are enabled, which is always the case for glibc but is a configure option for uClibc. We have solved this for internal toolchains by selecting the BR2_PTHREAD_DEBUG option from the GDB selection if needed, but as this option isn't available when ctng/external toolchains are used, mconf prints ugly warnings and the build may fail if an external uClibc toolchain without pthread debugging support is used. Fix it by introducing 2 more hidden config options: - BR2_TOOLCHAIN_HAS_THREADS_DEBUG - BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED The first tells us if the toolchain HAS pthreads debugging support, and is checked by check_uclibc_feature in helper.mk for external uClibc based toolchains. The second tells us if the toolchain is ABLE TO provide pthreads debugging support if threads are enabled, either because it's an internal toolchain where we can force enable it or an external glibc/eglibc toolchain or uClibc with the option enabled. Crosstool-ng forcibly enables this support, so those will always work. The preconfigured uClibc-based toolchains we have also all enable it. Finally, show a comment if this isn't the case so the (external toolchain) user knows why. This is placed outside the choice option, as menuconfig has a bug where it doesn't show choice selections which only contain comments. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-external: fix x86 codesourcery config symbol typoPeter Korsgaard2011-11-082-3/+3
| | | | | | As noticed on irc. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: Add the possibility to have a mcpu option with wrapperStany MARCEL2011-11-022-0/+8
| | | | | | | | | Permit to define the mcpu of the external toolchain wrapper, based on BR2_GCC_TARGET_CPU. Signed-off-by: Stany MARCEL <stanypub@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: Correct test for external tools symlink creationStany MARCEL2011-11-021-2/+2
| | | | | | | | | | | When the external tools chain is installed in a path that match one of the first case test, all symlink are created to the external wrapper. The proposed solution is to test only the base name not the full path. Signed-off-by: Stany MARCEL <stanypub@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* external-toolchain: Slightly optimize toolchain extractionThomas Petazzoni2011-10-101-1/+2
| | | | | | | | | | | | | Some CodeSourcery toolchains contain a huge number of locales that are not useful, even though they account for 70-80% of the total toolchain size. By skipping the extraction of those useless locales, we make the toolchain extraction process slightly faster, and also make the output directory size a lot smaller (host/opt/ is 213 MB instead of 1.5 GB with a 2010.09 ARM CodeSourcery toolchain). 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>
* ext-toolchain: Take into account Mentor Graphics acquisition of CodeSouceryThomas Petazzoni2011-10-091-65/+65
| | | | | | | | | | | Now that CodeSourcery has been bought by Mentor Graphics, the toolchains are named "Sourcery CodeBench". We rename the config short description and adjust the help text, but we keep the option name in order not to break existing configurations. 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>
* ext-toolchain: Add CodeSoucery x86 GNU/Linux 2010.09Thomas Petazzoni2011-10-092-0/+19
| | | | | | 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>
* ext-toolchain: Add CodeSourcery SH GNU/Linux 2011.03Thomas Petazzoni2011-10-092-0/+19
| | | | | | 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>
* ext-toolchain: Bump version of CodeSourcery MIPS 2011.03Thomas Petazzoni2011-10-091-2/+2
| | | | | | 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>
* ext-toolchain: Add CodeSourcery SH uClinux 2011.03Thomas Petazzoni2011-10-092-0/+20
| | | | | | 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-external: allow specifying extra external librariesThomas De Schampheleire2011-10-092-0/+9
| | | | | | | | | Custom toolchains may provide extra libraries that need to be copied to the target. This patch adds a configuration option for this. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ext-toolchain: fix download urlSubramaniam C.A2011-09-121-10/+10
| | | | | | | | The website for downloading the toolchain has changed from http://www.codesourcery.com to http://sourcery.mentor.com Signed-off-by: Subramaniam C.A <subramaniam.ca@ti.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix the CodeSourcery ARM 2009q3 toolchain useMaxime Ripard2011-08-291-0/+1
| | | | | | | | The prefix is not set when selecting this toolchain, resulting in a build failure. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-external: fix some typos CodeSoucery -> CodeSourceryThomas De Schampheleire2011-08-041-3/+3
| | | | | | Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* external toolchains: fix SuperH toolchain configurationThomas Petazzoni2011-08-041-0/+4
| | | | | | | | | The CodeSourcery toolchain for SH2-A platforms provide largefile support, inet RPC, wide char and threads, so adjust the configuration accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 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-external: sync toolchain options with the internal toolchainPeter Korsgaard2011-07-261-0/+1
| | | | | | | | The internal toolchain defaults to thread support enabled (and most external toolchains have thread support as well), so enable BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS by default. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* sh: Fix Buildroot sh targets to match gnuconfig targetsPhil Edworthy2011-07-181-2/+2
| | | | | | | | | | | | | | sh2eb and sh2a_nofpueb gnuconfig targets are no longer supported in Buildroot. This patch replaces these Buildroot targets with sh2 and sh2a respectively, and adds sh4a targets as these are widely used. To build for devices without an fpu, the relevant toolchain flags will have to be specified. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-external: download/show external toolchain with make ↵Peter Korsgaard2011-07-131-2/+9
| | | | | | | | source/external-deps Based on patch by Hervé Fache <h-fache@ti.com>. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* sh: Add SH2A CodeSourcery external toolchainPhil Edworthy2011-07-122-0/+16
| | | | | | | | | Added the CodeSourcery uCLinux/uClibc toolchain for the SH2A big endian devices. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ext-toolchain-wrapper.c: Handle an arbitrary amount of argumentsDaniel Nyström2011-06-221-11/+20
| | | | | | | | | | | | | | Even though MAXARGS 1000 seems large, it wasn't enough for at least QtWebKit package. This new version does not have any predefined limits. Closes #3907 Many thanks to Thomas for tracing the source of the build error. [Peter: Return rather than abort()] Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se> Reported-by: Thomas Björk <thomas.bjork@home.se> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: introduce BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDSThomas Petazzoni2011-06-121-0/+4
| | | | | | | | | | | | | | | Unfortunately, the official Blackfin toolchains are built without the shadow password support, so our default Busybox configuration fails to build. Therefore, we introduce a new hidden knob BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS, which is set to yes for Buildroot internal toolchain, for toolchains generated by the Crosstool-NG backend, for Glibc external toolchains and for Uclibc custom external toolchains. It is left unset by the Blackfin toolchain profile. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* blackfin: support external toolchains provided by blackfin.uclibc.orgThomas Petazzoni2011-06-122-0/+54
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ext-toolchain: fix download url / add cs 2009q3Klaus Schwarzkopf2011-05-232-0/+17
| | | | | | | | | * fixed: external toolchain CODESOURCERY ARM2009Q1 downloaded version ARM2009Q3 * add CODESOURCERY ARM2009Q1 for ti dvsdk 3.10. Signed-off-by: Klaus Schwarzkopf <schwarzkopf@sensortherm.de> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* external-toolchain: Add MIPS CodeSourcery 2011.03Thomas Petazzoni2011-05-132-0/+27
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: Add ARM CodeSourcery 2011.03Thomas Petazzoni2011-05-132-0/+18
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* external-toolchain: fix supportThomas Petazzoni2011-05-081-3/+4
| | | | | | | | | | | | | | The recent commit adding the external toolchain wrapper has broken the support for external toolchain. The check_arm_eabi, check_cplusplus and check_cross_compiler_exists functions were using TARGET_CC, which points to the toolchain wrapper, but at the moment those functions are called, the wrapper hasn't been generated yet. We fix this by passing to these functions the path to the C or C++ compiler they should use for their tests. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* sh: Only use the CodeSourcery toolchain for SH4A devicesPhil Edworthy2011-05-061-1/+1
| | | | | | | The CodeSourcery toolchain listed is only for SH4A devices. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Get rid of unneeded CFLAGSPeter Korsgaard2011-05-051-0/+4
| | | | | | | | 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-052-7/+152
| | | | | | | | | | | | | | | | 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>
* sh: Fix CodeSourcery toolchain prefixPhil Edworthy2011-05-051-1/+1
| | | | | Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-external: remove extra space in RPC option stringPeter Korsgaard2011-04-291-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* sh: Fix displayed name of CodeSourcery toolchainPhil Edworthy2011-04-261-2/+2
| | | | | | Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> 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: rework thread optionsThomas Petazzoni2010-12-132-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: rework C++ optionsThomas Petazzoni2010-12-131-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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>