cc/gcc: do not force use of non-vital companion libraries
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 20:54:54 2010 +0200 (2010-09-12)
changeset 2122eb837be50f8f
parent 2121 ea11e149ec23
child 2123 ff2181adbd28
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>
config/cc/gcc.in
config/cc/gcc.in.2
scripts/build/cc/gcc.sh
     1.1 --- a/config/cc/gcc.in	Fri Sep 10 01:16:26 2010 +0200
     1.2 +++ b/config/cc/gcc.in	Sun Sep 12 20:54:54 2010 +0200
     1.3 @@ -136,13 +136,22 @@
     1.4      bool
     1.5      default n
     1.6      select CC_GCC_4_3_or_later
     1.7 -    select CC_GCC_USE_PPL_CLOOG
     1.8 +    select CC_GCC_HAS_GRAPHITE
     1.9  
    1.10  config CC_GCC_4_5_or_later
    1.11      bool
    1.12      default n
    1.13      select CC_GCC_4_4_or_later
    1.14 -    select CC_GCC_USE_MPC_LIBELF
    1.15 +    select CC_GCC_USE_MPC
    1.16 +    select CC_GCC_HAS_LTO
    1.17 +
    1.18 +config CC_GCC_HAS_GRAPHITE
    1.19 +    bool
    1.20 +    default n
    1.21 +
    1.22 +config CC_GCC_HAS_LTO
    1.23 +    bool
    1.24 +    default n
    1.25  
    1.26  config CC_GCC_USE_GMP_MPFR
    1.27      bool
    1.28 @@ -156,10 +165,14 @@
    1.29      select PPL
    1.30      select CLOOG
    1.31  
    1.32 -config CC_GCC_USE_MPC_LIBELF
    1.33 +config CC_GCC_USE_MPC
    1.34      bool
    1.35      default n
    1.36      select MPC
    1.37 +
    1.38 +config CC_GCC_USE_LIBELF
    1.39 +    bool
    1.40 +    default n
    1.41      select LIBELF
    1.42  
    1.43  config CC_VERSION
     2.1 --- a/config/cc/gcc.in.2	Fri Sep 10 01:16:26 2010 +0200
     2.2 +++ b/config/cc/gcc.in.2	Sun Sep 12 20:54:54 2010 +0200
     2.3 @@ -7,6 +7,33 @@
     2.4        
     2.5        This will compile crossgcc's libs with -Os.
     2.6  
     2.7 +config CC_GCC_USE_GRAPHITE
     2.8 +    bool
     2.9 +    prompt "Enable GRAPHITE loop optimisations"
    2.10 +    default y
    2.11 +    depends on CC_GCC_HAS_GRAPHITE
    2.12 +    select CC_GCC_USE_PPL_CLOOG
    2.13 +    help
    2.14 +      Enable the GRAPHITE loop optimsations.
    2.15 +      
    2.16 +      This requires the PPL and CLooG companion libraries, and
    2.17 +      those will be automatically build for you.
    2.18 +      
    2.19 +      On some systems (eg. Cygwin), PPL and/or CLooG may not
    2.20 +      build properly (yet), so you'll have to say 'N' here.
    2.21 +
    2.22 +config CC_GCC_USE_LTO
    2.23 +    bool
    2.24 +    prompt "Enable LTO"
    2.25 +    default y
    2.26 +    depends on CC_GCC_HAS_LTO
    2.27 +    select CC_GCC_USE_LIBELF
    2.28 +    help
    2.29 +      Enable the Link Time Optimisations.
    2.30 +      
    2.31 +      This will require the libelf companion library, and it
    2.32 +      wil be build automatically for you.
    2.33 +
    2.34  config CC_STATIC_LIBSTDCXX
    2.35      bool
    2.36      prompt "Link libstdc++ statically into the gcc binary"
     3.1 --- a/scripts/build/cc/gcc.sh	Fri Sep 10 01:16:26 2010 +0200
     3.2 +++ b/scripts/build/cc/gcc.sh	Sun Sep 12 20:54:54 2010 +0200
     3.3 @@ -169,12 +169,14 @@
     3.4          extra_config+=("--with-gmp=${CT_COMPLIBS_DIR}")
     3.5          extra_config+=("--with-mpfr=${CT_COMPLIBS_DIR}")
     3.6      fi
     3.7 -    if [ "${CT_CC_GCC_USE_PPL_CLOOG}" = "y" ]; then
     3.8 +    if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
     3.9 +        extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
    3.10 +    fi
    3.11 +    if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
    3.12          extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}")
    3.13          extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}")
    3.14      fi
    3.15 -    if [ "${CT_CC_GCC_USE_MPC_LIBELF}" = "y" ]; then
    3.16 -        extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
    3.17 +    if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
    3.18          extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}")
    3.19      fi
    3.20  
    3.21 @@ -365,12 +367,14 @@
    3.22          extra_config+=("--with-gmp=${CT_COMPLIBS_DIR}")
    3.23          extra_config+=("--with-mpfr=${CT_COMPLIBS_DIR}")
    3.24      fi
    3.25 -    if [ "${CT_CC_GCC_USE_PPL_CLOOG}" = "y" ]; then
    3.26 +    if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then
    3.27 +        extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
    3.28 +    fi
    3.29 +    if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
    3.30          extra_config+=("--with-ppl=${CT_COMPLIBS_DIR}")
    3.31          extra_config+=("--with-cloog=${CT_COMPLIBS_DIR}")
    3.32      fi
    3.33 -    if [ "${CT_CC_GCC_USE_MPC_LIBELF}" = "y" ]; then
    3.34 -        extra_config+=("--with-mpc=${CT_COMPLIBS_DIR}")
    3.35 +    if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then
    3.36          extra_config+=("--with-libelf=${CT_COMPLIBS_DIR}")
    3.37      fi
    3.38