cc/gcc: do not force use of non-vital companion libraries

While GMP and MPFR are required by gcc>=4.3 (to build the frontends),
and MPC is required by gcc>=4.5, the other libs are not. If they are
present then gcc will enable advanced features; if they are missing,
then gcc will (should) simply disable those features.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2010-09-12 20:54:54 +02:00
parent 4c326c2924
commit d34a5ec7d8
3 changed files with 53 additions and 9 deletions

View File

@ -136,13 +136,22 @@ config CC_GCC_4_4_or_later
bool
default n
select CC_GCC_4_3_or_later
select CC_GCC_USE_PPL_CLOOG
select CC_GCC_HAS_GRAPHITE
config CC_GCC_4_5_or_later
bool
default n
select CC_GCC_4_4_or_later
select CC_GCC_USE_MPC_LIBELF
select CC_GCC_USE_MPC
select CC_GCC_HAS_LTO
config CC_GCC_HAS_GRAPHITE
bool
default n
config CC_GCC_HAS_LTO
bool
default n
config CC_GCC_USE_GMP_MPFR
bool
@ -156,10 +165,14 @@ config CC_GCC_USE_PPL_CLOOG
select PPL
select CLOOG
config CC_GCC_USE_MPC_LIBELF
config CC_GCC_USE_MPC
bool
default n
select MPC
config CC_GCC_USE_LIBELF
bool
default n
select LIBELF
config CC_VERSION

View File

@ -7,6 +7,33 @@ config CC_GCC_ENABLE_TARGET_OPTSPACE
This will compile crossgcc's libs with -Os.
config CC_GCC_USE_GRAPHITE
bool
prompt "Enable GRAPHITE loop optimisations"
default y
depends on CC_GCC_HAS_GRAPHITE
select CC_GCC_USE_PPL_CLOOG
help
Enable the GRAPHITE loop optimsations.
This requires the PPL and CLooG companion libraries, and
those will be automatically build for you.
On some systems (eg. Cygwin), PPL and/or CLooG may not
build properly (yet), so you'll have to say 'N' here.
config CC_GCC_USE_LTO
bool
prompt "Enable LTO"
default y
depends on CC_GCC_HAS_LTO
select CC_GCC_USE_LIBELF
help
Enable the Link Time Optimisations.
This will require the libelf companion library, and it
wil be build automatically for you.
config CC_STATIC_LIBSTDCXX
bool
prompt "Link libstdc++ statically into the gcc binary"

View File

@ -169,12 +169,14 @@ do_cc_core() {
extra_config+=("--with-gmp=${CT_COMPLIBS_DIR}")
extra_config+=("--with-mpfr=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_PPL_CLOOG}" = "y" ]; then
if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}")
extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_MPC_LIBELF}" = "y" ]; then
extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}")
fi
@ -365,12 +367,14 @@ do_cc() {
extra_config+=("--with-gmp=${CT_COMPLIBS_DIR}")
extra_config+=("--with-mpfr=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_PPL_CLOOG}" = "y" ]; then
if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}")
extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}")
fi
if [ "${CT_CC_GCC_USE_MPC_LIBELF}" = "y" ]; then
extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}")
fi