Commit Graph

101 Commits

Author SHA1 Message Date
Yann E. MORIN"
92744ca68f cc/gcc: add option to use system zlib
In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-12-31 16:23:27 +01:00
Benoît Thébaudeau"
e1a03c1e53 cc/gcc: update Linaro GCC revisions to 2011.12
Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-12-12 13:25:11 +01:00
Benoît Thébaudeau"
c0b275a3bf cc/gcc: update Linaro GCC revisions to 2011.11
Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
2011-11-14 13:29:12 +01:00
Bryan Hundven
a05793f11e cc/gcc: Add gcc-4.6.2
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-10-26 14:25:13 -07:00
Benoît THÉBAUDEAU"
86336a83ec cc/gcc: update Linaro GCC revisions to 2011.10
Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-10-13 19:11:25 +02:00
Yann E. MORIN"
e2b9a81da3 scripts: check host features with host compiler
Currently, we check host feature in ./configure. This works only for
cross toolchains, but not for canadian toolchains. ./configure has
absolutely no way to know what the host for the toolchain will be;
only the build scripts know.

So, move the headers & libraries checks from ./configure to the build
scripts, early enough in the build, but not before we know the host
compiler and other tools.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-10-14 22:44:24 +02:00
Yann E. MORIN"
03702b77b5 cc/gcc: update to the Linaro 2011.09
Signed-off-by: Michael Hope <michael.hope@linaro.org>
[yann.morin.1998@anciens.enib.fr: split gcc/gdb in two patches]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-09-28 15:28:23 +13:00
Benoît THÉBAUDEAU"
d0529b3d12 cc/gcc: update Linaro GCC revisions
Update Linaro GCC with the latest available revisions.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-08-18 15:34:17 +02:00
Yann E. MORIN"
9be30ce778 cc/gcc: fortran requires GMP and MPFR
Even if gcc itself does not require GMP or MPFR (eg. gcc-4.2 and before
don't), building the fortran frontend always required those companion
libraries.

Select them if the Fortran language is selected.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-07-31 22:19:21 +02:00
Benoît THÉBAUDEAU"
4c21311b3c cc/gcc: bump Linaro GCC revisions to 2011.07
This patch bumps the Linaro GCC revisions to 2011.07 when applicable.
Note that the `-0' suffix has been removed from the Linaro versioning scheme
beginning with this version.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-07-28 21:55:20 +02:00
Yann E. MORIN"
74a50972fb configure: disable static linking on Darwin
Static liunking is not supported on Darwin, so hide the corresponding
options when the build machine is Darwin.

Reported-by: Andrea Franceschini <therealmorpheu5@gmail.com>
Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: "Titus von Boxberg" <titus@v9g.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-27 21:03:40 +02:00
Yann E. MORIN"
d2d948a4ad cc/gcc: add MIPS spercific configure options
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-27 18:04:50 +02:00
Yann E. MORIN"
71d5c495e9 cc/gcc: add option for linker hash style
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-27 15:15:00 +02:00
Yann E. MORIN"
9c8bde853c cc/gcc: add build-id option
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-27 13:52:15 +02:00
Bryan Hundven
0543d6006e cc/gcc: Update gcc versions
Add gcc 4.6.1, 4.3.6, and 4.5.3.
Move 4.4.6 version string so that it is in order.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-06-27 12:40:23 -07:00
Benoît THÉBAUDEAU"
cdc58e9f3d cc/gcc: bump Linaro GCC revisions to 2011.06-0
This patch bumps the Linaro GCC revisions to 2011.06-0 when applicable.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-06-16 21:10:12 +02:00
Yann E. MORIN"
08ebd6ec3d cc/gcc: CC_STATIC_LIBSTDCXX 'depends on' CONFIGURE_has_static_libstdcpp
Hide the staticaly linked libstdc++ option if the static libstdc++ is not
present, detected at configure time.

Add a blind option that says whether static linking is possible at all.
It defaults to 'y', but depends on the needed CONFIGURE_* options. For
now, it only depends on static libtdc++, but new dependencies can be
easily added.

Hide the global static toolchain option behind this new option.

Original patch by Bryan Hundven <bryanhundven@gmail.com>

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-06-02 19:50:12 +02:00
Benoît THÉBAUDEAU"
35fe8a047d gcc: promote PKGVERSION and BUGURL options to toolchain level
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-31 20:12:35 +02:00
Benoît THÉBAUDEAU"
b87fff5473 gcc: add a CC_GCC_HAS_PKGVERSION_BUGURL option
This patch adds a blind option CC_GCC_HAS_PKGVERSION_BUGURL to test the support
of --with-pkgversion and --with-bugurl by GCC's configure.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31 19:55:59 +02:00
Benoît THÉBAUDEAU"
96245813d8 kconfig: remove useless 'default n'
kconfig bools are disabled by default, so specifying 'default n' is useless and
noisy. This patch removes all occurrences of 'default n'.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-31 16:27:39 +02:00
Benoît THÉBAUDEAU"
d47003fda1 cc/gcc: bump Linaro revisions to 2011.05-0
This patch bumps the Linaro GCC revisions to 2011.05-0 when applicable.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
2011-05-25 21:19:09 +02:00
Yann E. MORIN"
bdefc7b1e7 config: document array-capable variables
Update help entries for thos variables that accept multiple
arguments with spaces (aka. array-capable variables).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-18 23:42:57 +02:00
Yann E. MORIN"
c4bb88466e config: rename variables that are arrays
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-18 23:00:46 +02:00
Yann E. MORIN"
53892de14c config: fix recursive deps
The latest kconfig stuff is more stringent when it comes to validating
the dependency of the symbols. It is no longer possible to have a symbol
depend on itself (such as our construct for arch/cc/libc/... was doing).

Fix our generated-file infrastructure to avoid these situations when the
new kconfig stuff will be merged (in a following changeset).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 19:02:44 +02:00
Yann E. MORIN"
aad5659eb0 cc/gcc: fix complibs dependency
Since the gcc configuration changes, the way to select the
dependent companion libraries has changed. The addToolVersion
script was not updated to match, and a new gcc version was
added with this script.

Fix the gcc version; the script will be updated in a subsequent
changeset.

Reported-by: Xun Li <lxfind@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-05-08 10:52:21 +02:00
Yann E. MORIN"
8d769a27a9 cc/gcc: add latest Linaro versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-28 00:18:18 +02:00
Yann E. MORIN"
c1a758793d cc/gcc: suffle options around
Move options around so it feels more organised.
Add comments to separate groups of related options.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-27 22:41:17 +02:00
Yann E. MORIN"
14c5bc9260 cc/gcc: add latest version
Propagate the gcc-4.4.5 patchset to the newly added gcc-4.4.6.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-04-16 22:01:35 +02:00
Yann E. MORIN"
99d7ec8a84 cc/gcc: hide Linaro options by default
It can be quite confusing for a new-comer to find strange
version numbers for gcc, so hide the Linaro versions by
default.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-26 22:04:22 +01:00
Yann E. MORIN"
90697aa498 cc/gcc: add linaro 4.6 pre-release
Before gcc 4.6 was released, Linaro has a pre-release available.
Include that version in the config list.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-03-28 01:06:53 +02:00
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
Bryan Hundven"
118a6a5f98 cc/gcc: build final gcc statically
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-09 18:55:42 +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"
b17f8707c1 cc/gcc: add an option to enable/disable build of libssp
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-09 11:38:04 +02:00
Yann E. MORIN"
8922def6b4 cc/gcc: add an option to enable/disable build of libgomp
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-08 23:58:58 +02:00
Yann E. MORIN"
d9b9c3fa39 cc/gcc: shuffle config knobs
It makes sense to have all library-related config knobs in
the same place; and it makes sense to have all other misc
config knobs in the same other place.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-08 23:53:41 +02:00
Yann E. MORIN"
416eb29198 cc/gcc: add option to enable 128-bit long doubles
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-09 22:49:28 +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"
06c9a37016 cc/gcc: do not show sjlj choice for bare-metal
In the conversion from choic to tristate, this got lost.
2010-07-30 23:41:19 +02:00
Johannes Stezenbach
143f02e0ce cc/gcc: add option to compile against static libstdc++, for gcc-4.4 and newer
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-29 19:47:16 +02:00