summaryrefslogtreecommitdiff
path: root/scripts/build/cc
AgeCommit message (Collapse)AuthorFilesLines
2011-07-12scripts, cc/gcc: do not fail on existing symlinks or build.logYann E. MORIN"1-2/+2
If the user builds a toolchain over an existing one, so, without removing CT_PREFIX_DIR, the build fails as the symlinks already exist, as does the build.log. This can also happen (for build.log) if the user first ran in download- or extract-only. Patch (with no SoB) originally from: Phil Wilshire <phil.wilshire@overturenetworks.com> Modified by me as it did not apply cleanly. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-14cc/gcc: do not build libgomp or libmudflap in the core stepsYann E. MORIN"1-0/+3
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-14cc/gcc: fix passing args with spaces when calling core gccYann E. MORIN"1-1/+1
Spaces in arguments to the core gcc backend were not handled. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-03cc/gcc: fix non-MIPS buildsYann E. MORIN"1-30/+34
The new MIPS-specific options are not valid for other targets. Also, move the arch-specific setting lower in the extra_config setting. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add MIPS spercific configure optionsYann E. MORIN"1-0/+32
Add the following MIPS specific options when configuring gcc: --with(out)-llsc --with(out)-synci --with(out)-mips-plt --with-divide=type Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add option for linker hash styleYann E. MORIN"1-0/+10
Add an option to specify the hash type that gcc will ask the linker to use. It is a provision for the upcoming 4.7, as no version currently supports it. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27cc/gcc: add build-id optionYann E. MORIN"1-0/+8
Add an option to configure gcc with --enable-linker-build-id. Reported-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-28cc/gcc: remove --enable-symver optionYann E. MORIN"1-4/+0
That option is coming from the original crosstool, and is not entirely understand here. Moreover, it breaks with newer gcc-s: 4.6.1 now breaks while configuring libjava (and probably some other libs as well, untested). There is an related bug report to the gcc BZ: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49555 If need be, the old behavior can be restored with: CC_CORE_EXTRA_CONFIG_ARRAY="--enable-symver=gnu" CC_EXTRA_CONFIG_ARRAY="--enable-symver=gnu" Reported-by: Bryan Hundven <bryanhundven@gmail.com> Reviewed-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-03kconfig: prepend CT-NG's version tag to PKGVERSIONBenoît THÉBAUDEAU"1-4/+4
"crosstool-NG-${CT_VERSION}" is currently the default for TOOLCHAIN_PKGVERSION, and this options is passed as is to --with-pkgversion. This patch prepends "crosstool-NG ${CT_VERSION}" to TOOLCHAIN_PKGVERSION before passing it to --with-pkgversion. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-30cc/gcc: fix a misleading FIXMEYann E. MORIN"1-4/+4
The FIXME about the static libstdc++ is misleading; it only deserves being an INFO. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-31gcc: promote PKGVERSION and BUGURL options to toolchain levelBenoît THÉBAUDEAU"1-6/+10
This patch promotes the PKGVERSION and BUGURL options to toolchain level so that all toolchain components supporting them can benefit from them. These options are passed to configure through --with-pkgversion and --with-bugurl. They are supported by binutils 2.18+, gcc 4.3+, eglibc 2.9+ and gdb 7.0+. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-24scripts: fix broken variable nameBenoît THÉBAUDEAU"1-2/+2
This patch fixes a config variable name missing its 'CT_' prefix. Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-18config: rename variables that are arraysYann E. MORIN"1-2/+2
Make it explicit that a variable is an array bu the name of the variable. It will be used later when .config gets munged to allow both multiple arguments and arguments with spaces at the same time to be passed from the configuration down to the build scripts. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-15scripts: interpret *_EXTRA_CONFIG config variables arraysYann E. MORIN"1-2/+2
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-27cc/gcc: fix linking with static PPL 0.11+Yann E. MORIN"1-4/+32
PPL 0.11+ installs three libs: lippl, libppl_c and libpwl. libppl_c has a dependency on libpwl (at least for watchdog stuff). While gcc correctly links with libppl and libppl_c, it does not pull libpwl in. In case of shared libs, this is not a problem, as libppl_c has a NEEDED dependency on libpwl. But for static libs, that does not work. Although libppl_c.la exists and has a correct dependency on lipwl, somehow gcc misses it. So we have to force pulling libpwl when needed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26cc/gcc: fix building core when building staticallyYann E. MORIN"1-2/+2
There was a mishap when cut-n-pasting code from the final step into the core step: a variable was not renamed. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-20cc/gcc: log even moreYann E. MORIN"1-2/+2
Also log variable assignement for single commands. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17cc/gcc: add versions from LinaroYann E. MORIN"1-1/+15
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-28cc/gcc: enable plugins if neededYann E. MORIN"1-7/+4
Enabling plugins in binutils is not enough, and gcc also needs to be ./configured with --enable-plugins, although this is not documented anywhere... :-/ Reported-by: karthik duraisami <kdconstant@hotmail.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-22scripts: PARALLELMFLAGS is evil, renameYann E. MORIN"1-8/+8
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-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-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-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 Foiani1-6/+6
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-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-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-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-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-11kernel: add mingwYann E. MORIN"1-1/+8
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-06-17cc/gcc: add option do disable PCHYann E. MORIN"1-0/+3
In some cases, using Pre-Compiled Headers breaks the build. Ass an option to disable building the PCH, as suggested by: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974
2010-06-13cc/gcc: baremetal requires a two-pass processYann E. MORIN"1-4/+12
Here, we implement a highly ugly hack. I'm not proud of that one... To build the libstdc++ library, the compiler requires the C library. In case we build for non-baremetal, this is normally handled by the final step, later. But in the case of bare-metal, we never go through the final step (because it does not work, and it seems complex enough to make it work), so the baremetal compilers are issued out of the core step.
2010-06-13cc/gcc: store core build rules in an arrayYann E. MORIN"1-8/+6
Using an array makes it easier to add new rules. Besides, it is easy to expand from build rules to install rules
2010-06-13cc/gcc: implement default for core optionsYann E. MORIN"1-14/+15
2010-06-13cc/gcc: fix headers copy for core staticYann E. MORIN"1-2/+1
2010-05-24cc/gcc: Make usage of --enable-target-optspace configurableTitus von Boxberg1-2/+8
Optionally configure to compile gcc-internal libs with -Os. yann.morin.1998@anciens.enib.fr: Rename the config options, it is in the GCC /namespace/.
2010-04-09cc/gcc: use proper host compiler for canadian bare-metalRemy Bohmer1-1/+13
While compiling a canadian toolchain for host=mingw32, build=linux, target=m68k-elf the build fails because in this step of the gcc build the Host compiler is used in this stage with the build-flags for the build system. This results in an error where the header <sys/wait.h> cannot be found. This problem happens at least in the GCC-4.3.x and GCC-4.4.x range. This is solved by passing the proper compilers on the Make cmd-line Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-04-20cc/gcc: allow building a canadian bare-metal compilerBart vdr. Meulen1-19/+10
Previous addition of the canadian cross compiler did not allow to build a baremetal only variant, no reason why this is not allowed Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
2010-04-20cc/gcc: fix cc symlink when executables have an extensionYann E. MORIN"1-2/+8
When building a cross-compiler for a host which depends on file extensions the symlink for cc was not installed correctly Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com> [Yann E. MORIN: style fixes, enhancements, code prettying] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>