2012-01-03cc/gcc: build core compilers for canadian
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Tue, 03 Jan 2012 22:57:25 +0100] rev 2936
cc/gcc: build core compilers for canadian

Currently, we rely on an existing external cross-compiler targetting
the target, to build the C library.

This can pause quite a few problems if that compiler is different from
the one we are building, because it could introduce some ABI issues.

This patch removes this dependency, by building the core compilers
as we do for standard cross, and also by building the binutils and
gcc, for running on the build machine.

This means we no longer need to offer the cross-sompiler selection in
the menuconfig.

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

2012-04-02cc/gcc: add build frontend
"Yann E. MORIN" <yann.morin.1998@free.fr> [Mon, 02 Apr 2012 22:54:30 +0200] rev 2935
cc/gcc: add build frontend

Bizarrely enough, the core gcc are not enough to be able to build a
canadian cross, and a real, full cross compiler is required so that
the canadian cross can be properly built... WTF?!? Sigh...

Add a build-frontend, as was done for the binutils and the complibs.

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

2012-04-01cc/gcc: frontends are responsible for selecting the list of languages
"Yann E. MORIN" <yann.morin.1998@free.fr> [Sun, 01 Apr 2012 19:07:11 +0200] rev 2934
cc/gcc: frontends are responsible for selecting the list of languages

Do for the final step the same as for the core step: compute the list
of selected langauages from the frontend, not in the backend.

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

2011-08-15cc/gcc: pass the language list to the core backend
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 15 Aug 2011 22:52:51 +0200] rev 2933
cc/gcc: pass the language list to the core backend

As the core backend can be used to also build the bare-metal compiler,
we have to tel it what languages to build.

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

2011-08-15cc/gcc: add language helper function
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 15 Aug 2011 21:42:28 +0200] rev 2932
cc/gcc: add language helper function

Add a function that prepares the language configure option.
It is needed in at least two places, some commonalisation is needed. ;-)

Unfortunately, it is no longer possible to print warnings about experimental
languages any more. Anyway, the experimental status is clearly indicated
in the menuconfig. so it should not be a surprise if the build breaks. :-/

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

2011-07-25complibs: fixup the host complibs install dir
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 25 Jul 2011 19:04:17 +0200] rev 2931
complibs: fixup the host complibs install dir

It's easier to have as much as possible stuff in the same place to
ease backup/restore, and make things easier to follow.

Move the host companion libraries install dir as a sub-dir of the
build-tools install dir (but not directly in it, it would break
for canadian or cross-native).

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

2011-07-25cc/gcc: cleanup the frontends
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Mon, 25 Jul 2011 19:04:00 +0200] rev 2930
cc/gcc: cleanup the frontends

A few noop fix-ups:
- fix the comments in core pass-1
- commonalise settings that can be

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

2011-07-24complibs: add frontends for building to run on the build machine
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 24 Jul 2011 23:53:14 +0200] rev 2929
complibs: add frontends for building to run on the build machine

In canadian-cross, we need the companion libraries running on the
build machine, to be able to build the two core gcc.

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

2011-07-24binutils: add frontends for building to run on the build machine
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 24 Jul 2011 23:52:28 +0200] rev 2928
binutils: add frontends for building to run on the build machine

In canadian-cross, we need binutils running on the build machine to be
able to build the target C library.

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

2011-07-17complibs: split companion libraries to backend/frontend, a-la cc_core
"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> [Sun, 17 Jul 2011 18:56:30 +0200] rev 2927
complibs: split companion libraries to backend/frontend, a-la cc_core

Move the actual complibs codes to backend functions that builds the
required combo of build/host/target as requested by a frontend.

This split is currently a no-op, but is required for the upcoming
canadian-cross rework, where we'll be needing to build the complibs
twice, one for build/build, and one for build/host.

This applies to the six companion libraries:
- GMP
- MPFR
- PPL
- Cloog/PPL
- MPC
- libelf

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