summaryrefslogtreecommitdiffstats
path: root/toolchain/toolchain-crosstool-ng/crosstool-ng.mk
Commit message (Collapse)AuthorAgeFilesLines
* Use more sensible names for the external/ctng targetsThomas Petazzoni2013-07-041-9/+7
| | | | | | | | | Instead of using the 'uclibc' target for all toolchain backends, introduce more sensible target names for the external toolchain and Crosstool-NG toolchain backend make targets. 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/crosstool-NG: do not depend on the top-level Buildroot's .configYann E. MORIN2013-03-181-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the crosstool-NG backend did depend on the top-level Buildroot's .config to detect changes in the toolchain options, using a tentatively-clever heuristic, which also included the full Buildroot's version string to push down to set the components' versions strings. In doing so, any commit in the Buildroot tree would imply a complete rebuild of the toolchain, even in the case the toolchain options did not change, thus being a large annoyance (to say the least). As Buildroot never guaranteed that toolchain options would be detected, even less handled, and that the internal backend does neither detect nor act on toolchain options changes, and delegate that to the user, there is no point in individualising the crosstool-NG backend's behaviour. This reasoning also applies to the depdency on the crosstool-NG's bundled .config file, too. So, just drop the not-so-clever heuristic, and just build the toolchain once, leaving to the user the responsibility to explictly ask Buildroot to rebuild the toolchain. Reported-by: "Przemyslaw Wrzos" <przemyslaw.wrzos@calyptech.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: "Przemyslaw Wrzos" <przemyslaw.wrzos@calyptech.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-ng: sprinkle with some calls to MESSAGEYann E. MORIN2013-01-201-3/+2
| | | | | | | | | | | Thus, the failing step can be easily extracted by autobuilders, to ease with post-mortem analysis. At the same time, remove two debug echoes (Arnout). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crostool-ng: use newly-introduced BUILDROOT_CONFIGYann E. MORIN2013-01-131-57/+57
| | | | | | | No need to recreate a path we already have. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix installation of crosstool-ng libraries to targetFloris Bos2013-01-061-1/+1
| | | | | | | | | | | When using the crosstool-ng toolchain option, the libc libraries were not installed to target. Buildroot calls the show-tuple function to determine the directory to copy from, and it seems that outputs the result to stderr instead of stdout Signed-off-by: Floris Bos <bos@je-eigen-domein.nl> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-crosstool-ng: install libthread_db if appropriateRichard Braun2012-11-301-0/+4
| | | | | | Signed-off-by: Richard Braun <rbraun@sceen.net> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain-crosstool-ng: use the Crosstool-ng config options instead of the ↵Thomas Petazzoni2012-11-041-5/+5
| | | | | | | | | | | | | common hidden ones Since we are some day going to finally rename the badly named common toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC, etc.) into something more logical, let's start using the Crosstool-NG toolchain options in the Crosstool-NG code. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-ng: vendor part of tuple should be 'buildroot'Thomas Petazzoni2012-10-181-1/+1
| | | | | | | | | | | | | | | | | | | Since 11017f081fc5b034e680d89eaea729c19f450e01, the Crosstool-ng backend generates toolchains that have a prefix inconsistent with what Buildroot expects. Buildroot expects a "buildroot" vendor name, while Crosstool-NG builds toolchain with the "unknown" vendor name. This is causing build failure such as: http://autobuild.buildroot.org/results/15b2c0e50a81b86dd13af684c9254df2bc0df8de/build-end.log Fix this by changing the vendor part of the tuple used by Crosstool-NG to "buildroot". Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-ng: change use of BR2_JLEVEL to PARALLEL_JOBSNathan Lynch2012-06-241-1/+1
| | | | | Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Remove REAL_GNU_TARGET_NAMERichard Braun2012-06-231-2/+2
| | | | | | | | 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>
* crosstool-ng: use uClibc 0.9.33.1 / NPTL by defaultPeter Korsgaard2012-05-091-1/+1
| | | | | | So we're in sync with the internal toolchain. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: fixup after copy_toolchain_lib_root api changesPeter Korsgaard2012-05-091-2/+2
| | | | | | | | | | Commit 0729b544b3 (Improve external toolchain logic to support IA32 Sourcery CodeBench toolchain) and e1f0804cc (external-toolchain: add support for recent Linaro toolchains) changed the interface of copy_toolchain_lib_root, but ctng wasn't updated so libraries weren't copied to the target. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* ctng: use internal toolchain uClibc config, build uClibc 0.9.32Peter Korsgaard2012-01-221-1/+1
| | | | | | | So the uClibc configurations are kept in sync between the two toolchain methods. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toochain/crosstool-NG: bump versionYann E. MORIN2011-08-071-1/+1
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: drop BR2_PROGRAM_INVOCATION optionPeter Korsgaard2011-07-271-7/+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/crosstool-NG: use the package infrastructureYann E. MORIN2011-07-151-46/+11
| | | | | | | | | | | | Move crosstool-NG to package/ and make it an autotarget package. This requires a new patch (now upstream). Now, the crosstool-NG toolchain backend only contains enough to build the toolchain, there's no more reference to building crosstool-NG as a package. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-ng: allow pre-downloading the sourcesYann E. MORIN2011-07-131-5/+12
| | | | | | | | | | | | | On "make source", just download the required sources, and do not build the entire toolchain. This requires a new patch against crosstool-NG (got from upstream). The "uclibc-source" rule requires an installed and configured crosstool-NG, so it has to be after the variables declaration. For consistency, move down the main rule "uclibc". Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: fix up ct-ng config file to saner defaultsYann E. MORIN2011-05-221-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Peter on IRC reported some build failures for different targets. They were of two kinds: - missing/unknown stack unwinding support - missing *_chk functions The first is about configure not being able to automagically determine if stack unwinding support is available for the target. The second is about fortified build forgetting to build the fortified functions. This applies to both glibc and eglibc. After some discussions on IRC with Jacmet, it appears that we can safely assume both of the following: - virtually all targets of buildroot will have stack unwinding support - we do not care about fortified builds (so far) So, update the bundled crosstool-NG .config file to saner defaults: - force unwind support - disable fortified builds [Peter: fix 'force non-fortified build' sed invocation] Reported-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: update to 1.11.3Yann E. MORIN2011-05-221-1/+1
| | | | | | | | | | | | 1.11.3 is the latest stable version, and it has a few improvements we'll find usefull. For example, it hasa a boolean option for disabling the {,e}glibc fortified build (instead of requiring us to shoehorn it in extra cflags. Update the config files. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: bundle one CT-NG config file for each libc famillyYann E. MORIN2011-05-221-3/+15
| | | | | | | | | | Currently, the bundled CT-NG config file has no C library configured. It is quite complex to add and/or munge options in this case. Now, with one config file per libc familly, it becomes easier. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: correctly copy the dynamic linkerYann E. MORIN2011-04-241-3/+4
| | | | | | | | | | | | | | | | | Depending on some setting (which? Arch? Others?), the dynamic linker can get different names. Some times, it is named ld-linux.something.so, other times, it is ld.so.1, and maybe other variants as well... The fix is to always copy ls*.so, even if it is a symlink: we create the destination file by its SONAME, and if ld*.so matches more than one file, that's no issue, as they would all get the same SONAME (being symlinks ones to the others). Split long lines at the same time. Reported-by: Ettore Campion <ecampion@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: bump version to 1.10.1Yann E. MORIN2011-04-201-2/+2
| | | | | | | At the same time, also use the new upstream location. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/crosstool-NG: fix sysroot nameYann E. MORIN2011-04-201-0/+1
| | | | | | | | | | We have to ensure that the sysroot created while building the toolchain will be the one we later search for libraries. So: - hide the sysroot name prompt from the ct-ng menu. - force the sysroot name to be 'sysroot'. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: fix target libc install after s/sys-root/sysroot/ renamePeter Korsgaard2011-04-191-1/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* crosstool-ng: fix ctng-menuconfig with ccache enabledPeter Korsgaard2011-02-251-1/+2
| | | | | | | If ccache is enabled, we need to ensure it is built for the host before anything else. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/ct-ng: use program_invocation_name option from BR configYann E. MORIN2011-02-171-0/+7
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/ct-ng: use soft-float option from BR configYann E. MORIN2011-02-101-1/+10
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/ct-ng: use processor variant from BR configYann E. MORIN2011-02-101-1/+9
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/ct-ng: use MMU option from the BR configYann E. MORIN2011-02-101-1/+5
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/ct-ng: update to crosstool-NG 1.10.0Yann E. MORIN2011-02-101-1/+1
| | | | | | | | Update the default .config file. Remove now unnecessary patches. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> 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: expose thread options in the Crosstool-NG backendThomas Petazzoni2010-12-131-0/+21
| | | | | | 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: rework C++ optionsThomas Petazzoni2010-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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-131-2/+2
| | | | | | | | | | 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/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-271-1/+9
| | | | | | | | | | | | 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>
* 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-crosstool-ng: fix arch for powerpcPeter Korsgaard2010-10-131-0/+1
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add new toolchain backend: crosstool-NGYann E. MORIN2010-10-011-0/+275
[Peter: indent Config.in, shuffle make targets around] Signed-off-by: Yann E. MORIN <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>