# HG changeset patch # User "Yann E. MORIN" # Date 1266446867 -3600 # Node ID a1370757e6a1594bf06a7dd5a10f123550677243 # Parent 4201b5881a7e339c88f37cb80b230fcc03492a6a complibs: split-up selection for individual libs diff -r 4201b5881a7e -r a1370757e6a1 config/binutils/binutils.in --- a/config/binutils/binutils.in Tue Feb 09 22:50:53 2010 +0100 +++ b/config/binutils/binutils.in Wed Feb 17 23:47:47 2010 +0100 @@ -79,7 +79,8 @@ bool prompt "Use GMP and MPFR" default n - select GMP_MPFR + select GMP + select MPFR select COMP_LIBS_TARGET help binutils can be configured to use GMP and MPFR. diff -r 4201b5881a7e -r a1370757e6a1 config/cc/gcc.in --- a/config/cc/gcc.in Tue Feb 09 22:50:53 2010 +0100 +++ b/config/cc/gcc.in Wed Feb 17 23:47:47 2010 +0100 @@ -102,13 +102,16 @@ config CC_GCC_4_3_or_later bool default n - select GMP_MPFR + select GMP + select MPFR config CC_GCC_4_4_or_later bool default n select CC_GCC_4_3_or_later - select PPL_CLOOG_MPC + select PPL + select CLOOG + select MPC config CC_VERSION string diff -r 4201b5881a7e -r a1370757e6a1 config/companion_libs.in --- a/config/companion_libs.in Tue Feb 09 22:50:53 2010 +0100 +++ b/config/companion_libs.in Wed Feb 17 23:47:47 2010 +0100 @@ -4,20 +4,22 @@ menu "Companion libraries" +comment "FIXME: check real dependencies!!!" + config WRAPPER_NEEDED bool default n -config GMP_MPFR +config GMP bool - prompt "GMP and MPFR" + prompt "GMP" select WRAPPER_NEEDED help - gcc 4.3.0 and above requires both GMP and MPFR to build some frontends, - and some other components can use them as well. + gcc 4.3.0 and above requires GMP to build some frontends, and some + other components can use them as well. - These will be automatically selected if you choose gcc>=4.3.0, but you - can say 'Y' here if you want to build those two libraries for the other + This will be automatically selected if you choose gcc>=4.3.0, but you + can say 'Y' here if you want to build this library for the other components (that don't select them by default). The packages that can use GMP and MPFR are: @@ -25,31 +27,83 @@ - gcc - gdb -if GMP_MPFR +config MPFR + bool + prompt "MPFR" + select GMP + select WRAPPER_NEEDED + help + gcc 4.3.0 and above requires MPFR to build some frontends, and some + other components can use them as well. + + This will be automatically selected if you choose gcc>=4.3.0, but you + can say 'Y' here if you want to build this library for the other + components (that don't select them by default). + + The packages that can use GMP and MPFR are: + - binutils + - gcc + - gdb + +config PPL + bool + prompt "PPL" + select GMP + select MPFR + select WRAPPER_NEEDED + help + gcc-4.4.0 and above requires PPL to build some parts of the optimiser + (the GRAPHITE loop optimisation, to be precise). + + This will be automatically selected if you choose gcc>=4.4.0, but you + can say 'Y' here, although it is unknown yet if any other component + can use it. + +config CLOOG + bool + prompt "GLooG/PPL" + select GMP + select MPFR + select PPL + select WRAPPER_NEEDED + help + gcc-4.4.0 and above requires CLooG/PPL to build some parts of the + optimiser (the GRAPHITE loop optimisation, to be precise). + + This will be automatically selected if you choose gcc>=4.4.0, but you + can say 'Y' here, although it is unknown yet if any other component + can use it. + +config MPC + bool + prompt "MPC" + select GMP + select MPFR + select PPL + select CLOOG + select WRAPPER_NEEDED + help + gcc-4.4.0 and above can also optionally use MPC to enable additional + optimisations on complex numbers. Although MPC is optional, + crosstool-NG requires it and uses it to build gcc >= 4.4.0. + + This will be automatically selected if you choose gcc>=4.4.0, but you + can say 'Y' here, although it is unknown yet if any other component + can use it. + +if GMP source config/companion_libs/gmp.in +endif +if MPFR source config/companion_libs/mpfr.in endif - -config PPL_CLOOG_MPC - bool - prompt "PPL, GLooG/PPL and MPC" - select GMP_MPFR - select WRAPPER_NEEDED - help - gcc-4.4.0 and above requires PPL and CLooG/PPL to build some parts - of the optimiser (GRAPHITE loop optimisation, to be precise). - - In addition to those, gcc-4.4 also optionally uses MPC to enable - additional optimisations on complex numbers. Although MPC is optional, - crosstool-NG requires it and uses it to build gcc >= 4.4.0. - - These will be automatically selected if you choose gcc>=4.4.0, but you - can say 'Y' here, although it is unknown yet if any other component - can use them. - -if PPL_CLOOG_MPC +if PPL source config/companion_libs/ppl.in +endif +if CLOOG source config/companion_libs/cloog.in +endif +if MPC source config/companion_libs/mpc.in endif @@ -57,12 +111,12 @@ bool comment "Companion libraries common options" - depends on GMP_MPFR || PPL_CLOOG_MPC + depends on GMP || MPFR || PPL || CLOOG || MPC config COMP_LIBS_CHECK bool prompt "| Check the companion libraries builds (!!! READ HELP!!!)" - depends on GMP_MPFR || PPL_CLOOG_MPC + depends on GMP || MPFR || PPL || CLOOG || MPC default n help It is highly recommended to check the newly built companion libraries. @@ -81,7 +135,7 @@ config COMP_LIBS_TARGET bool prompt "| Build companion libraries for the target" - depends on GMP_MPFR || PPL_CLOOG_MPC + depends on GMP || MPFR || PPL || CLOOG || MPC depends on ! BARE_METAL default n help diff -r 4201b5881a7e -r a1370757e6a1 config/debug/gdb.in --- a/config/debug/gdb.in Tue Feb 09 22:50:53 2010 +0100 +++ b/config/debug/gdb.in Wed Feb 17 23:47:47 2010 +0100 @@ -58,7 +58,8 @@ prompt "Use GMP and MPFR" default n depends on GDB_NATIVE - select GMP_MPFR + select GMP + select MPFR select COMP_LIBS_TARGET help gdb can make use of the GMP and MPFR libraries. diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/binutils/binutils.sh --- a/scripts/build/binutils/binutils.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/binutils/binutils.sh Wed Feb 17 23:47:47 2010 +0100 @@ -26,10 +26,8 @@ # If GMP and MPFR were configured, then use that, # otherwise let binutils find the system-wide libraries, if they exist. - if [ "${CT_GMP_MPFR}" = "y" ]; then - extra_config+=("--with-gmp=${CT_PREFIX_DIR}") - extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") - fi + [ -z "${CT_GMP}" ] || extra_config+=("--with-gmp=${CT_PREFIX_DIR}") + [ -z "${CT_MPFR}" ] || extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") CT_DoLog EXTRA "Configuring binutils" CFLAGS="${CT_CFLAGS_FOR_HOST}" \ @@ -86,7 +84,7 @@ done # If GMP and MPFR were configured, then use that - if [ "${CT_BINUTILS_TARGET_USE_GMP_MPFR}" = "y" ]; then + if [ "${CT_COMP_LIBS_TARGET}" = "y" ]; then extra_config+=("--with-gmp=${CT_SYSROOT_DIR}/usr") extra_config+=("--with-mpfr=${CT_SYSROOT_DIR}/usr") fi diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/cc/gcc.sh --- a/scripts/build/cc/gcc.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/cc/gcc.sh Wed Feb 17 23:47:47 2010 +0100 @@ -150,15 +150,11 @@ else extra_config+=("--disable-__cxa_atexit") fi - if [ "${CT_GMP_MPFR}" = "y" ]; then - extra_config+=("--with-gmp=${CT_PREFIX_DIR}") - extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") - fi - if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then - extra_config+=("--with-ppl=${CT_PREFIX_DIR}") - extra_config+=("--with-cloog=${CT_PREFIX_DIR}") - extra_config+=("--with-mpc=${CT_PREFIX_DIR}") - fi + [ -z "${CT_GMP}" ] || extra_config+=("--with-gmp=${CT_PREFIX_DIR}") + [ -z "${CT_MPFR}" ] || extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") + [ -z "${CT_PPL}" ] || extra_config+=("--with-ppl=${CT_PREFIX_DIR}") + [ -z "${CT_CLOOG}" ] || extra_config+=("--with-cloog=${CT_PREFIX_DIR}") + [ -z "${CT_MPC}" ] || extra_config+=("--with-mpc=${CT_PREFIX_DIR}") CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" @@ -300,18 +296,14 @@ else extra_config+=("--disable-__cxa_atexit") fi - if [ "${CT_GMP_MPFR}" = "y" ]; then - extra_config+=("--with-gmp=${CT_PREFIX_DIR}") - extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") - fi - if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then - extra_config+=("--with-ppl=${CT_PREFIX_DIR}") - extra_config+=("--with-cloog=${CT_PREFIX_DIR}") - extra_config+=("--with-mpc=${CT_PREFIX_DIR}") - fi if [ -n "${CC_ENABLE_CXX_FLAGS}" ]; then extra_config+=("--enable-cxx-flags=${CC_ENABLE_CXX_FLAGS}") fi + [ -z "${CT_GMP}" ] || extra_config+=("--with-gmp=${CT_PREFIX_DIR}") + [ -z "${CT_MPFR}" ] || extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") + [ -z "${CT_PPL}" ] || extra_config+=("--with-ppl=${CT_PREFIX_DIR}") + [ -z "${CT_CLOOG}" ] || extra_config+=("--with-cloog=${CT_PREFIX_DIR}") + [ -z "${CT_MPC}" ] || extra_config+=("--with-mpc=${CT_PREFIX_DIR}") CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/companion_libs/cloog.sh --- a/scripts/build/companion_libs/cloog.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/companion_libs/cloog.sh Wed Feb 17 23:47:47 2010 +0100 @@ -8,7 +8,7 @@ do_cloog_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then +if [ "${CT_CLOOG}" = "y" ]; then # Download CLooG do_cloog_get() { @@ -78,4 +78,4 @@ CT_EndStep } -fi # CT_PPL_CLOOG_MPC +fi # CT_CLOOG diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/companion_libs/gmp.sh --- a/scripts/build/companion_libs/gmp.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/companion_libs/gmp.sh Wed Feb 17 23:47:47 2010 +0100 @@ -8,7 +8,7 @@ do_gmp_target() { :; } # Overide functions depending on configuration -if [ "${CT_GMP_MPFR}" = "y" ]; then +if [ "${CT_GMP}" = "y" ]; then # Download GMP do_gmp_get() { @@ -87,6 +87,6 @@ CT_EndStep } -fi # CT_GMP_MPFR_TARGET == y +fi # CT_COMP_LIBS_TARGET == y -fi # CT_GMP_MPFR == y +fi # CT_GMP == y diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/companion_libs/mpc.sh --- a/scripts/build/companion_libs/mpc.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/companion_libs/mpc.sh Wed Feb 17 23:47:47 2010 +0100 @@ -8,7 +8,7 @@ do_mpc_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then +if [ "${CT_MPC}" = "y" ]; then # Download MPC do_mpc_get() { @@ -54,4 +54,4 @@ CT_EndStep } -fi # CT_PPL_CLOOG_MPC +fi # CT_MPC diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/companion_libs/mpfr.sh --- a/scripts/build/companion_libs/mpfr.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/companion_libs/mpfr.sh Wed Feb 17 23:47:47 2010 +0100 @@ -8,7 +8,7 @@ do_mpfr_target() { :; } # Overide function depending on configuration -if [ "${CT_GMP_MPFR}" = "y" ]; then +if [ "${CT_MPFR}" = "y" ]; then # Download MPFR do_mpfr_get() { @@ -145,6 +145,6 @@ CT_EndStep } -fi # CT_GMP_MPFR_TARGET == y +fi # CT_COMP_LIBS_TARGET == y -fi # CT_GMP_MPFR == y +fi # CT_MPFR == y diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/companion_libs/ppl.sh --- a/scripts/build/companion_libs/ppl.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/companion_libs/ppl.sh Wed Feb 17 23:47:47 2010 +0100 @@ -8,7 +8,7 @@ do_ppl_target() { :; } # Overide functions depending on configuration -if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then +if [ "${CT_PPL}" = "y" ]; then # Download PPL do_ppl_get() { @@ -68,4 +68,4 @@ CT_EndStep } -fi # CT_PPL_CLOOG_MPC +fi # CT_PPL diff -r 4201b5881a7e -r a1370757e6a1 scripts/build/debug/300-gdb.sh --- a/scripts/build/debug/300-gdb.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/build/debug/300-gdb.sh Wed Feb 17 23:47:47 2010 +0100 @@ -99,9 +99,8 @@ cd "${CT_BUILD_DIR}/build-gdb-cross" cross_extra_config=("${extra_config[@]}") - if [ "${CT_GMP_MPFR}" = "y" ]; then - cross_extra_config+=("--with-gmp=${CT_PREFIX_DIR}" "--with-mpfr=${CT_PREFIX_DIR}") - fi + [ -z "${CT_GMP}" ] || cross_extra_config+=("--with-gmp=${CT_PREFIX_DIR}") + [ -z "${CT_MPFR}" ] || cross_extra_config+=("--with-mpfr=${CT_PREFIX_DIR}") case "${CT_THREADS}" in none) cross_extra_config+=("--disable-threads");; *) cross_extra_config+=("--enable-threads");; diff -r 4201b5881a7e -r a1370757e6a1 scripts/showSamples.sh --- a/scripts/showSamples.sh Tue Feb 09 22:50:53 2010 +0100 +++ b/scripts/showSamples.sh Wed Feb 17 23:47:47 2010 +0100 @@ -16,6 +16,7 @@ # Dump a single sample dump_single_sample() { local verbose=0 + local complibs [ "$1" = "-v" ] && verbose=1 && shift [ "$1" = "-w" ] && wiki=1 && shift local width="$1" @@ -38,7 +39,7 @@ ;; esac if [ -z "${wiki}" ]; then - t_width=13 + t_width=14 printf "%-*s [%s" ${width} "${sample}" "${sample_type}" [ -f "${sample_top}/samples/${sample}/broken" ] && printf "B" || printf " " [ "${CT_EXPERIMENTAL}" = "y" ] && printf "X" || printf " " @@ -51,12 +52,18 @@ ;; esac printf " %-*s : %s\n" ${t_width} "OS" "${CT_KERNEL}${CT_KERNEL_VERSION:+-}${CT_KERNEL_VERSION}" - if [ "${CT_GMP_MPFR}" = "y" ]; then - printf " %-*s : %s\n" ${t_width} "GMP/MPFR" "gmp-${CT_GMP_VERSION} / mpfr-${CT_MPFR_VERSION}" + if [ -n "${CT_GMP}" -o -n "${CT_MPFR}" \ + -o -n "${CT_PPL}" -o -n "${CT_CLOOG}" -o -n "${CT_MPC}" \ + ]; then + printf " %-*s :" ${t_width} "Companion libs" + complibs=1 fi - if [ "${CT_PPL_CLOOG_MPC}" = "y" ]; then - printf " %-*s : %s\n" ${t_width} "PPL/CLOOG/MPC" "ppl-${CT_PPL_VERSION} / cloog-${CT_CLOOG_VERSION} / mpc-${CT_MPC_VERSION}" - fi + [ -z "${CT_GMP}" ] || printf " gmp-%s" "${CT_GMP_VERSION}" + [ -z "${CT_MPFR}" ] || printf " mpfr-%s" "${CT_MPFR_VERSION}" + [ -z "${CT_PPL}" ] || printf " ppl-%s" "${CT_PPL_VERSION}" + [ -z "${CT_CLOOG}" ] || printf " cloog-ppl-%s" "${CT_CLOOG_VERSION}" + [ -z "${CT_MPC}" ] || printf " mpc-%s" "${CT_MPC_VERSION}" + [ -z "${complibs}" ] || printf "\n" printf " %-*s : %s\n" ${t_width} "binutils" "binutils-${CT_BINUTILS_VERSION}" printf " %-*s : %s" ${t_width} "C compiler" "${CT_CC}-${CT_CC_VERSION} (C" [ "${CT_CC_LANG_CXX}" = "y" ] && printf ",C++"