2010-10-08cc/gcc: add an option to enable/disable build of libgomp
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 08 Oct 2010 23:58:58 +0200] rev 2145
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-08cc/gcc: shuffle config knobs
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 08 Oct 2010 23:53:41 +0200] rev 2144
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-09cc/gcc: add option to enable 128-bit long doubles
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 09 Oct 2010 22:49:28 +0200] rev 2143
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-08cc/gcc: fix enabling/disabling LTO
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 08 Oct 2010 23:51:38 +0200] rev 2142
cc/gcc: fix enabling/disabling LTO

There is a ./configure option for that.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-08cc/gcc: fix C++ headers location
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 08 Oct 2010 23:37:12 +0200] rev 2141
cc/gcc: fix C++ headers location

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-07samples: update all samples to use the new build dir
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 07 Oct 2010 23:53:16 +0200] rev 2140
samples: update all samples to use the new build dir

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-07samples: update powerpc-e500v2-linux-gnuspe
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Thu, 07 Oct 2010 23:51:23 +0200] rev 2139
samples: update powerpc-e500v2-linux-gnuspe

Update the configuration and the comment.

Reported-by: Anthony Foiani <anthony.foiani@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-07scripts: always create lib32 and lib64 symlinks
Anthony Foiani <anthony.foiani@gmail.com> [Thu, 07 Oct 2010 22:37:06 +0200] rev 2138
scripts: always create lib32 and lib64 symlinks

Unconditionally create the lib32 -> lib/ and lib64 -> lib/ symlinks.

This is reportedly a fix to build a toolchain for a 32-bit target on
a 'pure' 64-bit host (eg. on Fedora FC12, host libs are in lib64/,
and there is no lib -> lib64 symlink, as we can see on other distors,
as Debian). As gcc only puts static host lib in lib64/ (along with
target files in subdirs), we can safely create the symlinks.

Also note that the symlinks are summarily removed at the end
of the build.

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
[Yann E. MORIN: fix a comment, rephrase the commit log]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-06scripts: fix distclean
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 06 Oct 2010 22:54:48 +0200] rev 2137
scripts: fix distclean

Do not fail in case either one or both of target/ and
.build/ directories are missing.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-06kernel/linux: the new long-term stable is 2.6.32
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 06 Oct 2010 11:27:38 +0200] rev 2136
kernel/linux: the new long-term stable is 2.6.32

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-06kernel/linux: update to latest versions
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Wed, 06 Oct 2010 11:19:56 +0200] rev 2135
kernel/linux: update to latest versions

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-05scripts: update distclean
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 05 Oct 2010 23:59:16 +0200] rev 2134
scripts: update distclean

The toolchains are now built in .build/ rather than in targets/
so distclean has to get rid of that.

We also clean up the old dir, as users may have old samples that
still refer to the old location.

Do not hide messages during distclean, and do not ignore errors.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-05misc: update ignored files
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 05 Oct 2010 23:25:32 +0200] rev 2133
misc: update ignored files

The place where toolchains were built has moved
from targets/ to .build/

We still ignore the old target/ dir, as users may have
samples that still use that location.

Also, reorder the ignore paterns.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-29Make sure that the PTRACE_... symbols are available for ppc/plt.c.
Anthony Foiani <anthony.foiani@gmail.com> [Wed, 29 Sep 2010 08:31:17 -0600] rev 2132
Make sure that the PTRACE_... symbols are available for ppc/plt.c.

On a Fedora 12 x86_64 build/host box, this file was complaining about
PTRACE_PEEKTEXT being undefined. Adding in the "ptrace.h" include
fixed it.

Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>

2010-10-03complibs: introduce a two-stage select
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 03 Oct 2010 23:11:27 +0200] rev 2131
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-03complibs: better deduce whether to backup complibs or not
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 03 Oct 2010 23:10:46 +0200] rev 2130
complibs: better deduce whether to backup complibs or not

