summaryrefslogtreecommitdiff
path: root/scripts/build
AgeCommit message (Collapse)AuthorFilesLines
2010-12-29cc/gcc: build lto-plugin if binutils' gold is builtYann E. MORIN"1-0/+10
To properly enable LTO with gold, gcc has to install a plugin that gold uses to handle the LTO information. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29binutils/binutils: add wrapper to gold and ldYann E. MORIN"2-1/+28
When both gold and ld are installed, add a wrapper that calls to either gold or ld. In case the wrapper is installed, we also need to symlink ld.bfd and ld.gold for the core_cc steps. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02binutils/binutils: add support for threaded goldYann E. MORIN"1-0/+3
When configured with support for threads, gold can link in parallel, possibly cooperating with a make jobserver. Add an option enabling threads. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02binutils/binutils: add support for pluginsYann E. MORIN"1-0/+3
Add an option to enable plugins support in binutils. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-27binutils/binutils: add option to enable goldYann E. MORIN"1-0/+20
gold is a new, optimised, multi-threaded linker with support for plugins. Add support for gold starting with binutils 2.21. Although 2.20 also had gold, the configure flags have changed, and supporting 2.20 would be a mess in the code. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29complibs/libelf: build with -fPICYann E. MORIN"1-0/+2
libelf is used by gcc to build the lto-plugin used by binutils' gold to perform LTO. This requires that files in libelf be compiled with -fPIC to generate a proper .so. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03libc/uClibc: normalize uclibc hidden version namesBryan Hundven1-4/+4
Hidden version names for uClibc conflicted: LIBC_UCLIBC_V_0_9_30_2 LIBC_V_0_9_30_1 name them constantly as: LIBC_UCLIBC_V_<version> Also update the build script where we use snapshots by version or snapshots by date. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-29internals: properly remove all docsYann E. MORIN"1-3/+3
Part of the installed doc was not removed (if configured to). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22libc/eglibc: fix installed scriptsBryan Hundven1-0/+14
Like rev 2002, eglibc installs some bash scripts, but use the path to the buildtool bash as the interpreter (on the shebang line). This is only a symlink to the real bash, and thus is not available at runtime. Fix that by assuming that shell on the target *will* be /bin/bash. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-22kernel/linux: Cleanup unneeded files from 'headers_check' and 'headers_install'Yann E. MORIN"1-1/+9
headers_install makes .install and ..install.cmd files. headers_check makes .check and ..check.cmd files. Remove these files uncoditionaly after installing (and checking) header files into the sys-root. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> [Yann E. MORIN: reformat the patch, move hunk out of headers_check conditional] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-03complibs/libelf: use host compilerKalle Kankare1-0/+1
It appears, that the configure scripts of libelf versions 0.8.13 and 0.8.12 do not honour the --host option. The compiler must be given as an environment variable or the process will use the command "gcc" as the compiler. It seems that this is already done in the function do_libelf_target in scripts/build/companion_libs/libelf.sh, but not in function do_libelf.
2010-12-12internals: fix strippingYann E. MORIN"1-1/+1
Do not try to strip any script. Previously, only shell scripts were ignored, but when the Java frontend is installed, it also installs a Python script. So we have to ignore any "script text executable", and not restrict it to "shell script text executable". Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-05scripts/internals: strip all executablesYann E. MORIN"1-8/+14
Using a list of files to strip misses a few of them. Now, scan appropriate directories, and strip all ELF executables and shared objects. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09cc/gcc: build bare-metal gcc staticallyBryan Hundven"1-13/+47
- add a new parameter to do_cc_core: build_statically=[yes|no] - pass build_statically=yes in core_pass_2 when doing bare_metal - fix handling the static / static libstdc++ / static complibs stuff - add a commment to keep both blocks (in core and final) in sync Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09cc/gcc: build final gcc staticallyBryan Hundven"1-11/+24
If the global static option is set, then build the final gcc statically. Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09binutils/binutils: build staticallyBryan Hundven"1-1/+8
If the global static option is set, then build binutils statically. Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-28complibs/cloog: fix linking with libstdc++Yann E. MORIN"1-1/+2
This rules out 0.15.5 and previous versions, that did not have this option, so remove them from the list. Anyway, they were marked 'OBSOLETE', so it's not a big loss... [Yann E. MORIN: remove obsolete versions] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16scripts: remove aria2c as downloader, retain only curl and wgetYann E. MORIN"1-6/+0
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-18complibs/CLooG: only install the librariesYann E. MORIN"1-5/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23scripts/xldd: report appropriate load address for 32- or 64-bitYann E. MORIN"1-0/+1
For 32-bit target systems, report 4-byte (8-xdigit) wide adresses, and for 64-bit, report 8-byte (16-xdigit) wide adresses. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23scripts/xldd: fix space-damageYann E. MORIN"1-7/+7
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23scripts/xldd: fix version stringYann E. MORIN"1-1/+2
The version string was hard-coded. Now, the version string follows the crosstool-NG version. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-11libc/*glibc: enable selection of the oldest supported ABIYann E. MORIN"2-0/+8
[Yann E. MORIN: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-10libc/*glibc: add option to disable symbols versioningYann E. MORIN"2-0/+8
[Yann E. MORIN: split the original patch] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-09libc/eglibc: fix downloadingBob Dunlop1-1/+1
Since Subversion 1.6.13 was released, it is no longer possible to checkout/export to the current working directory using '.' (eg. "svn co bla://blabla/foo/bar ." no longer extracts the content of bar into ./ but into ./bar). Fix this by luring Subversion to extract into "$(pwd)", which has the advantage of working both with all known versions so far. At the same time, remove the useless redirection.
2010-10-22libc/newlib: add option to compile support for IOs on C99 formatsYann E. MORIN"1-0/+5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-22libc/newlib: add option to compile support for long long IOsYann E. MORIN"1-0/+5
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
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"1-2/+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 "FILE" and "CFG" debug levels.Anthony Foiani23-39/+39
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-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-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-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-21internals: call strip in a portable wayTitus von Boxberg1-5/+14
strip on CT_HOST darwin does not want --strip-all or -v