Commit Graph

59 Commits

Author SHA1 Message Date
Yann E. MORIN"
14a3369bdf cc/gcc: add 4.6.0
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26 22:00:05 +01:00
Yann E. MORIN"
ad7ebf3219 cc/gcc: prepare for upcoming 4.6
gcc 4.6 will no longer depend on libelf.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-19 16:01:40 +01:00
Yann E. MORIN"
67d96ea16f cc/gcc: cleanup the _or_later logic
So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:05:18 +02:00
Yann E. MORIN"
05851ca0d9 cc/gcc: update linaro versions
Linaro has released version linaro-4.5-2011.03-0.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:04:17 +02:00
Yann E. MORIN"
0841e2f820 cc/gcc: do not build plugins for static toolchains
Plugins are shared objects, and when building a toolchain statically,
the gcc build system breaks havok (although there is no hard technical
reasons it should not be possible)...

And consequently, do not enable plugin supoprt in binutils.

Reported-by: Thomas Spurden <thomas@ado.is-a-geek.net>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-22 23:27:42 +01:00
Yann E. MORIN"
83a004e2c4 cc/gcc: add versions from Linaro
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-02-17 22:29:33 +01:00
Yann E. MORIN"
adbf0ff180 cc/gcc: enable plugins if needed
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-28 18:53:37 +01:00
Bryan Hundven
a98df486c2 cc/gcc: Add gcc 4.5.2
Add gcc 4.5.2.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-29 02:00:21 +01:00
Yann E. MORIN"
d34501d3c7 cc/gcc: add 4.4.5
Add 4.4.5, propagate patchset from 4.4.4.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-09 23:28:39 +02:00
Yann E. MORIN"
b524645517 complibs: introduce a two-stage select
Directly select-ing the required companion libraries means we can not
disable them. That's OK for now, as we systematically build them when
they are required.

But with distros coming up-to-speed, we will need to disable the build
later-on.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-03 23:11:27 +02:00
Yann E. MORIN"
a6552be181 cc/gcc: add 4.3.5
4.3.5 is the latest 4.3 version, and probably the last one.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-09-19 18:37:18 +02:00
Yann E. MORIN"
d34a5ec7d8 cc/gcc: do not force use of non-vital companion libraries
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-12 20:54:54 +02:00
Arnaud Lacombe
2bd1bc5621 cc/gcc: 4.5.1 is out!
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
2010-08-01 03:56:43 +02:00
Yann E. MORIN"
e5f3082b3d cc/gcc: move options around 2010-07-28 21:28:54 +02:00
Yann E. MORIN"
4144845579 cc/gcc: gcc-4.4 does not use MPC
As reported by Johannes Stezenbach, see thread at:
  http://sourceware.org/ml/crossgcc/2010-07/msg00017.html
2010-07-10 15:25:10 +02:00
Yann E. MORIN"
8b8f2c17ba cc/gcc: add option do disable PCH
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-17 21:26:23 +02:00
Titus von Boxberg
d2d3c15c14 cc/gcc: Make usage of --enable-target-optspace configurable
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-05-24 16:34:55 +02:00
Yann E. MORIN"
cf395e3876 cc/gcc: add latest version
Add 4.4.4 and forward-port patchset from 4.4.3
2010-05-16 19:41:53 +02:00
Yann E. MORIN"
8116e283fa cc/gcc: add 4.5.0 2010-04-15 22:35:22 +02:00
Yann E. MORIN"
3c160b2205 cc/gcc: add support for 4.5.0 or later versions
starting with 4.5.0, gcc requires libelf.
2010-04-15 22:35:18 +02:00
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
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"
933404b449 cc/gcc: simplify the _or_later stuff 2010-02-04 15:18:46 +01:00
Yann E. MORIN"
38dbb38701 cc/gcc: remove 4.3.0
gcc-4.3.0 never got !EXPERIMENTAL, and no one either confirmed nor complained.
2010-01-31 12:43:49 +01:00
Yann E. MORIN"
51965ce920 cc/gcc: remove EXPERIMENTAL for gcc-4.4 2010-01-31 12:22:54 +01:00
Yann E. MORIN"
3bd33664df cc/gcc: add latest 4.4.3, propagate patchset from 4.4.2 2010-01-24 22:53:51 +01:00
Yann E. MORIN"
0b6a9e5c74 config: mark now old versions as being OBSOLETE
These versions are kept for the upcoming release, but they
will be removed from the next release if they are not used.
2009-10-28 19:15:50 +01:00
Yann E. MORIN"
1a6400b025 cc/gcc: add latest 4.4.2 version as EXPERIMENTAL 2009-10-20 23:41:11 +02:00
Yann E. MORIN"
4fb0c302e0 config: rip-out versions marked as OBSOLETE 2009-10-28 18:55:40 +01:00
Yann E. MORIN"
b6568d675b config: fix indentation for options marked EXPERIMENTAL or OBSOLETE
Change the 2-space separation into a 1-space separation, for the sake
of homogeneity.
2009-09-13 18:44:17 +02:00
Yann E. MORIN"
0c63755957 scripts: add new version at top of choice
Add new versions at the top of the choice menu, not at the bottom.
2009-09-13 18:38:06 +02:00
Yann E. MORIN"
caeb4ada23 config: re-order menu entries so that latest versions are at the top
It makes better sense to have latest versions at the top of the choice
entries.
2009-09-13 17:51:33 +02:00
Yann E. MORIN"
4de6139e7e Merge the bash_array branch.
For every components where it makes sense, use bash arrays (instead
of a string with space-separated values) to store the options pased
to ./configure.
2009-08-19 19:52:04 +02: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"
13ae4ac9aa config/gcc: re-order versions
Move the gcc-4.3.4 version to its place.
2009-08-07 18:21:29 +02:00
Thomas Petazzoni
a4c72b8a1b gcc: add support for 4.3.4
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-06 18:17:01 +02:00
Yann E. MORIN"
200c8a2c91 [cc-gcc] Add latest versions
Add gcc-4.4.1
2009-08-02 23:33:38 +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"
1a92cef90f gcc-4.4:
- remove snapshots
- add gcc-4.4.0 release as EXPERIMENTAL

 -------- diffstat follows --------
 /trunk/config/cc/gcc.in |   21     4    17     0 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)
