summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFilesLines
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!
2010-07-19complibs: fix using static companion librariesBart vdr. Meulen1-1/+1
When building a cross-compiler for a target which uses a file extension for binaries the symbolic link to cc is not created correctly because the lookup of the gcc binary is done in a incorrect path Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-07-17scripts/functions: recognise Cygwin build hostsYann E. MORIN"1-1/+1
2010-07-17scripts: use 'hg archive' to create release tarballsYann E. MORIN"1-10/+3
2010-07-15scripts: update config.{guess,sub}Yann E. MORIN"2-29/+62
2010-07-11debug/gdb: properly remove build ticYann E. MORIN"1-1/+1
tic is isntalled in buildtools, not in the toolchain's bin dir. Plus, it may have an extension...
2010-07-11debug/gdb: Fix compilation for Mingw hostsYann E. MORIN"1-61/+72
GDB requires PDcurses instead of ncurses while running on Windows. So, do not always compile ncurses in case GDB needs to build. PDcurses is provided by an earlier build step and is not described in this file. Signed-off-by: Remy Bohmer <linux@bohmer.net> [yann.morin.1998@anciense.nib.fr: we already have a way to detect ncurses usage] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11kernel/mingw: add target librariesYann E. MORIN"1-1/+79
Add several development libraries to the build of the mingw cross-compiler to be used on target Libraries: PDCurses (port of the ncurses library) GnuRX (the regex library) DirectX OpenGL Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com> [yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-11kernel: add mingwYann E. MORIN"3-1/+109
Add the option to build a cross-compiler for kernel type 'mingw'. The resulting cross-compiler can be used to build applications on a Linux host that can be run on a Windows target. Compiler is build using the mingwrt and w32-api packages aviable from the MinGW project (http://sourceforge.net/projects/mingw). The windows headers (w32-api package) are extracting with the kernel_headers step The libraries and other headers from both packages are build and installed in the various steps of libc Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com> [yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-07-10cc/gcc: gcc-4.4 does not use MPCYann E. MORIN"1-6/+6
As reported by Johannes Stezenbach, see thread at: http://sourceware.org/ml/crossgcc/2010-07/msg00017.html
2010-07-02libc/uClibc: enable NPTL for snapshotsYann E. MORIN"1-5/+73
Recently, NPTL has matured a lot in uClibc, and more and more people are interested to at least give it a try. So enable it.