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
This commit is contained in:
Yann Diorcet (diorcet yann 2012-11-16 14:59:27 +01:00
parent 1d6a6534d1
commit 0be070e5b7
9 changed files with 63 additions and 49 deletions

View File

@ -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
}

View File

@ -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

View File

@ -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.