diff options
author | Yann Diorcet (diorcet yann <Yann Diorcet (diorcet.yann@gmail.com)> | 2012-11-16 14:59:27 +0100 |
---|---|---|
committer | Yann Diorcet (diorcet yann <Yann Diorcet (diorcet.yann@gmail.com)> | 2012-11-16 14:59:27 +0100 |
commit | 0be070e5b7f435ed13494560016061315a992516 (patch) | |
tree | 613524d608bf518171af262d0163650d5bdfa29d | |
parent | 1d6a6534d1d66e58a2d43c5468814afcb0e16362 (diff) | |
download | crosstool-ng-0be070e5b7f435ed13494560016061315a992516.tar.gz crosstool-ng-0be070e5b7f435ed13494560016061315a992516.tar.bz2 crosstool-ng-0be070e5b7f435ed13494560016061315a992516.zip |
complibs: introduce generic multi-complibs infrastructure
Use the same method as companion tools for providing generic and
extendable companion libs.
Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <515c5c4635d99ebe4877.1353074410@macbook-smorlat.local>
Patchwork-Id: 199613
-rw-r--r-- | scripts/build/companion_libs.sh | 39 | ||||
-rw-r--r-- | scripts/build/companion_libs/100-gmp.sh (renamed from scripts/build/companion_libs/gmp.sh) | 0 | ||||
-rw-r--r-- | scripts/build/companion_libs/110-mpfr.sh (renamed from scripts/build/companion_libs/mpfr.sh) | 0 | ||||
-rw-r--r-- | scripts/build/companion_libs/120-ppl.sh (renamed from scripts/build/companion_libs/ppl.sh) | 0 | ||||
-rw-r--r-- | scripts/build/companion_libs/130-cloog.sh (renamed from scripts/build/companion_libs/cloog.sh) | 0 | ||||
-rw-r--r-- | scripts/build/companion_libs/140-mpc.sh (renamed from scripts/build/companion_libs/mpc.sh) | 0 | ||||
-rw-r--r-- | scripts/build/companion_libs/200-libelf.sh (renamed from scripts/build/companion_libs/libelf.sh) | 0 | ||||
-rw-r--r-- | scripts/crosstool-NG.sh.in | 21 | ||||
-rw-r--r-- | steps.mk | 52 |
9 files changed, 63 insertions, 49 deletions
diff --git a/scripts/build/companion_libs.sh b/scripts/build/companion_libs.sh new file mode 100644 index 00000000..dc223ded --- /dev/null +++ b/scripts/build/companion_libs.sh @@ -0,0 +1,39 @@ +# Wrapper to build the companion libs facilities + +# List all companion tools facilities, and parse their scripts +CT_COMP_LIBS_FACILITY_LIST= +for f in "${CT_LIB_DIR}/scripts/build/companion_libs/"*.sh; do + _f="$(basename "${f}" .sh)" + _f="${_f#???-}" + . "${f}" + CT_COMP_LIBS_FACILITY_LIST="${CT_COMP_LIBS_FACILITY_LIST} ${_f}" +done + +# Download the companion libs facilities +do_companion_libs_get() { + for f in ${CT_COMP_LIBS_FACILITY_LIST}; do + do_${f}_get + done +} + +# Extract and patch the companion libs facilities +do_companion_libs_extract() { + for f in ${CT_COMP_LIBS_FACILITY_LIST}; do + do_${f}_extract + done +} + +# Build the companion libs facilities for build +do_companion_libs_for_build() { + for f in ${CT_COMP_LIBS_FACILITY_LIST}; do + do_${f}_for_build + done +} + +# Build the companion libs facilities for host +do_companion_libs_for_host() { + for f in ${CT_COMP_LIBS_FACILITY_LIST}; do + do_${f}_for_host + done +} + diff --git a/scripts/build/companion_libs/gmp.sh b/scripts/build/companion_libs/100-gmp.sh index ebc095b6..ebc095b6 100644 --- a/scripts/build/companion_libs/gmp.sh +++ b/scripts/build/companion_libs/100-gmp.sh diff --git a/scripts/build/companion_libs/mpfr.sh b/scripts/build/companion_libs/110-mpfr.sh index 35a48491..35a48491 100644 --- a/scripts/build/companion_libs/mpfr.sh +++ b/scripts/build/companion_libs/110-mpfr.sh diff --git a/scripts/build/companion_libs/ppl.sh b/scripts/build/companion_libs/120-ppl.sh index 90dcad36..90dcad36 100644 --- a/scripts/build/companion_libs/ppl.sh +++ b/scripts/build/companion_libs/120-ppl.sh diff --git a/scripts/build/companion_libs/cloog.sh b/scripts/build/companion_libs/130-cloog.sh index 64087824..64087824 100644 --- a/scripts/build/companion_libs/cloog.sh +++ b/scripts/build/companion_libs/130-cloog.sh diff --git a/scripts/build/companion_libs/mpc.sh b/scripts/build/companion_libs/140-mpc.sh index b035f4dd..b035f4dd 100644 --- a/scripts/build/companion_libs/mpc.sh +++ b/scripts/build/companion_libs/140-mpc.sh diff --git a/scripts/build/companion_libs/libelf.sh b/scripts/build/companion_libs/200-libelf.sh index e7b140b7..e7b140b7 100644 --- a/scripts/build/companion_libs/libelf.sh +++ b/scripts/build/companion_libs/200-libelf.sh diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index a393cee1..27e114f7 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -126,12 +126,7 @@ CT_DoLog INFO "Building environment variables" . "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh" . "${CT_LIB_DIR}/scripts/build/companion_tools.sh" . "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/gmp.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/mpfr.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/ppl.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/cloog.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/mpc.sh" -. "${CT_LIB_DIR}/scripts/build/companion_libs/libelf.sh" +. "${CT_LIB_DIR}/scripts/build/companion_libs.sh" . "${CT_LIB_DIR}/scripts/build/binutils/binutils.sh" . "${CT_LIB_DIR}/scripts/build/binutils/elf2flt.sh" . "${CT_LIB_DIR}/scripts/build/binutils/sstrip.sh" @@ -539,12 +534,7 @@ if [ -z "${CT_RESTART}" ]; then CT_DoStep INFO "Retrieving needed toolchain components' tarballs" do_companion_tools_get do_kernel_get - do_gmp_get - do_mpfr_get - do_ppl_get - do_cloog_get - do_mpc_get - do_libelf_get + do_companion_libs_get do_binutils_get do_elf2flt_get do_sstrip_get @@ -569,12 +559,7 @@ if [ -z "${CT_RESTART}" ]; then CT_DoStep INFO "Extracting and patching toolchain components" do_kernel_extract - do_gmp_extract - do_mpfr_extract - do_ppl_extract - do_cloog_extract - do_mpc_extract - do_libelf_extract + do_companion_libs_extract do_binutils_extract do_elf2flt_extract do_sstrip_extract @@ -18,37 +18,27 @@ help-env:: # 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 \ - cloog_for_host \ - mpc_for_host \ - libelf_for_host \ - binutils_for_host \ - elf2flt_for_host \ - sstrip_for_host \ - cc_core_pass_1 \ - kernel_headers \ - libc_start_files \ - cc_core_pass_2 \ - libc \ - cc_for_build \ - cc_for_host \ - libc_finish \ - libelf_for_target \ - binutils_for_target \ - debug \ - test_suite \ - finish \ +CT_STEPS := libc_check_config \ + companion_libs_for_build \ + binutils_for_build \ + elf2flt_for_build \ + companion_libs_for_host \ + binutils_for_host \ + elf2flt_for_host \ + sstrip_for_host \ + cc_core_pass_1 \ + kernel_headers \ + libc_start_files \ + cc_core_pass_2 \ + libc \ + cc_for_build \ + cc_for_host \ + libc_finish \ + libelf_for_target \ + binutils_for_target \ + debug \ + test_suite \ + finish \ # Keep an empty line above this comment, so the last # back-slash terminated line works as expected. |