2009-05-03 21:12:26 +00:00
Yann E. MORIN"
6752ebb01f Unmark gcc-4.3.3 as being EXPERIMENTAL.
-------- diffstat follows --------
 /trunk/config/cc/gcc.in |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2009-05-03 21:11:26 +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"
1843a3b45c Add the latest gcc-4.3.3 with the forward-ported patchset from gcc-4.3.2.
/trunk/patches/gcc/4.3.3/210-noteGNUstack-00.patch               |   47    26    21     0 ++++---
 /trunk/patches/gcc/4.3.3/270-missing-execinfo_h.patch            |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/260-uclibc-conf-noupstream.patch        |   13     9     4     0 +-
 /trunk/patches/gcc/4.3.3/220-noteGNUstack-01.patch               |   97    51    46     0 +++++++-------
 /trunk/patches/gcc/4.3.3/240-pr25343.patch                       |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/100-alpha-mieee-default.patch           |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/230-pr34571.patch                       |   23     8    15     0 +--
 /trunk/patches/gcc/4.3.3/350-sh-without-headers.patch            |   17    10     7     0 +-
 /trunk/patches/gcc/4.3.3/330-unwind-for-uClibc.patch             |   19    12     7     0 ++-
 /trunk/patches/gcc/4.3.3/190-libstdc++-pic.patch                 |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/150-sparc64-bsd.patch                   |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/290-index_macro.patch                   |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/140-netbsd-symbolic.patch               |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/110-trampolinewarn.patch                |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/160-flatten-switch-stmt-00.patch        |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/280-c99-complex-ugly-hack.patch         |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/300-libmudflap-susv3-legacy.patch       |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/170-libiberty-pic.patch                 |   11     8     3     0 +-
 /trunk/patches/gcc/4.3.3/250-sh-pr24836.patch                    |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/120-java-nomulti.patch                  |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/320-alpha-signal_h.patch                |   14    10     4     0 +-
 /trunk/patches/gcc/4.3.3/180-superh-default-multilib.patch       |   13     9     4     0 +-
 /trunk/patches/gcc/4.3.3/340-make-mno-spe-work-as-expected.patch |   41    23    18     0 +++---
 /trunk/patches/gcc/4.3.3/200-pr24170.patch                       |   23    14     9     0 ++-
 /trunk/patches/gcc/4.3.3/310-arm-softfloat.patch                 |   17    11     6     0 +-
 /trunk/patches/gcc/4.3.3/130-cross-compile.patch                 |   23    14     9     0 ++-
 /trunk/config/cc/gcc.in                                          |    7     7     0     0 +
 27 files changed, 334 insertions(+), 210 deletions(-)
2009-01-27 21:37:03 +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"
f2d6a84135 Remove support for gcc-2.95.3, it has never ever been tested.
/trunk/config/cc/gcc.in             |    6     0     6     0 ------
 /trunk/scripts/build/libc/glibc.sh  |    4     0     4     0 ----
 /trunk/scripts/build/libc/uClibc.sh |    4     0     4     0 ----
 3 files changed, 14 deletions(-)
2009-01-04 14:38:41 +00:00
Yann E. MORIN"
5ae048e78b Generate the choice menu for C compilers, the same way arch, kernels and C libraries are generated.
/trunk/kconfig/kconfig.mk |    6     6     0     0 ++++++
 /trunk/config/cc/gcc.in   |   13    13     0     0 +++++++++++++
 /trunk/config/cc.in       |   31     3    28     0 +++----------------------------
 3 files changed, 22 insertions(+), 28 deletions(-)
2008-10-13 16:58:52 +00:00
Yann E. MORIN"
fc53c7be3e Remove gcc-4.3.2 dependency on EXPERIMENTAL.
/trunk/config/cc/gcc.in |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2008-09-28 18:09:23 +00:00
Yann E. MORIN"
664c2d0100 Add latest gcc-4.3.2 as EXPERIMENTAL, using the 4.3.1 re-based patchset.
/trunk/config/cc/gcc.in                                          |    7     7     0     0 ++
 /trunk/patches/gcc/4.3.2/280-c99-complex-ugly-hack.patch         |    8     4     4     0 +-
 /trunk/patches/gcc/4.3.2/250-sh-pr24836.patch                    |   16     8     8     0 ++--
 /trunk/patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch |   43    19    24     0 ++++++--------
 /trunk/patches/gcc/4.3.2/130-cross-compile.patch                 |   20    10    10     0 +++---
 5 files changed, 48 insertions(+), 46 deletions(-)
2008-09-25 16:06:19 +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
Yann E. MORIN"
57347d6ca0 gcc-4.3.1 is now longer EXPERIMENTAL (gcc-4.3.0 is still EXPERIMENTAL, because of lack of testing).
/trunk/config/cc/gcc.in |    3     1     2     0 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
2008-08-12 10:53:56 +00:00