Save the toolchain configuration to its own file, as an auto-extracting shell script:
- get rid of the 'extractconfig' action, it was cumbersome to use, and badly documented,
- introduce a skeleton for the config script,
- update auto-completion,
- document the config script.
/trunk/kconfig/kconfig.mk | 9 2 7 0 ++-------
/trunk/scripts/crosstool.sh | 6 5 1 0 +++++-
/trunk/docs/overview.txt | 21 9 12 0 +++++++++------------
/trunk/tools/toolchain-config.in | 8 8 0 0 ++++++++
/trunk/ct-ng.comp | 2 1 1 0 +-
5 files changed, 25 insertions(+), 21 deletions(-)
1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
2 The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
3 you have to actually list out the multilibs you want or you will end up with
4 just one when using targets like 'sh4-linux-gnu'.
6 The resulting toolchain can't even build a kernel as the kernel needs to build
7 with the nofpu flag to be sure that no fpu ops are generated.
9 Here we restore the gcc-3.x behavior; the additional overhead of building all
10 of these multilibs by default is negligible.
12 http://bugs.gentoo.org/140205
14 diff -durN gcc-4.3.1.orig/gcc/config.gcc gcc-4.3.1/gcc/config.gcc
15 --- gcc-4.3.1.orig/gcc/config.gcc 2008-05-21 10:54:15.000000000 +0200
16 +++ gcc-4.3.1/gcc/config.gcc 2008-06-10 14:58:06.000000000 +0200
18 if test x${sh_multilibs} = x ; then
20 sh64-superh-linux* | \
21 - sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
22 + sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
23 sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
24 sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
25 sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;