cc/gcc: pass the companion libs prefix to cc_core

In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2011-07-17 17:54:21 +02:00
parent 02a77ea464
commit f87a5d6d19

View File

@ -67,12 +67,14 @@ do_cc_core_pass_1() {
y,*,*) y,*,*)
do_core=y do_core=y
core_opts+=( "mode=static" ) core_opts+=( "mode=static" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
;; ;;
,y,*) ,y,*)
;; ;;
,,nptl) ,,nptl)
do_core=y do_core=y
core_opts+=( "mode=static" ) core_opts+=( "mode=static" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
;; ;;
*) *)
;; ;;
@ -100,6 +102,7 @@ do_cc_core_pass_2() {
core_opts+=( "mode=baremetal" ) core_opts+=( "mode=baremetal" )
core_opts+=( "build_libgcc=yes" ) core_opts+=( "build_libgcc=yes" )
core_opts+=( "build_libstdcxx=yes" ) core_opts+=( "build_libstdcxx=yes" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then
core_opts+=( "build_staticlinked=yes" ) core_opts+=( "build_staticlinked=yes" )
fi fi
@ -110,15 +113,18 @@ do_cc_core_pass_2() {
do_core=y do_core=y
core_opts+=( "mode=shared" ) core_opts+=( "mode=shared" )
core_opts+=( "build_libgcc=yes" ) core_opts+=( "build_libgcc=yes" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
;; ;;
,,win32) ,,win32)
do_core=y do_core=y
core_opts+=( "mode=static" ) core_opts+=( "mode=static" )
core_opts+=( "build_libgcc=yes" ) core_opts+=( "build_libgcc=yes" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
;; ;;
*) *)
do_core=y do_core=y
core_opts+=( "mode=static" ) core_opts+=( "mode=static" )
core_opts+=( "complibs=${CT_COMPLIBS_DIR}" )
if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
core_opts+=( "build_libgcc=yes" ) core_opts+=( "build_libgcc=yes" )
fi fi
@ -138,6 +144,7 @@ do_cc_core_pass_2() {
# - we need to build libgcc or not : build_libgcc=[yes|no] (default: no) # - we need to build libgcc or not : build_libgcc=[yes|no] (default: no)
# - we need to build libstdc++ or not : build_libstdcxx=[yes|no] (default: no) # - we need to build libstdc++ or not : build_libstdcxx=[yes|no] (default: no)
# - we need to build statically linked or not : build_staticlinked=[yes|no] (default: no) # - we need to build statically linked or not : build_staticlinked=[yes|no] (default: no)
# - where to find the companion libs (prefix) : complibs=<prefix_dir> (no default value)
# Usage: do_cc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no] # Usage: do_cc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no]
do_cc_core_backend() { do_cc_core_backend() {
local mode local mode
@ -146,6 +153,7 @@ do_cc_core_backend() {
local build_staticlinked=no local build_staticlinked=no
local build_manuals=no local build_manuals=no
local core_prefix_dir local core_prefix_dir
local complibs
local lang_opt local lang_opt
local tmp local tmp
local -a host_libstdcxx_flags local -a host_libstdcxx_flags
@ -249,26 +257,26 @@ do_cc_core_backend() {
fi fi
if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then
extra_config+=("--with-gmp=${CT_COMPLIBS_DIR}") extra_config+=("--with-gmp=${complibs}")
extra_config+=("--with-mpfr=${CT_COMPLIBS_DIR}") extra_config+=("--with-mpfr=${complibs}")
fi fi
if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}") extra_config+=("--with-mpc=${complibs}")
fi fi
if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}") extra_config+=("--with-ppl=${complibs}")
# With PPL 0.11+, also pull libpwl if needed # With PPL 0.11+, also pull libpwl if needed
if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
host_libstdcxx_flags+=("-L${CT_COMPLIBS_DIR}/lib") host_libstdcxx_flags+=("-L${complibs}/lib")
host_libstdcxx_flags+=("-lpwl") host_libstdcxx_flags+=("-lpwl")
fi fi
extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}") extra_config+=("--with-cloog=${complibs}")
elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
extra_config+=("--with-ppl=no") extra_config+=("--with-ppl=no")
extra_config+=("--with-cloog=no") extra_config+=("--with-cloog=no")
fi fi
if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}") extra_config+=("--with-libelf=${complibs}")
extra_config+=("--enable-lto") extra_config+=("--enable-lto")
elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then
extra_config+=("--with-libelf=no") extra_config+=("--with-libelf=no")