cc/gcc: add option to enable 128-bit long doubles
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Oct 09 22:49:28 2010 +0200 (2010-10-09)
changeset 2143c7126e94e286
parent 2142 17e9137b962e
child 2144 80f088eb0608
cc/gcc: add option to enable 128-bit long doubles

Needed by some PPC targets, at least.
Requires gcc 4.2+ (noticed by Arnaud LACOMBE).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
config/cc/gcc.in.2
scripts/build/cc/gcc.sh
     1.1 --- a/config/cc/gcc.in.2	Fri Oct 08 23:51:38 2010 +0200
     1.2 +++ b/config/cc/gcc.in.2	Sat Oct 09 22:49:28 2010 +0200
     1.3 @@ -105,3 +105,16 @@
     1.4        re-compilation and re-link, while it exists better run-time
     1.5        alternatives (eg. DUMA, dmalloc...) that need neither re-
     1.6        compilation nor re-link.
     1.7 +
     1.8 +config CC_GCC_LDBL_128
     1.9 +    tristate
    1.10 +    prompt "Enable 128-bit long doubles"
    1.11 +    default m
    1.12 +    depends on CC_GCC_4_2_or_later
    1.13 +    help
    1.14 +      Saying 'Y' will force gcc to use 128-bit wide long doubles
    1.15 +      Saying 'N' will force gcc to use 64-bit wide long doubles
    1.16 +      Saying 'M' will let gcc choose (default is 128-bit for
    1.17 +                 glibc >= 2.4, 64-bit otherwise)
    1.18 +      
    1.19 +      If in doubt, keep the default, ie. 'M'.
     2.1 --- a/scripts/build/cc/gcc.sh	Fri Oct 08 23:51:38 2010 +0200
     2.2 +++ b/scripts/build/cc/gcc.sh	Sat Oct 09 22:49:28 2010 +0200
     2.3 @@ -191,6 +191,12 @@
     2.4          extra_config+=("--enable-target-optspace")
     2.5      fi
     2.6  
     2.7 +    case "${CT_CC_GCC_LDBL_128}" in
     2.8 +        Y)  extra_config+=("--with-long-double-128");;
     2.9 +        M)  ;;
    2.10 +        "") extra_config+=("--without-long-double-128");;
    2.11 +    esac
    2.12 +
    2.13      CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
    2.14  
    2.15      # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532)
    2.16 @@ -420,6 +426,12 @@
    2.17          extra_config+=("--disable-libstdcxx-pch")
    2.18      fi
    2.19  
    2.20 +    case "${CT_CC_GCC_LDBL_128}" in
    2.21 +        Y)  extra_config+=("--with-long-double-128");;
    2.22 +        M)  ;;
    2.23 +        "") extra_config+=("--without-long-double-128");;
    2.24 +    esac
    2.25 +
    2.26      CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'"
    2.27  
    2.28      # --enable-symvers=gnu really only needed for sh4 to work around a