From d34a5ec7d8003256b859421dc080be0362663678 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sun, 12 Sep 2010 20:54:54 +0200 Subject: 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" 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 -- cgit v0.10.2-6-g49f6