summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
2010-10-22libc/newlib: add option to compile support for float IOsYann E. MORIN"1-1/+16
Adds support to enable/disable IOs of floating point values (float, double, and long double). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-31scripts: do not provide to-sysroot include symlinkYann E. MORIN"2-4/+1
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-24Merge.Yann E. MORIN"1-9/+0
2010-10-24Revert #a09246191120: cc/gcc: fix C++ headers locationYann E. MORIN"1-9/+0
This was intended as a fix for g++ not finding its headers, but it breaks in othe horrible ways. So just revert it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-22scripts: add STATE logging level for state save/restore output.Anthony Foiani1-13/+15
The save/restore state output is voluminous; using this flag allows us to quickly see or ignore when something is just being saved. [Yann E. MORIN: this is a blind log level, and is used only to search in the build-log afterward.] Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-22scripts: add "FILE" and "CFG" debug levels.Anthony Foiani24-45/+49
I ran into some minor difficulties looking through the build log for a particular file: I wasn't interested in seeing it unpacked, but only when it is built or installed. Adding these two levels allows me to differentiate between those cases. [Yann E. MORIN: Those are blind log levels, and are used only to search in the build-log afterward.] Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
2010-10-20cc/gcc: fix 128-bit long doubles optionYann E. MORIN"1-4/+4
Spotted by Arnaud LACOMBE: http://sourceware.org/ml/crossgcc/2010-10/msg00122.html Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08cc/gcc: fix C++ headers locationYann E. MORIN"1-0/+9
In case we build the C++ compiler, we have to tell gcc where to put the C++ headers, or else it will try to # put it in prefix/tuple/include, which we make a symlink to sysroot/usr/include during the build, and that we delete (the symlink!) after the build, but gcc will not look in sysroot/usr/inlcude for C++ headers by default. Implements a fix suggested by: Bryan Hundven <bryanhundven@gmail.com> Reported-by: Anthony Foiani <anthony.foiani@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-07scripts: update/fix patch-reworkYann E. MORIN"1-9/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-09cc/gcc: add an option to enable/disable build of libsspYann E. MORIN"1-0/+5
libssp is the run-time Stack-Smashing Protection library. It can be usefull to have or miss, depends... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08cc/gcc: add an option to enable/disable build of libgompYann E. MORIN"1-0/+6
libgomp is the GNU implementation of the OpenMP API. It can be usefull to have or miss, depends... Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-09cc/gcc: add option to enable 128-bit long doublesYann E. MORIN"1-0/+12
Needed by some PPC targets, at least. Requires gcc 4.2+ (noticed by Arnaud LACOMBE). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08cc/gcc: fix enabling/disabling LTOYann E. MORIN"1-0/+2
There is a ./configure option for that. 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-10-03complibs: better deduce whether to backup complibs or notYann E. MORIN"1-6/+2
To decide whether we need to backup the companion libraries, do not rely on the !shared case. In the future other cases may require not to save the companion libraries (eg. if using the ones provided by the host distro). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12cc/gcc: disable complibs if not selectedYann E. MORIN"1-0/+10
Force gcc to not link with some companion libraries when there are not needed (because selected-out). There is no option to tell gcc *not* to build the Graphite and/or LTO stuff. They *will* be built if gcc finds the suitable companion libraries. If we do not provide them, but the host has them, then gcc *will* find them, and link with them. Consider the following: - host has suitable PPL and CLooG (eg. Debian Squeeze) - user wants to build gcc>=4.4 - user de-selects GRAPHITE - gcc will find the hosts PPL and CLooG, and will use them - the user moves the toolchain to an older host that does not have them (eg. Debian Lenny) - the toolchain fails, when it was properly setup not to So, explicitly tell gcc *not* to use unneeded companion libs. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12cc/gcc: do not force use of non-vital companion librariesYann E. MORIN"1-6/+10
While GMP and MPFR are required by gcc>=4.3 (to build the frontends), and MPC is required by gcc>=4.5, the other libs are not. If they are present then gcc will enable advanced features; if they are missing, then gcc will (should) simply disable those features. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12libc/uClibc: use the MIPS ABI selectionYann E. MORIN"1-0/+34
Use the MIPS ABI selection to properly munge the uClibc config file. This has the side effect to force the ISA: - n32 ABI -> MIPS-III ISA - n64 ABI -> MIPS64 ISA Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-12arch/mips: add option for MIPS ABIsYann E. MORIN"1-0/+4
This adds selection for one of the o32, n32 and n64 ABIs. Later, we can easily use those boolean options, rather than relying on a user-supplied string option. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-11scripts/internal: cleanup build symlinksYann E. MORIN"1-0/+20
The symlinks are needed only during the build process. The final gcc will still search those dirs, but will also search the standard lib/ dirs, so we can get rid of the symlinks. 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-09-10libc/uClibc: change munging code based on target archYann E. MORIN"1-14/+16
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23debug/gdb: use libexpatYann E. MORIN"1-0/+36
gdb can use libexpat to parse target memory descriptions, among other things. See: http://sourceware.org/ml/crossgcc/2010-08/msg00168.html Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23debug/gdb: install dependable libs in a generic target static libs dirYann E. MORIN"1-5/+10
For now, ncurses is the only dependable target library built for gdb. But expat is coming, and there's no reason to install each library in its own place. So, install ncurses in a generic directory, where other dependable libraries can be installed as well. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23complibs: noone is using companion libs on the target; nuke themYann E. MORIN"5-89/+2
As there's no longer any user of the companion libraries on the target, nuke the build for the target. Well, at least, there's libelf that's still needed by ltrace, so we keep it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23debug/gdb: companion libs are not usedYann E. MORIN"1-11/+0
Although the gdb ./configure advertises for GMP and MPFR, those libraries are not used by gdb (the ./configure is used across different packages, hence the check for GMP/MPFR). See: http://sourceware.org/ml/crossgcc/2010-08/msg00168.html The same applies to MPC. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-23binutils/binutils: companion libraries are not usedYann E. MORIN"1-11/+0
GNU binutils does not use the companion libraries, although ./configure advertises switches for them. This is because the configure file is shared between different packages, and is a bit 'lax' about what it checks. See: http://sourceware.org/ml/crossgcc/2010-08/msg00160.html http://sourceware.org/ml/crossgcc/2010-08/msg00161.html Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-26scripts/log: do not interpret log string as printf formatYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-21internals: call strip in a portable wayTitus von Boxberg1-5/+14
strip on CT_HOST darwin does not want --strip-all or -v
2010-08-17libc/mingw: fix space-damageYann E. MORIN"1-8/+8
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-14mingw32: enable sysrooted toolchainsEsben Haabendal1-1/+8
When targeting mingw32, gcc expects to find its include files in "mingw/include" instead of the traditional "usr/include". [Yann E. MORIN: split the original patch]
2010-08-14libc/mingw: use pre-set headers dirEsben Haabendal1-6/+6
There is a variable that contains the headers directory, so there's no need to re-compute it again. [Yann E. MORIN: split the original patch]
2010-08-14kernel/mingw32: use pre-set headers dirEsben Haabendal1-3/+3
There is a variable that contains the headers directory, so there's no need to re-compute it again. [Yann E. MORIN: split the original patch]
2010-08-11libc/uClibc: fix downloading pregen localesYann E. MORIN"1-1/+1
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11scripts: in case of failed download, remove partial filesYann E. MORIN"1-2/+2
It happens from time to time that the server mis-behaves, and breaks the connection right in the middle of nowhere, for no good reason, leaving us with a partial file, on which the extract pass would choke. Remove partial downloads, to fail early. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-11scripts: when downloading, use aria2 only when //Yann E. MORIN"1-1/+1
Even when // downloads are not enabled, aria2 can fail on some servers (eg. uclibc.org). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-10scripts: better sanitise the patch namesYann E. MORIN"1-1/+1
When generating the fixes-patches, better sanitise the generated file names, as it seems to raise a few issues for some people.
2010-08-05complibs/cloog: with static ppl, correctly link with libmYann E. MORIN"1-1/+1
On some Fedora boxen (at least FC13), it is also required to link with libm when static ppl is used. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-08-05cc/gcc: with static ppl, correctly link with libmDarcy Watkins1-2/+4
On some Fedora boxen (at least FC13), it is also required to link with libm when static ppl is used.
2010-05-27scripts: add option to strip all toolchain executablesRemy Bohmer2-0/+18
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-30Fix CT_SanitizePathJohannes Stezenbach1-7/+5
Replace the over-engineered and buggy test in CT_SanitizePath with a straight forward string pattern match, and also handle empty PATH elements which are qeuivalent to ".". Thanks-To: Arnaud Lacombe <lacombar@gmail.com> Signed-off-by: Johannes Stezenbach <js@sig21.net>
2010-07-29cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newerJohannes Stezenbach1-4/+10
Idea and know-how taken from CodeSourcery build script. Normal build: $ ldd arm-unknown-linux-uclibcgnueabi-gcc linux-gate.so.1 => (0xb77f3000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb76e8000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb75a1000) libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb757a000) /lib/ld-linux.so.2 (0xb77f4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb755c000) CC_STATIC_LIBSTDCXX=y: $ ldd arm-unknown-linux-uclibcgnueabi-gcc linux-gate.so.1 => (0xb7843000) libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb76e6000) /lib/ld-linux.so.2 (0xb7844000) I made CC_STATIC_LIBSTDCXX default=y since I think it is always desirable. Signed-off-by: Johannes Stezenbach <js@sig21.net>
2010-07-29scripts: remove . from $PATHYann E. MORIN"2-0/+21
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-07-28cc/gcc: add option to enable/disable libmudflapYann E. MORIN"1-0/+6
For some scenarii, libmudflap is not very usefull or can break the build. Make in an optioon that defaults to 'N' to be on the safe side. For the core gcc-s, there is absolutely no need to build libmidflap. Idea from: Bernhard Pfund <bernhard@chapter7.ch>
2010-07-28cc/gcc: make sjlj config option a tristateYann E. MORIN"1-2/+5
A tristate fits better here than a choice.
2010-07-27libc/uClibc: fix space damageYann E. MORIN"1-37/+37
2010-07-27libc/uClibc: fix using pre-generated locale dataYann E. MORIN"1-4/+19
Some time, someone updated the locale Makefile to use newer pre-generated locales data, but did not upload those. So we just force using the existing, ageing archive, dating back 20030818. Sigh...
2010-07-27libc/uClibc: do not systematically use pre-generated locale dataYann E. MORIN"1-12/+27
It seems that using pre-generated locale data can be more problematic than usefull in some circumstances. Offer a config knob to enable/disable use of the pregen locale data. Also, do not extract pregen locales data ourselves, it's broken.
2010-07-22scripts: add a cross-ldd-likeYann E. MORIN"2-0/+227
Add a cross-ldd that mimicks a native ldd.
2010-07-22libc/uClibc: do not install cross-lddYann E. MORIN"1-11/+0
I was unable to make the cross-ldd from uClibc to work, and it is not possible to build it on non-POSIX system. Besides, we have a generic script that is in the starting-blocks to replace it, that will work for any C library, and also will work on non-POSIX systems. Bonus!