summaryrefslogtreecommitdiff
path: root/scripts/build/cc
AgeCommit message (Collapse)AuthorFilesLines
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>
2010-04-15cc/gcc: add support for 4.5.0 or later versionsYann E. MORIN"1-0/+6
starting with 4.5.0, gcc requires libelf.
2010-04-11scripts/functions: make CT_Patch dumberYann E. MORIN"1-1/+1
It is the responsibility of the caller to split the package name from its version. It already knows that.
2010-04-09cc/gcc: add bugurl and compiler version to core gcc compilerRemy Bohmer1-0/+4
When building for bare-metal the core-gcc compiler is delivered as final compiler, so the version info and bugurl is useful in the core compiler as well. Signed-off-by: Remy Bohmer <linux@bohmer.net>
2010-04-11complibs: don't install in toolchain dir when built as staticYann E. MORIN"1-24/+24
2010-04-10complibs: allow either static or shared buildYann E. MORIN"1-2/+18
2010-04-10complibs: build static librariesYann E. MORIN"1-0/+2
2010-04-07cc/gcc: fix thread-less final gcc buildArnaud Lacombe1-1/+9
If threads are disabled in libc, we don't want to enable them in the final compiler. Doing so pass the configure stage, but fails latter on a missing <pthread.h>. Moreover, we don't want to build libgomp if threads are disabled; its configure script would fails anyway. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-04-07cc/gcc: fix recent gcc buildArnaud Lacombe1-4/+4
This fix missed conversion of CT_GCC_USE_* to CT_CC_GCC_USE_*. Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-03-05cc/gcc: fix use of companion librariesYann E. MORIN"1-10/+18
2010-02-17complibs: split-up selection for individual libsYann E. MORIN"1-18/+10
2009-08-19Allow setting --enable-cxx-flags on gcc ./configureYann E. MORIN"1-0/+3
Some setups require one to pass extra CXX flags at the time of ./configure. Make it easy.
2009-08-19Make gcc's extra_config an array containing ./configure optionsYann E. MORIN"1-41/+50
Change extra_config from a string to a array of options.
2009-06-26Add support code for the canadian-cross case.Bart van der Meulen1-0/+8
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-05-27/devel/gcc-4.4:Yann E. MORIN"1-2/+18
- add gcc-4.4.0 patches, vampirised from the Gentoo patchset - gcc-4.4.0 auto-selects and uses appropriate companion linraries -------- diffstat follows -------- /devel/gcc-4.4/scripts/build/cc/gcc.sh | 20 18 2 0 + /devel/gcc-4.4/patches/gcc/4.4.0/280-freebsd.patch | 188 188 0 0 ++++++++++ /devel/gcc-4.4/patches/gcc/4.4.0/140-default-format-security.patch | 98 98 0 0 +++++ /devel/gcc-4.4/patches/gcc/4.4.0/290-freebsd.patch | 128 128 0 0 +++++++ /devel/gcc-4.4/patches/gcc/4.4.0/310-uclibc-conf.patch | 70 70 0 0 ++++ /devel/gcc-4.4/patches/gcc/4.4.0/240-libstdc++-pic.patch | 106 106 0 0 ++++++ /devel/gcc-4.4/patches/gcc/4.4.0/260-sh-libgcc-stacks.patch | 50 50 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/100-alpha-mieee-default.patch | 48 48 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/180-libgomp-no-werror.patch | 24 24 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/170-sparc64-bsd.patch | 58 58 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/200-libiberty.h-asprintf.patch | 30 30 0 0 ++ /devel/gcc-4.4/patches/gcc/4.4.0/220-libiberty-pic.patch | 22 22 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/110-trampolinewarn.patch | 54 54 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/160-netbsd-symbolic.patch | 22 22 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/190-flatten-switch-stmt-00.patch | 48 48 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/150-default-fortify-source.patch | 52 52 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/340-libmudflap-susv3-legacy.patch | 96 96 0 0 +++++ /devel/gcc-4.4/patches/gcc/4.4.0/120-java-nomulti.patch | 92 92 0 0 +++++ /devel/gcc-4.4/patches/gcc/4.4.0/270-sh-pr24836.patch | 48 48 0 0 +++ /devel/gcc-4.4/patches/gcc/4.4.0/330-c99-snprintf.patch | 24 24 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/230-superh-default-multilib.patch | 24 24 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/250-ia64-noteGNUstack.patch | 158 158 0 0 +++++++++ /devel/gcc-4.4/patches/gcc/4.4.0/300-pr40105.patch | 360 360 0 0 ++++++++++++++++++++ /devel/gcc-4.4/patches/gcc/4.4.0/210-arm-unbreak-armv4t.patch | 24 24 0 0 + /devel/gcc-4.4/patches/gcc/4.4.0/130-cross-compile.patch | 78 78 0 0 ++++ /devel/gcc-4.4/patches/gcc/4.4.0/320-missing-execinfo_h.patch | 24 24 0 0 + /devel/gcc-4.4/config/cc/gcc.in | 1 1 0 0 + 27 files changed, 1945 insertions(+), 2 deletions(-)
2009-05-25/devel/gcc-4.4:Yann E. MORIN"1-20/+13
- gcc build script: no longer use the gcc-4.4 snapshot version -------- diffstat follows -------- /devel/gcc-4.4/scripts/build/cc/gcc.sh | 33 13 20 0 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-)
2009-03-26Merge r1432:1437 from /branches/newlib into /trunk :Yann E. MORIN"1-0/+4
- under bare-metal, the user is responsible for providing a gdbserver stub (r1433) - install a CT_TARGET-cc -> CT_TARGET-gcc symlink for the core gcc (r1434) - allow broader dependency in generated config files (r1435, r1436) - prepare C library menuconfig for using a C library under bare-metal (r1437) /trunk/scripts/build/cc/gcc.sh | 4 4 0 0 ++++ /trunk/config/debug/gdb.in | 5 5 0 0 +++++ /trunk/config/libc/glibc.in | 1 1 0 0 + /trunk/config/libc/uClibc.in | 1 1 0 0 + /trunk/config/libc/eglibc.in | 2 1 1 0 +- /trunk/config/config.mk | 20 8 12 0 ++++++++------------ /trunk/config/arch/sh.in | 2 1 1 0 +- /trunk/config/arch/ia64.in | 2 1 1 0 +- /trunk/config/arch/powerpc64.in | 2 1 1 0 +- /trunk/config/libc.in | 4 0 4 0 ---- 10 files changed, 23 insertions(+), 20 deletions(-)
2009-03-26Add support for building toolchains with gcc-4.4 snapshots.Yann E. MORIN"1-12/+22
Initial patch by Dmitry PLOTNIKOV: http://sourceware.org/ml/crossgcc/2009-03/msg00053.html It [the toolchain] uses current ct-ng (nightly snapshot 20090324, latest release 1.3.2 work also), glibc 2.9 (from CVS), binutils 2.19 and latest snapshot of GCC 4.4.0 (as of March 20, 2009). We have successfully built linux kernel 2.6.29 and a lot of other stuff with this toolchain. Here's the patch that adds GCC 4.4.0 to the ct-ng menu and enables it to download a 4.4.0 snapshot from ftp. Patch was adpated by me, mostly to better fit the configuration layout. /trunk/scripts/build/cc/gcc.sh | 34 22 12 0 ++++++++++++++++++++++------------ /trunk/config/cc/gcc.in | 35 30 5 0 ++++++++++++++++++++++++++++++----- 2 files changed, 52 insertions(+), 17 deletions(-)
2009-03-15Do not copy ecj.jar when it's not required.Yann E. MORIN"1-1/+3
/trunk/scripts/build/cc/gcc.sh | 4 3 1 0 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
2009-01-28Add a missing line continuation '\' in the gcc retrieval function.Yann E. MORIN"1-1/+1
Spotted by Doug Reiland <dreiland@hotmail.com>. /trunk/scripts/build/cc/gcc.sh | 2 1 1 0 +- 1 file changed, 1 insertion(+), 1 deletion(-)
2009-01-27The gcc team seems to no longer make releases available at the ftp.gnu.org ↵Yann E. MORIN"1-0/+1
site, but only on mirrors. Add such a mirror to the list of retrieval sites. /trunk/scripts/build/cc/gcc.sh | 1 1 0 0 + 1 file changed, 1 insertion(+)
2009-01-06Add the Eclipse Java Compiler to be able to compile Java.Yann E. MORIN"1-0/+12
Andy JOHNSON wrote: The Java compiler for GCC versions 4.3.0 and up requires the Eclipse compiler "ecj1" to be built as well. I added "gcj" to the list of utilities to make the initial link. /trunk/scripts/build/cc/gcc.sh | 12 12 0 0 ++++++++++++ /trunk/scripts/crosstool.sh | 2 1 1 0 +- /trunk/config/cc/gcc.in | 6 6 0 0 ++++++ 3 files changed, 19 insertions(+), 1 deletion(-)
2009-01-05Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:Yann E. MORIN"1-1/+2
- it is unworkable to have CT_ExtactAndPAtch cope with all those silly glibc addons: - they can have 'short' (as 'ports') or 'long' (as glibc-ports-2.7) names - patches are against eithe the short or long name, but non-uniformly use one or the other - it is the reposibility of the component (glibc in this case) to handle corner cases such as those - update all components to use the new functions /trunk/scripts/build/tools/000-template.sh | 3 2 1 0 +- /trunk/scripts/build/tools/100-libelf.sh | 3 2 1 0 +- /trunk/scripts/build/tools/200-sstrip.sh | 3 2 1 0 +- /trunk/scripts/build/kernel/linux.sh | 3 2 1 0 +- /trunk/scripts/build/binutils.sh | 3 2 1 0 +- /trunk/scripts/build/cc/gcc.sh | 3 2 1 0 +- /trunk/scripts/build/debug/000-template.sh | 3 2 1 0 +- /trunk/scripts/build/debug/100-dmalloc.sh | 3 2 1 0 +- /trunk/scripts/build/debug/400-ltrace.sh | 3 2 1 0 +- /trunk/scripts/build/debug/300-gdb.sh | 9 6 3 0 +++-- /trunk/scripts/build/debug/500-strace.sh | 7 3 4 0 ++-- /trunk/scripts/build/debug/200-duma.sh | 19 8 11 0 ++++------ /trunk/scripts/build/libc/glibc.sh | 14 12 2 0 ++++++- /trunk/scripts/build/libc/uClibc.sh | 13 9 4 0 +++++-- /trunk/scripts/build/libc/eglibc.sh | 14 12 2 0 ++++++- /trunk/scripts/build/gmp.sh | 3 2 1 0 +- /trunk/scripts/build/mpfr.sh | 3 2 1 0 +- /trunk/scripts/functions | 68 36 32 0 +++++++++++++++++++----------------- 18 files changed, 108 insertions(+), 69 deletions(-)
2009-01-04Get rid of CT_CC_FILE.Yann E. MORIN"1-26/+26
/trunk/scripts/build/cc/gcc.sh | 52 26 26 0 ++++++++++++++++++++++++------------------------ /trunk/scripts/crosstool.sh | 1 0 1 0 - 2 files changed, 26 insertions(+), 27 deletions(-)