summaryrefslogtreecommitdiff
path: root/scripts/crosstool-NG.sh.in
AgeCommit message (Collapse)AuthorFilesLines
2011-04-06complibs: disable building shared libsYann E. MORIN"1-8/+1
Managing the shared version of the companion libraries has become cumbersome. Also, it will one day be possible to use the companion libraries from the host distribution, and then we will be able to easily use either shared or static libs. As a side note, while working on the canadian-rework series, it has become quite more complex to properly handle shared companion libraries, as they need to be built both for the build and gost systems. That's not easy to handle. At all. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19scripts: leave changelog in build dir, copy to install dirYann E. MORIN"1-20/+7
Users tend to look for the build log in the current working directory, rather than in the toolchain's installation dir. While bundling the build log in the toolchain installation dir is nice for distribution and review, it can be easier to have the build log readily available in the working directory, as it is quicker to get to it. So, the build log stays in the working directory until the toolchain is completely and successfully built, and then a (compressed) copy is made. Reported-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-19buildtools: the buildtools dir is in fact a prefixYann E. MORIN"1-8/+8
Consider the buildtools install directory as a prefix directory, that is, install buildtools in prefix/bin/, not in prefix/. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-23buildtools: move to working directoryYann E. MORIN"1-8/+8
There is absolutely *no* reason for the buildtools (wrappers to gcc, g++, as, ld... for the local machine) to be in the toolchain directory. Moreover, they are removed after the build completes. Move them out of the toolchain directory, and into the build directory (but yet the part specific to the current toolchain). This means we no longer need to explicitly remove them either, BTW, but we need to save/restore them for the restart feature. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-20buildtools: store path to buildtools in a variableYann E. MORIN"1-7/+8
Currently, the buildtools are installed relative to ${CT_PREFIX_DIR}. Change that by introducing ${CT_BUILDTOOLS_DIR}, which is still set relative to ${CT_PREFIX_DIR}, but which will make it easy to change in the future. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: create the makeinfo wrapper before we set PATHYann E. MORIN"1-7/+7
If we set PATH to the tools wrappers before we create the makeinfo wrapper, then we may well wrap an existing wrapper from a previous run. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-26scripts: squash the multi-slash in the sysroot symlinkYann E. MORIN"1-3/+4
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28config: add an option not to remove the destination directoryYann E. MORIN"1-1/+1
In certain circumstances, removing the destination/installation directory is a bad idea. For example, when the build environment is already taking care of sanitising the build tree, and pre-installs stuff in there, it is a very bad idea to remove the destination directory. This happens now in buildroot, as the crostool-NG backend now installs the toolchain in the common host-tools directory, and pre-install there a few host-utilities (eg. host-automake and host-gawk). Provide a config knob to turn on/off the removal of the destination directory, defaulting to 'y' (previous behavior), and forced to 'n' when used as a backend. Reported-by: Peter Korsgaard <jacmet@sunsite.dk> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25scripts: fix double slash in pathsYann E. MORIN"1-0/+2
Computed paths may contain double slashes. This is not an issue but it is just ugly to look at. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25config: add an option to name the sysroot directoryYann E. MORIN"1-4/+11
Depending on local policies, some users have expressed a need to have the sysroot be named differently than the hard-coded name. Add an option for that. Default to 'sysroot' to match the existing literature. While at it, replace 'sys-root' with 'sysroot' everywhere we reference the sysroot. Reported-by: Alexey Kuznetsov <Alexey.KUZNETSOV@youtransactor.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"1-4/+3
The reunification of the glibc/eglibc code paths exposed a nasty bug in the glibc build: use of PARALLELMFLAGS breaks the build. See the explanations in that bug report against FC6: https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=212111 Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-01scripts: also overide LANGYann E. MORIN"1-1/+4
On some systems, we also need to overide LANG as well as LC_ALL. Reported-by: Geoffrey Lee <geoffl@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-31scripts: do not provide to-sysroot include symlinkYann E. MORIN"1-2/+0
Do not provide the PREFIX/TUPLE/include -> SYSROOT/usr/include symlink, and let gcc install its dependable C++ headers were it sees fit to install them. See the test by Anthony (by the end of the messages): http://sourceware.org/ml/crossgcc/2010-10/msg00129.html http://sourceware.org/ml/crossgcc/2010-10/msg00134.html See also the comment by Arnaud: http://sourceware.org/ml/crossgcc/2010-10/msg00157.html Reported-by: Anthony Foiani <anthony.foiani@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-07scripts: always create lib32 and lib64 symlinksYann E. MORIN"1-17/+16
Unconditionally create the lib32 -> lib/ and lib64 -> lib/ symlinks. This is reportedly a fix to build a toolchain for a 32-bit target on a 'pure' 64-bit host (eg. on Fedora FC12, host libs are in lib64/, and there is no lib -> lib64 symlink, as we can see on other distors, as Debian). As gcc only puts static host lib in lib64/ (along with target files in subdirs), we can safely create the symlinks. Also note that the symlinks are summarily removed at the end of the build. Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com> [Yann E. MORIN: fix a comment, rephrase the commit log] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-10scripts: hack-in lib32->lib symlinksYann E. MORIN"1-4/+12
Some archs (eg. ppc64 with n32 ABI) will install their variants in lib32/ instead of lib/, so do for lib32 as we do for lib64->lib symlinks. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-05-27scripts: add option to strip all toolchain executablesRemy Bohmer1-0/+3
To reduce filesizes of the toolchain and even improve build times of projects to be build with this toolchain it is usefull to strip the delivered toolchain executables. Since it is not likely that we will debug the toolchain executables itself we do not need the debug information inside the executables itself. Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-07-29scripts: remove . from $PATHYann E. MORIN"1-0/+3
Add CT_SanitizePath function which removes entries referring to ., /tmp and non-existing directories from $PATH, and call it early in the build script. If . is in PATH, gcc-4.4.4 build breaks: [ALL ] checking what assembler to use... /tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as ... [ALL ] config.status: creating as i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler, but config.status creates a local "as" script which is calling the host assembler. Signed-off-by: Johannes Stezenbach <js@sig21.net> [Yann E. MORIN: style fixes + explanations] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-05-22test-suite: apply cleanup passYann E. MORIN"1-1/+1
Remove all non-modifiable items (target tuple, gcc version, toolchain path...) Makefile syntax ( use $(...) instead of ${...} ) Update doc Space-damage cleanups
2010-05-19test-suite: Added new test suite feature (experimental)Martin Lund1-0/+7
This patch adds support for installing the gcc test suite. A helper Makefile is provided for building and running the gcc tests. The default configuration runs all gcc tests and requires automatic ssh/scp login access to a networked target board. See README for more details. Note: Current feature is tested with the powerpc-unknown-linux-gnu sample but it should work with others as well. Signed-off-by: Martin Lund <mgl@doredevelopment.dk>
2010-05-19scripts/crosstool-NG.sh.in: On MacOS/BSD use the output of CT_DoConfigGuess ↵Titus von Boxberg1-3/+3
for CT_BUILD. On 64bit MacOS `gcc -dumpmachine` gives i686 for the host machine. This conflicts with the expectations of some following configure scripts that a 64bit x86 is given as x86_64; i686 is understood as a 32 bit machine. config.guess sets the host machine in CT_BUILD correctly. yann.morin.1998@anciens.enib.fr: As suggested by Khem RAJ on the ML, always use config.guess.
2010-05-19crosstool-NG.sh: suppress failure message from uname -oTitus von Boxberg1-2/+1
On non-GNU systems (BSD/MacOS) there is no uname -o. Suppress the failure message on these systems in the call to set CT_SYS_OS (uname -s actually sets this variable). yann.morin.1998@anciens.enib.fr: remove 'uname -o' altogether.
2010-04-28scripts: don't set LD_PRELOAD with static companion librariesYann E. MORIN"1-4/+3
When cpmpanion libraries are built statically, it is useless to set LD_PRELOAD. Worse, it might break the build in some corner cases.
2010-04-20scripts: also prepare include symlink to sysroot/includeYann E. MORIN"1-2/+5
2010-04-19scripts: check g++ only for hostYann E. MORIN"1-1/+5
g++ is only needed when building additonal libs on the HOST, so check wheter g++ is available for the HOST compiler only Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com> [Yann E. MORIN: fix space damage] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-04-15scripts: don't print the build system guess warningYann E. MORIN"1-1/+0
2010-04-11complibs: save directory with static complibs for stop/restartYann E. MORIN"1-0/+1
2010-04-11complibs: don't install in toolchain dir when built as staticYann E. MORIN"1-0/+5
2010-03-16tools: move sstrip to the binary utilities menuYann E. MORIN"1-3/+3
sstrip is now alone in its 'tools' menu, and we will probably never gain any other 'tool'. Besides, sstrip is just strip, but a little bit more agressive, so it deserves going to the 'binary utilities' menu.
2010-02-02scripts: use more portable sed optionsTitus von Boxberg"1-1/+1
No need for extended regular expressions here.
2010-02-17comp-libs: make libelf a companion libraryYann E. MORIN"1-0/+3
When gcc-4.5 is out, it will require libelf. So better make it a companion library now rather than postponing the ineluctable.
2010-02-17scripts: fix dumping 'other environment'Yann E. MORIN"1-2/+2
Do not sort the environment, it cripples the output.
2010-02-02scripts: also dump the rest of the environmentTitus von Boxberg1-0/+2
2010-02-02scripts: use kernel name (uname -s) when system name (uname -o) is not availabeTitus von Boxberg1-2/+2
'uname -o' is a GNU extension.
2010-01-29Merge.Yann E. MORIN"1-3/+0
2010-01-29global: do not offer the renice option, let's the user handle thatYann E. MORIN"1-3/+0
It's broken anyway. Eg.: - user is already niced at 10 - user configures to renice at 5 - breaks because user is not allowed to 'boost' his/her nice value Bette let the user handle the renice with: nice -XX ct-ng 'action'
2010-01-29binutils/elf2flt: activate elf2flt buildYann E. MORIN"1-0/+2
The code has been lying around inactivated for some time. Let's enable it at last, and see if any one needs it.
2010-01-12companion_tools/autoconf: add autoconf toolYann E. MORIN"1-0/+10
Initial version of adding autoconf as a companion tool. Signed-off-by: Richard Strand <richard.strand@icomera.com> [yann.morin.1998@anciens.enib.fr: use generic overide tools dir] [yann.morin.1998@anciens.enib.fr: update menu entries] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-01-12scripts/crosstool-ng: Change overide bin dirYann E. MORIN"1-6/+6
Change the overide bin dir so it can be used by companion tools Signed-off-by: Richard Strand <richard.strand@icomera.com> [yann.morin.1998@anciens.enib.fr: more generic overide tools dir] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2009-11-25scripts/functions: do not double check if downloads are allowedYann E. MORIN"1-13/+17
Only call the *_get functions if downloads are allowed, so there is no need to check it again in the retrieval wrappers.
2009-12-19scripts: check for, and warn about an unset CT_PREFIX_DIRYann E. MORIN"1-0/+3
The user shall provide a directory to install the toolchain into. If he/she does not, this is an error, and shall be detected properly, rather than relying on failure down the road. Thanks to "Pedro I. Sanchez" <psanchez@colcan.ca> for pointing out the issue: http://sourceware.org/ml/crossgcc/2009-12/msg00011.html
2009-12-14scripts: correctly warn when the local tarballs directory does not existYann E. MORIN"1-2/+4
Warn about a missing local tarball directory, only if it was configured. Avoid the spurious message: Directory '${CT_LOCAL_TARBALLS_DIR}' does not exist. Will not save downloaded tarballs to local storage. Thanks to "Pedro I. Sanchez" <psanchez@colcan.ca> for pointing out the issue: http://sourceware.org/ml/crossgcc/2009-12/msg00011.html
2009-09-06crosstool.sh.in: better mesage when creating script-overridesYann E. MORIN"1-1/+1
2009-08-03[config] Merge CONFIG_SHELL selection.Yann E. MORIN"1-1/+1
2009-08-02[config] Allow user to specify custom CONFIG_SHELLYann E. MORIN"1-0/+1
In case the shell the user wants to use as CONFIG_SHELL is located in a weird place (eg. /opt/bash/bin/bash), or is weirdly named (eg. bash-4), let the user enter the patch to the shell.
2009-08-02[config] Add bash as a possible CONFIG_SHELLYann E. MORIN"1-0/+1
On some systems and/or for some components, it may be necessary to explicitly use bash as the shell used by ./configure and Makefiles.
2009-08-02[config] Change the way to select the CONFIG_SHELLYann E. MORIN"1-3/+9
Transform the single boolean option to a 'choice' selection with two options: "sh" and "ash". This is needed to later add "bash" as override.
2009-08-02Add g++ to required toolsBart vdr. Meulen1-1/+1
Because gmp is now always build with --enable-cxx, g++ has become a required tool Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com> ---
2009-06-26Cleanup the handling of canadian settingsYann E. MORIN"1-6/+11
Bring handling the 'canadian' settings as par with the existing 'cross' settings.
2009-06-26Add support code for the canadian-cross case.Bart van der Meulen1-3/+13
Add implementation for a candadian build option already present in crosstool in order to build a cross-compiler where build != host != target Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>
2009-06-26Don't use prefix/bin to install the buildtools.Bart van der Meulen1-6/+7
Collect the build tools in a seperate folder in order to prevent accidental calling our newly build tools. Signed-off-by: Bart van der Meulen <bartvdrmeulen@gmail.com>