summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-crosstool-ng
AgeCommit message (Collapse)Author
2011-07-15toolchain/crosstool-NG: use the package infrastructureYann E. MORIN
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>
2011-07-13toolchain/crosstool-ng: allow pre-downloading the sourcesYann E. MORIN
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>
2011-05-22toolchain/crosstool-NG: fix up ct-ng config file to saner defaultsYann E. MORIN
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>
2011-05-22toolchain/crosstool-NG: update to 1.11.3Yann E. MORIN
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>
2011-05-22toolchain/crosstool-NG: bundle one CT-NG config file for each libc famillyYann E. MORIN
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>
2011-04-24toolchain/crosstool-NG: correctly copy the dynamic linkerYann E. MORIN
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>
2011-04-20toolchain/crosstool-NG: bump version to 1.10.1Yann E. MORIN
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>
2011-04-20toolchain/crosstool-NG: fix sysroot nameYann E. MORIN
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>
2011-04-19crosstool-ng: fix target libc install after s/sys-root/sysroot/ renamePeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-25crosstool-ng: fix ctng-menuconfig with ccache enabledPeter Korsgaard
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>
2011-02-17toolchain/ct-ng: use program_invocation_name option from BR configYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-10toolchain/ct-ng: use soft-float option from BR configYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-10toolchain/ct-ng: use processor variant from BR configYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-10toolchain/ct-ng: use MMU option from the BR configYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-10toolchain/ct-ng: update to crosstool-NG 1.10.0Yann E. MORIN
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>
2011-01-26Use 'sysroot' rather than 'sys-root' for the sysroot/staging_dirPeter Korsgaard
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>
2011-01-25crosstool-ng: don't remove installation directory before installingPeter Korsgaard
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>
2011-01-25crosstool-ng: install toolchain into HOST_DIR like the internal toolchainPeter Korsgaard
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>
2011-01-25crosstool-ng: Use same naming convention as internal toolchainsPeter Korsgaard
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>
2010-12-13toolchain: more verbose in crosstool-ng backendThomas Petazzoni
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>
2010-12-13toolchain: expose thread options in the Crosstool-NG backendThomas Petazzoni
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>
2010-12-13toolchain: rework C++ optionsThomas Petazzoni
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>
2010-12-13toolchain: remove toolchain-specific strippingThomas Petazzoni
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>
2010-12-13toolchain: Improve C library option selectionThomas Petazzoni
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>
2010-11-29toolchain/crosstool-NG: use HOST_PATH when building the toolchainYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-27toolchain/crosstool-NG: use RPC optionYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: use IPv6 optionYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: use LFS optionYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: use locales optionYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: use wide-char optionYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: add C library config mungingYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: move munging functionsYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-27toolchain/crosstool-NG: use a copy of the uClibc .configYann E. MORIN
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>
2010-11-27toolchain/crosstool-NG: reorder sed expressionsYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-11-27toolchain/crosstool-NG: add dependencies on host- toolsYann E. MORIN
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>
2010-11-03toolchain/crosstool-ng: use global BR2 version stringYann E. MORIN
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-13toolchain-crosstool-ng: fix arch for powerpcPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-10-01toolchain: add new toolchain backend: crosstool-NGYann E. MORIN
[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>