summaryrefslogtreecommitdiff
path: root/Configure
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-08-22 21:02:23 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2014-09-19 09:26:49 -0400
commitaae2249550bb0b153b0d4e295133e42fb5921cef (patch)
treee64e3d535ee2938e92fa985350ec46aad68d09c6 /Configure
parent9c75d918805f7766855958e1eff74f6379d8b069 (diff)
downloadperl-aae2249550bb0b153b0d4e295133e42fb5921cef.tar.gz
quadmath needs gcc, at least 4.6.
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure45
1 files changed, 43 insertions, 2 deletions
diff --git a/Configure b/Configure
index 2c820f984e..bd0327e99d 100755
--- a/Configure
+++ b/Configure
@@ -4446,9 +4446,11 @@ esac
set usemultiplicity
eval $setvar
-: Check if quadmath is requested
+: Check if usequadmath is requested
case "$usequadmath" in
"$define"|true|[yY]*)
+ usequadmath="$define"
+ # if usequadmath enabled also enable uselongdouble
uselongdouble="$define"
;;
*) usequadmath="$undef" ;;
@@ -16305,8 +16307,47 @@ define:define)
nvsize=$doublesize
;;
esac
+
case "$usequadmath:$i_quadmath" in
-define:define) nvtype="__float128" ;;
+define:define)
+ nvtype="__float128"
+ nvsize=16
+ case "$libs" in
+ *quadmath*) ;;
+ *) $cat <<EOM >&4
+
+*** You requested the use of the quadmath library, but you
+*** do not seem to have the quadmath library installed.
+*** Cannot continue, aborting.
+EOM
+ exit 1
+ ;;
+ esac
+ ;;
+define:*) $cat <<EOM >&4
+
+*** You requested the use of the quadmath library, but you
+*** do not seem to have the required header, <quadmath.h>.
+EOM
+ case "$gccversion" in
+ [23].*|4.[0-5]*)
+ $cat <<EOM >&4
+*** Your gcc looks a bit old:
+*** $gccversion
+EOM
+ ;;
+ '')
+ $cat <<EOM >&4
+*** You are not running a gcc.
+EOM
+ ;;
+ esac
+ $cat <<EOM >&4
+*** For the quadmath library you need at least gcc 4.6.
+*** Cannot continue, aborting.
+EOM
+ exit 1
+ ;;
esac
$echo "(IV will be "$ivtype", $ivsize bytes)"