# HG changeset patch # User "Yann E. MORIN" # Date 1284317694 -7200 # Node ID eb837be50f8f0a508206154381f036f49927c202 # Parent ea11e149ec2394d1d54b32d0940277064e2b9807 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 -r ea11e149ec23 -r eb837be50f8f config/cc/gcc.in --- a/config/cc/gcc.in Fri Sep 10 01:16:26 2010 +0200 +++ b/config/cc/gcc.in Sun Sep 12 20:54:54 2010 +0200 @@ -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 -r ea11e149ec23 -r eb837be50f8f config/cc/gcc.in.2 --- a/config/cc/gcc.in.2 Fri Sep 10 01:16:26 2010 +0200 +++ b/config/cc/gcc.in.2 Sun Sep 12 20:54:54 2010 +0200 @@ -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 -r ea11e149ec23 -r eb837be50f8f scripts/build/cc/gcc.sh --- a/scripts/build/cc/gcc.sh Fri Sep 10 01:16:26 2010 +0200 +++ b/scripts/build/cc/gcc.sh Sun Sep 12 20:54:54 2010 +0200 @@ -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