Commit Graph

275 Commits

Author SHA1 Message Date
Arnaud Lacombe
93042972a8 cc/gcc: fix thread-less final gcc build
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-07 18:35:22 +02:00
Arnaud Lacombe
2059d43d86 cc/gcc: fix recent gcc build
This fix missed conversion of CT_GCC_USE_* to CT_CC_GCC_USE_*.

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-04-07 18:35:21 +02:00
Yann E. MORIN"
8e47201cf2 cc/gcc: fix use of companion libraries 2010-03-05 18:55:25 +01:00
Yann E. MORIN"
3eaa187de5 complibs: split-up selection for individual libs 2010-02-17 23:47:47 +01:00
Yann E. MORIN"
83a48e12f0 Allow setting --enable-cxx-flags on gcc ./configure
Some setups require one to pass extra CXX flags at the time of ./configure.
Make it easy.
2009-08-19 19:44:45 +02:00
Yann E. MORIN"
f255716872 Make gcc's extra_config an array containing ./configure options
Change extra_config from a string to a array of options.
2009-08-19 19:44:42 +02:00
Bart van der Meulen
1a84e201d0 Add support code for the canadian-cross case.
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-06-26 19:09:22 +02:00
Yann E. MORIN"
637b137512 /devel/gcc-4.4:
- 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-27 21:16:01 +00:00
Yann E. MORIN"
f149116490 /devel/gcc-4.4:
- 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-05-25 20:09:17 +00:00
Yann E. MORIN"
6501c29fd1 Merge r1432:1437 from /branches/newlib into /trunk :
- 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-26 18:58:13 +00:00
Yann E. MORIN"
355586027b Add support for building toolchains with gcc-4.4 snapshots.
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-26 18:47:34 +00:00
Yann E. MORIN"
24003e416f Do not copy ecj.jar when it's not required.
/trunk/scripts/build/cc/gcc.sh |    4     3     1     0 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
2009-03-15 20:08:06 +00:00
Yann E. MORIN"
a2d32f2257 Add a missing line continuation '\' in the gcc retrieval function.
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-28 22:36:44 +00:00
Yann E. MORIN"
af244eaf45 The gcc team seems to no longer make releases available at the ftp.gnu.org 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-27 21:36:18 +00:00
Yann E. MORIN"
0cd8441a97 Add the Eclipse Java Compiler to be able to compile Java.
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-06 22:10:17 +00:00
Yann E. MORIN"
ebf01acb41 Split CT_ExtractAndPatch in two: CT_Extract and CT_Patch:
- 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-05 23:02:43 +00:00
Yann E. MORIN"
ddaf4012ae Get rid of CT_CC_FILE.
/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(-)
2009-01-04 14:39:39 +00:00
Yann E. MORIN"
b8b7843bea Get rid of all stuff related to building a /delivery' traball:
- building a delivery tarball has long been broken (since crostool-Ng is installable)
- get rid of implied do_print_filename, that can be mis-leading now tarballs can not be built

 /trunk/scripts/build/kernel/bare-metal.sh  |    4     0     4     0 ----
 /trunk/scripts/build/kernel/linux.sh       |    4     0     4     0 ----
 /trunk/scripts/build/tools/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/tools/100-libelf.sh   |    4     0     4     0 ----
 /trunk/scripts/build/tools/200-sstrip.sh   |   11     1    10     0 +----------
 /trunk/scripts/build/binutils.sh           |    4     0     4     0 ----
 /trunk/scripts/build/cc/gcc.sh             |    5     0     5     0 -----
 /trunk/scripts/build/debug/000-template.sh |   11     0    11     0 -----------
 /trunk/scripts/build/debug/100-dmalloc.sh  |    4     0     4     0 ----
 /trunk/scripts/build/debug/400-ltrace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/300-gdb.sh      |    7     0     7     0 -------
 /trunk/scripts/build/debug/500-strace.sh   |    4     0     4     0 ----
 /trunk/scripts/build/debug/200-duma.sh     |    4     0     4     0 ----
 /trunk/scripts/build/libc/none.sh          |    5     0     5     0 -----
 /trunk/scripts/build/libc/glibc.sh         |   10     0    10     0 ----------
 /trunk/scripts/build/libc/uClibc.sh        |    6     0     6     0 ------
 /trunk/scripts/build/libc/eglibc.sh        |   10     0    10     0 ----------
 /trunk/scripts/build/gmp.sh                |    6     0     6     0 ------
 /trunk/scripts/build/mpfr.sh               |    6     0     6     0 ------
 /trunk/docs/overview.txt                   |    9     0     9     0 ---------
 20 files changed, 1 insertion(+), 128 deletions(-)
2009-01-03 21:11:41 +00:00
Yann E. MORIN"
25dcd46fc9 Remove spurious line in gcc script (probably a bad copy-paste with the mouse...).
/trunk/scripts/build/cc/gcc.sh |    1     0     1     0 -
 1 file changed, 1 deletion(-)
