diff options
-rw-r--r-- | config/toolchain.in | 49 | ||||
-rw-r--r-- | scripts/build/cc/gcc.sh | 16 | ||||
-rw-r--r-- | scripts/crosstool-NG.sh.in | 2 | ||||
-rw-r--r-- | steps.mk | 14 |
4 files changed, 20 insertions, 61 deletions
diff --git a/config/toolchain.in b/config/toolchain.in index d661914f..cec1e357 100644 --- a/config/toolchain.in +++ b/config/toolchain.in @@ -303,55 +303,6 @@ config HOST_SUFFIX endif # CANADIAN -if CROSS_NATIVE || CANADIAN - -comment "Target system" - -config TARGET_PREFIX - string - prompt "| Tools prefix (READ HELP!)" - default "" - help - If you have your *target system* tools in a weird location, and/or - they have an unusual prefix, enter it here. - - Usually, you should leave that empty! - - Eg.: - If your *target* gcc is /opt/target-tools/bin/weird-gcc then you - should enter: - /opt/target-tools/bin/weird- - - If your *target* gcc is /opt/target-tools/bin/weird-gcc and - /opt/target-tools/bin is in your PATH, you should enter: - weird- - - If your *target* gcc is /opt/target-tools/bin/gcc then you - should enter (do not forget to add the trailing '/'): - /opt/target-tools/bin/ - -config TARGET_SUFFIX - string - prompt "| Tools suffix (READ HELP!)" - default "" - help - If your *target system* tools have an unusual suffix, enter it - here. - - Usually, you should leave that empty! - - Eg.: - If your 'default' gcc is gcc 4.3.1, but you also have gcc-3.4.2 - installed as gcc-3.4, then you should enter: - -3.4 - - It can happen that some of the tools have a suffix, when others - don't, eg. you can have 'gcc-3.4' and 'ar'. crosstool-NG accounts - for that by checking the tools without the suffix in case it can - not find some of the tool. - -endif # CROSS_NATIVE || CANADIAN - comment "Misc options" config TOOLCHAIN_ENABLE_NLS diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh index f177474f..8dea3dc1 100644 --- a/scripts/build/cc/gcc.sh +++ b/scripts/build/cc/gcc.sh @@ -76,13 +76,10 @@ do_cc_core_pass_1() { local -a core_opts local do_core - # Do nothing for canadian-crosses, we already have a target compiler. # We only need a pass-1 core gcc if the threading model is NPTL. # For all other cases, it is not used. - case "${CT_CANADIAN},${CT_THREADS}" in - y,*) - ;; - ,nptl) + case "${CT_THREADS}" in + nptl) do_core=y core_opts+=( "mode=static" ) core_opts+=( "host=${CT_BUILD}" ) @@ -116,21 +113,18 @@ do_cc_core_pass_2() { core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) core_opts+=( "lang_list=c" ) - # Do nothing for canadian-crosses, we already have a target compiler. # Different conditions are at stake here: # - In case the threading model is NPTL, we need a shared-capable core # gcc; in all other cases, we need a static-only core gcc. # - In case the threading model is NPTL or win32, or gcc is 4.3 or # later, we need to build libgcc - case "${CT_CANADIAN},${CT_THREADS}" in - y,*) - ;; - ,nptl) + case "${CT_THREADS}" in + nptl) do_core=y core_opts+=( "mode=shared" ) core_opts+=( "build_libgcc=yes" ) ;; - ,win32) + win32) do_core=y core_opts+=( "mode=static" ) core_opts+=( "build_libgcc=yes" ) diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index c6834171..d7947432 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -354,7 +354,7 @@ if [ -z "${CT_RESTART}" ]; then build_mangle="build_" host_mangle="host_" target_mangle="" - install_build_tools_for="BUILD HOST TARGET" + install_build_tools_for="BUILD HOST" ;; *) CT_Abort "No code for '${CT_TOOLCHAIN_TYPE}' toolchain type!" ;; @@ -14,9 +14,19 @@ help-env:: # ---------------------------------------------------------- # The steps list +# The _for_build steps are noop for native and cross, +# but are actual steps for canadian and cross-native. # Please keep the last line with a '\' and keep the following empy line: # it helps when diffing and merging. CT_STEPS := libc_check_config \ + gmp_for_build \ + mpfr_for_build \ + ppl_for_build \ + cloog_for_build \ + mpc_for_build \ + libelf_for_build \ + binutils_for_build \ + elf2flt_for_build \ gmp_for_host \ mpfr_for_host \ ppl_for_host \ @@ -31,6 +41,7 @@ CT_STEPS := libc_check_config \ libc_start_files \ cc_core_pass_2 \ libc \ + cc_for_build \ cc_for_host \ libc_finish \ libelf_for_target \ @@ -39,6 +50,9 @@ CT_STEPS := libc_check_config \ test_suite \ finish \ +# Keep an empty line above this comment, so the last +# back-slash terminated line works as expected. + # Make the list available to sub-processes (scripts/crosstool-NG.sh needs it) export CT_STEPS |