mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2024-12-30 17:46:57 +00:00
complibs: split-up selection for individual libs
This commit is contained in:
parent
c6689215d1
commit
3eaa187de5
@ -79,7 +79,8 @@ config BINUTILS_TARGET_USE_GMP_MPFR
|
||||
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.
|
||||
|
@ -102,13 +102,16 @@ endchoice
|
||||
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
|
||||
|
@ -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 @@ config GMP_MPFR
|
||||
- gcc
|
||||
- gdb
|
||||
|
||||
if GMP_MPFR
|
||||
source config/companion_libs/gmp.in
|
||||
source config/companion_libs/mpfr.in
|
||||
endif
|
||||
|
||||
config PPL_CLOOG_MPC
|
||||
config MPFR
|
||||
bool
|
||||
prompt "PPL, GLooG/PPL and MPC"
|
||||
select GMP_MPFR
|
||||
prompt "MPFR"
|
||||
select GMP
|
||||
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).
|
||||
gcc 4.3.0 and above requires MPFR to build some frontends, and some
|
||||
other components can use them as well.
|
||||
|
||||
In addition to those, gcc-4.4 also optionally uses MPC to enable
|
||||
additional optimisations on complex numbers. Although MPC is optional,
|
||||
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.
|
||||
|
||||
These will be automatically selected if you choose gcc>=4.4.0, but you
|
||||
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 them.
|
||||
can use it.
|
||||
|
||||
if PPL_CLOOG_MPC
|
||||
if GMP
|
||||
source config/companion_libs/gmp.in
|
||||
endif
|
||||
if MPFR
|
||||
source config/companion_libs/mpfr.in
|
||||
endif
|
||||
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 @@ config FOO
|
||||
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_CHECK
|
||||
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
|
||||
|
@ -58,7 +58,8 @@ config GDB_NATIVE_USE_GMP_MPFR
|
||||
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.
|
||||
|
@ -26,10 +26,8 @@ do_binutils() {
|
||||
|
||||
# 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 @@ do_binutils_target() {
|
||||
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
|
||||
|
@ -150,15 +150,11 @@ do_cc_core() {
|
||||
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 @@ do_cc() {
|
||||
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[*]}'"
|
||||
|
||||
|
@ -8,7 +8,7 @@ do_cloog() { :; }
|
||||
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 @@ do_cloog() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
fi # CT_PPL_CLOOG_MPC
|
||||
fi # CT_CLOOG
|
||||
|
@ -8,7 +8,7 @@ do_gmp() { :; }
|
||||
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 @@ do_gmp_target() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
fi # CT_GMP_MPFR_TARGET == y
|
||||
fi # CT_COMP_LIBS_TARGET == y
|
||||
|
||||
fi # CT_GMP_MPFR == y
|
||||
fi # CT_GMP == y
|
||||
|
@ -8,7 +8,7 @@ do_mpc() { :; }
|
||||
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 @@ do_mpc() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
fi # CT_PPL_CLOOG_MPC
|
||||
fi # CT_MPC
|
||||
|
@ -8,7 +8,7 @@ do_mpfr() { :; }
|
||||
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 @@ do_mpfr_target() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
fi # CT_GMP_MPFR_TARGET == y
|
||||
fi # CT_COMP_LIBS_TARGET == y
|
||||
|
||||
fi # CT_GMP_MPFR == y
|
||||
fi # CT_MPFR == y
|
||||
|
@ -8,7 +8,7 @@ do_ppl() { :; }
|
||||
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 @@ do_ppl() {
|
||||
CT_EndStep
|
||||
}
|
||||
|
||||
fi # CT_PPL_CLOOG_MPC
|
||||
fi # CT_PPL
|
||||
|
@ -99,9 +99,8 @@ do_debug_gdb_build() {
|
||||
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");;
|
||||
|
@ -16,6 +16,7 @@ export GREP_OPTIONS=
|
||||
# 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 @@ dump_single_sample() {
|
||||
;;
|
||||
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 @@ dump_single_sample() {
|
||||
;;
|
||||
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}"
|
||||
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}"
|
||||
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
|
||||
[ -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++"
|
||||
|
Loading…
Reference in New Issue
Block a user