summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2014-08-22 11:05:52 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2014-09-19 09:26:48 -0400
commitd6d36205af417d227110bac72e1801d73862770f (patch)
treed6e052f71467033a4e2b9ea86b1f298d03578f43
parent4e5044f034f5b5d064c8d998817c4476bf4842a3 (diff)
downloadperl-d6d36205af417d227110bac72e1801d73862770f.tar.gz
Configure -Dusequadmath.
-rwxr-xr-xConfigure14
-rw-r--r--Cross/config.sh-arm-linux1
-rw-r--r--NetWare/config.wc1
-rw-r--r--Porting/Glossary5
-rw-r--r--Porting/config.sh1
-rwxr-xr-xconfig_h.SH8
-rw-r--r--configure.com8
-rw-r--r--plan9/config_sh.sample1
-rw-r--r--symbian/config.sh1
-rw-r--r--uconfig.h12
-rw-r--r--uconfig.sh1
-rw-r--r--uconfig64.sh1
-rw-r--r--win32/config.ce1
-rw-r--r--win32/config.gc1
-rw-r--r--win32/config.vc1
15 files changed, 54 insertions, 3 deletions
diff --git a/Configure b/Configure
index 1eb7401fce..cd711d2298 100755
--- a/Configure
+++ b/Configure
@@ -1260,6 +1260,7 @@ libswanted_uselargefiles=''
uselargefiles=''
uselongdouble=''
usemorebits=''
+usequadmath=''
usemultiplicity=''
nm_opt=''
nm_so_opt=''
@@ -4445,6 +4446,15 @@ esac
set usemultiplicity
eval $setvar
+: Check if quadmath is requested
+case "$usequadmath" in
+"$define"|true|[yY]*)
+ uselongdouble="$define"
+ ;;
+*) usequadmath="$undef" ;;
+esac
+
+
: Check if morebits is requested
case "$usemorebits" in
"$define"|true|[yY]*)
@@ -5168,6 +5178,9 @@ esac
case "$usecbacktrace" in
"$define") libswanted="$libswanted bfd" ;;
esac
+case "$usequadmath" in
+"$define") libswanted="$libswanted quadmath" ;;
+esac
libsfound=''
libsfiles=''
libsdirs=''
@@ -24341,6 +24354,7 @@ usensgetexecutablepath='$usensgetexecutablepath'
useopcode='$useopcode'
useperlio='$useperlio'
useposix='$useposix'
+usequadmath='$usequadmath'
usereentrant='$usereentrant'
userelocatableinc='$userelocatableinc'
useshrplib='$useshrplib'
diff --git a/Cross/config.sh-arm-linux b/Cross/config.sh-arm-linux
index ab05e84e93..ca36a553dc 100644
--- a/Cross/config.sh-arm-linux
+++ b/Cross/config.sh-arm-linux
@@ -1063,6 +1063,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='true'
diff --git a/NetWare/config.wc b/NetWare/config.wc
index 9ad270c4a1..1407c443d1 100644
--- a/NetWare/config.wc
+++ b/NetWare/config.wc
@@ -1026,6 +1026,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='undef'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='true'
diff --git a/Porting/Glossary b/Porting/Glossary
index 4ef88730d5..e28bb561a8 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -5248,6 +5248,11 @@ useposix (Extensions.U):
for hints files to indicate that POSIX will not compile
on a particular system.
+usequadmath (usequadmath.U):
+ This variable conditionally defines the USE_QUADMATH symbol,
+ and indicates that the quadmath library __float128 long doubles
+ should be used when available.
+
usereentrant (usethreads.U):
This variable conditionally defines the USE_REENTRANT_API symbol,
which indicates that the thread code may try to use the various
diff --git a/Porting/config.sh b/Porting/config.sh
index 8cd2971db4..cda4fc575e 100644
--- a/Porting/config.sh
+++ b/Porting/config.sh
@@ -1088,6 +1088,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='false'
diff --git a/config_h.SH b/config_h.SH
index 948a156542..7aae94f05a 100755
--- a/config_h.SH
+++ b/config_h.SH
@@ -4849,6 +4849,14 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
#$uselongdouble USE_LONG_DOUBLE /**/
#endif
+/* USE_QUADMATH:
+ * This symbol, if defined, indicates that the quadmath library should
+ * be used when available.
+ */
+#ifndef USE_QUADMATH
+#$usequadmath USE_QUADMATH /**/
+#endif
+
/* USE_MORE_BITS:
* This symbol, if defined, indicates that 64-bit interfaces and
* long doubles should be used when available.
diff --git a/configure.com b/configure.com
index 9a19f42ff9..11eb024aed 100644
--- a/configure.com
+++ b/configure.com
@@ -52,6 +52,7 @@ $ use64bitall = "n"
$ use64bitint = "n"
$ uselongdouble = "n"
$ uselargefiles = "y"
+$ usequadmath = "n"
$ usestdstat = "n"
$ usesitecustomize = "n"
$ C_Compiler_Replace = "CC="
@@ -925,7 +926,7 @@ $!
$ config_symbols0 ="|archlib|archlibexp|bin|binexp|builddir|cf_email|config_sh|installarchlib|installbin|installman1dir|installman3dir|"
$ config_symbols1 ="|installprivlib|installscript|installsitearch|installsitelib|most|oldarchlib|oldarchlibexp|osname|pager|perl_symbol|perl_verb|"
$ config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|usecxx|use64bitall|use64bitint|"
-$ config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|uselongdouble|usemultiplicity|usemymalloc|usedebugging_perl|"
+$ config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|uselongdouble|usequadmath|usemultiplicity|usemymalloc|usedebugging_perl|"
$ config_symbols4 ="|usesecurelog|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
$ config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|useshortenedsymbols|useversionedarchname"
$!
@@ -6730,6 +6731,7 @@ $ WC "usemultiplicity='" + usemultiplicity + "'"
$ WC "usemymalloc='" + usemymalloc + "'"
$ WC "useperlio='define'"
$ WC "useposix='false'"
+$ WC "usequadmath='" + usequadmath + "'"
$ WC "usereentrant='undef'"
$ WC "userelocatableinc='undef'"
$ WC "usesecurelog='" + usesecurelog + "'" ! VMS-specific
@@ -6967,6 +6969,10 @@ $ IF uselongdouble .OR. uselongdouble .EQS. "define"
$ THEN
$ WC "#define USE_LONG_DOUBLE"
$ ENDIF
+$ IF usequadmath .OR. usequadmath .EQS. "define"
+$ THEN
+$ WC "#define USE_QUADMATH"
+$ ENDIF
$ IF use64bitall .OR. use64bitall .EQS. "define" THEN -
WC "#define USE_64_BIT_ALL"
$ IF be_case_sensitive THEN WC "#define VMS_WE_ARE_CASE_SENSITIVE"
diff --git a/plan9/config_sh.sample b/plan9/config_sh.sample
index 2a77ee4155..67cc84f8d9 100644
--- a/plan9/config_sh.sample
+++ b/plan9/config_sh.sample
@@ -1034,6 +1034,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='false'
diff --git a/symbian/config.sh b/symbian/config.sh
index 17ffb7b140..193b8db9b9 100644
--- a/symbian/config.sh
+++ b/symbian/config.sh
@@ -849,6 +849,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='define'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='false'
diff --git a/uconfig.h b/uconfig.h
index 778bee702c..81d5e063fe 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -4814,6 +4814,14 @@
/*#define USE_LONG_DOUBLE / **/
#endif
+/* USE_QUADMATH:
+ * This symbol, if defined, indicates that the quadmath library should
+ * be used when available.
+ */
+#ifndef USE_QUADMATH
+/*#define USE_QUADMATH / **/
+#endif
+
/* USE_MORE_BITS:
* This symbol, if defined, indicates that 64-bit interfaces and
* long doubles should be used when available.
@@ -4857,6 +4865,6 @@
#endif
/* Generated from:
- * 8efb374b21480cf581be7abbe612d8fe38e1648e146cc8c19e16d9b533257b24 config_h.SH
- * b42f107a4c0dff0588550e034bef79028c4ac588dfda1fffcc777c3ce3adf867 uconfig.sh
+ * d7da79ac72d2191d6814ec98688e342f20eba70c64292c2e0b6b5622cdf3b6e6 config_h.SH
+ * a3cd0b705a952f6915cc1424cc116d4183481f54ba9605415baf93bc57e12122 uconfig.sh
* ex: set ro: */
diff --git a/uconfig.sh b/uconfig.sh
index 98b6021d20..0341bda083 100644
--- a/uconfig.sh
+++ b/uconfig.sh
@@ -816,6 +816,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='undef'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='false'
diff --git a/uconfig64.sh b/uconfig64.sh
index 17e326e7be..00fa9d069b 100644
--- a/uconfig64.sh
+++ b/uconfig64.sh
@@ -817,6 +817,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='undef'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='false'
diff --git a/win32/config.ce b/win32/config.ce
index 957699d338..e1083afc26 100644
--- a/win32/config.ce
+++ b/win32/config.ce
@@ -1016,6 +1016,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='~USE_PERLIO~'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='true'
diff --git a/win32/config.gc b/win32/config.gc
index d4a5cb733e..d83ab2af7b 100644
--- a/win32/config.gc
+++ b/win32/config.gc
@@ -1057,6 +1057,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='undef'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='true'
diff --git a/win32/config.vc b/win32/config.vc
index 71ceda72b1..454ff888e1 100644
--- a/win32/config.vc
+++ b/win32/config.vc
@@ -1056,6 +1056,7 @@ usensgetexecutablepath='undef'
useopcode='true'
useperlio='undef'
useposix='true'
+usequadmath='undef'
usereentrant='undef'
userelocatableinc='undef'
useshrplib='true'