To decide whether we need to backup the companion libraries,
do not rely on the !shared case. In the future other cases
may require not to save the companion libraries (eg. if using
the ones provided by the host distro).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-10-041.8: update version to 1.8.2+hg 1.8
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 04 Oct 2010 00:26:27 +0200] rev 2129
1.8: update version to 1.8.2+hg

2010-10-04Tagging release 1.8.2 1.8
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 04 Oct 2010 00:26:27 +0200] rev 2128
Tagging release 1.8.2

2010-10-041.8: update version to 1.8.2 1.8 crosstool-ng-1.8.2
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 04 Oct 2010 00:26:27 +0200] rev 2127
1.8: update version to 1.8.2

2010-10-04kconfig: resync curses check with Linux kernel 1.8
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 04 Oct 2010 00:16:56 +0200] rev 2126
kconfig: resync curses check with Linux kernel

check-lxdialog.sh breaks on 64-bit distributions which are lacking
the lib -> lib64 symlinks (eg. some Fedora).

The script from the 2.6.35 Linux kernel is reportedly functional
on the systems that were requiring the current hack. See:
http://sourceware.org/ml/crossgcc/2010-09/msg00113.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 4009fc9c47d5d2c4e7765f1e9fb6721a87217ae5)

2010-10-04kconfig: resync curses check with Linux kernel
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 04 Oct 2010 00:16:56 +0200] rev 2125
kconfig: resync curses check with Linux kernel

check-lxdialog.sh breaks on 64-bit distributions which are lacking
the lib -> lib64 symlinks (eg. some Fedora).

The script from the 2.6.35 Linux kernel is reportedly functional
on the systems that were requiring the current hack. See:
http://sourceware.org/ml/crossgcc/2010-09/msg00113.html

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-19cc/gcc: add 4.3.5
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 19 Sep 2010 18:37:18 +0200] rev 2124
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-12cc/gcc: disable complibs if not selected
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 12 Sep 2010 23:51:25 +0200] rev 2123
cc/gcc: disable complibs if not selected

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 libraries
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 12 Sep 2010 20:54:54 +0200] rev 2122
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-10complibs: fix dependencies
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 10 Sep 2010 01:16:26 +0200] rev 2121
complibs: fix dependencies

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-12arch/mips: add experimental mips64 samples
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 12 Sep 2010 23:38:18 +0200] rev 2120
arch/mips: add experimental mips64 samples

Both toolchains were tested to successfully:
- _build_ busybox, giving respectively an n32 and an n64 binary
although it has not been run-tested.
- build linux-2.6.36-rc3 for Loongson, giving an n64 vmlinux
(which is expected, due to the way the kernel is built),
and the kernel properly boots!

Credits are due to Julien MOUTHINO (julm on freenode#uClibc) for
testing that the kernel boots on his hardware! Cheers! ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-12libc/uClibc: use the MIPS ABI selection
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 12 Sep 2010 22:15:12 +0200] rev 2119
libc/uClibc: use the MIPS ABI selection

Use the MIPS ABI selection to properly munge the uClibc config file.

This has the side effect to force the ISA:
- n32 ABI -> MIPS-III ISA
- n64 ABI -> MIPS64 ISA

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-12arch/mips: add option for MIPS ABIs
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 12 Sep 2010 22:14:04 +0200] rev 2118
arch/mips: add option for MIPS ABIs

This adds selection for one of the o32, n32 and n64 ABIs.
Later, we can easily use those boolean options, rather than
relying on a user-supplied string option.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-11scripts/internal: cleanup build symlinks
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sat, 11 Sep 2010 17:55:54 +0200] rev 2117
scripts/internal: cleanup build symlinks

The symlinks are needed only during the build process.
The final gcc will still search those dirs, but will also search
the standard lib/ dirs, so we can get rid of the symlinks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>

2010-09-10scripts: hack-in lib32->lib symlinks
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Fri, 10 Sep 2010 12:14:24 +0200] rev 2116
scripts: hack-in lib32->lib symlinks

Some archs (eg. ppc64 with n32 ABI) will install their
variants in lib32/ instead of lib/, so do for lib32 as
we do for lib64->lib symlinks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>