2009-01-03 20:53:19 +00:00
Yann E. MORIN"
a4e2d34a0f Enable C++ for baremetal.
/trunk/scripts/build/cc/gcc.sh |    7     5     2     0 +++++--
 /trunk/config/cc.in            |    8     2     6     0 ++------
 2 files changed, 7 insertions(+), 8 deletions(-)
2008-12-24 17:34:32 +00:00
Yann E. MORIN"
8fba8c2732 Merge #1195, #1196 and #1203 from /devel/YEM-build_host_target_cleanup:
- Get rid of CT_CC_NATIVE
- Get rid of CT_CANADIAN_OPT
- Sanitise CT_BUILD vs. CT_HOST

 /trunk/scripts/build/tools/200-sstrip.sh |    4     2     2     0
 /trunk/scripts/build/binutils.sh         |    1     0     1     0 -
 /trunk/scripts/build/cc/gcc.sh           |   11     6     5     0 +-
 /trunk/scripts/build/debug/200-duma.sh   |    3     1     2     0 -
 /trunk/scripts/build/libc/glibc.sh       |   10     5     5     0 +-
 /trunk/scripts/build/libc/eglibc.sh      |    8     4     4     0 +-
 /trunk/scripts/crosstool.sh              |  168   113    55     0 ++++++++++++++++++++++++++------------
 /trunk/config/toolchain.in               |  160   137    23     0 +++++++++++++++++++++++++++++++-----
 8 files changed, 268 insertions(+), 97 deletions(-)
2008-11-13 18:22:23 +00:00
Yann E. MORIN"
5c48279f0f Make a relative symlink from ${CT_TARGET}-cc to ${CT_TARGET}-gcc.
This helps those who want to relocate their toolchains later.
Reported by Nye Liu: http://sourceware.org/ml/crossgcc/2008-10/msg00093.html

 /trunk/scripts/build/cc/gcc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-10-28 18:51:44 +00:00
Yann E. MORIN"
6731142c39 Better handle the second pass core gcc build, differentiating between gcc prior to 4.3 with gcc from 4.3.
Simplify detecting wether gcc is 4.3 and later, or older than 4.3 (we already know from .config).

 /trunk/scripts/build/cc/gcc.sh |   22    13     9     0 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)
2008-09-30 18:19:18 +00:00
Yann E. MORIN"
47221dfa6a Restore the ability to build gcc older than 4.3. At last!
/trunk/scripts/build/cc/gcc.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-09-29 12:02:47 +00:00
Yann E. MORIN"
799672a641 Introduce a new EXPERIMENTAL feature: BARE_METAL.
This should ultimately llow to build bare-metal compilers, for targets that have no kernel and no C library.
Move the C library build script to their own sub-directory; introduce an empty build script for bare-metal.
Move the compiler build script to its own sub-directory.
Move the kernel build script to its own sub-directory; introduce an empty build script for bare-metal.
Update the ARM target tuples to enable bare-metal targets.
Add two ARM bare-metal samples.
Add latest Linux kernel versions.

 /trunk/scripts/build/kernel/none.sh              |   77     6    71     0 +----
 /trunk/scripts/build/cc/gcc.sh                   |   58    41    17     0 ++-
 /trunk/scripts/build/libc/none.sh                |  513     9   504     0 +-----------------------------
 /trunk/scripts/crosstool.sh                      |   17     9     8     0 +
 /trunk/scripts/functions                         |    6     4     2     0 +
 /trunk/scripts/showSamples.sh                    |    6     3     3     0
 /trunk/samples/arm-unknown-elf/crosstool.config  |  225   225     0     0 +++++++++++++
 /trunk/samples/arm-unknown-eabi/crosstool.config |  223   223     0     0 +++++++++++++
 /trunk/config/kernel/linux_headers_install.in    |   64    27    37     0 ++--
 /trunk/config/kernel.in                          |    9     8     1     0 +
 /trunk/config/toolchain.in                       |    1     1     0     0 +
 /trunk/config/cc/gcc.in                          |    3     3     0     0 +
 /trunk/config/debug/dmalloc.in                   |    1     1     0     0 +
 /trunk/config/debug/gdb.in                       |    4     3     1     0 +
 /trunk/config/debug/strace.in                    |    1     1     0     0 +
 /trunk/config/debug/duma.in                      |    1     1     0     0 +
 /trunk/config/cc.in                              |    8     8     0     0 +
 /trunk/config/target.in                          |   13    13     0     0 +
 /trunk/config/binutils.in                        |    1     1     0     0 +
 /trunk/config/gmp_mpfr.in                        |    1     1     0     0 +
 /trunk/config/libc.in                            |   17    11     6     0 +
 /trunk/arch/arm/functions                        |    3     1     2     0 -
 22 files changed, 600 insertions(+), 652 deletions(-)
2008-09-14 16:21:07 +00:00