[PATCH 2 of 3] cc/gcc: do not force use of non-vital companion libraries
Yann E. MORIN
yann.morin.1998@anciens.enib.fr
Sun Sep 12 21:57:00 GMT 2010
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1284317694 -7200
# Node ID 9a1f6abd5e3808b70d0c8e1a34b983e01cb4c5d9
# Parent 9a0470c96928832f97366bde032fba78f95586f1
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>
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -136,13 +136,22 @@
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 @@
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
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -7,6 +7,33 @@
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"
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -169,12 +169,14 @@
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 @@
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
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list