summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-09-12 18:54:54 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2010-09-12 18:54:54 (GMT)
commitd34a5ec7d8003256b859421dc080be0362663678 (patch)
tree0eaff319c7efbd3257b9c1360ac897dc27b0890e
parent4c326c29241784efbda7494c09068a103397b2f4 (diff)
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>
-rw-r--r--config/cc/gcc.in19
-rw-r--r--config/cc/gcc.in.227
-rw-r--r--scripts/build/cc/gcc.sh16
3 files changed, 53 insertions, 9 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index 00d1dfa..2e64556 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -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
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index 95d7037..1b4926b 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -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"
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index e4d75e7..0f12c61 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -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