summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure2
-rw-r--r--config_h.SH2
-rwxr-xr-xconfigpm17
-rw-r--r--hints/aix.sh12
-rw-r--r--hints/dec_osf.sh1
-rw-r--r--hints/newsos4.sh2
-rw-r--r--hints/os2.sh9
-rw-r--r--hints/os390.sh2
-rw-r--r--hints/svr4.sh2
-rw-r--r--hints/svr5.sh2
10 files changed, 26 insertions, 25 deletions
diff --git a/Configure b/Configure
index 7dad2cd648..5e8b5d09e0 100755
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Wed Feb 20 17:35:55 EET 2002 [metaconfig 3.0 PL70]
+# Generated on Wed Feb 20 17:53:32 EET 2002 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
diff --git a/config_h.SH b/config_h.SH
index 2d15aac693..26206b0ce2 100644
--- a/config_h.SH
+++ b/config_h.SH
@@ -1410,7 +1410,7 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
* a macro using sprintf("%g") is used. Arguments for the Gconvert
* macro are: value, number of digits, whether trailing zeros should
* be retained, and the output buffer.
- * Possible values are:
+ * The usual values are:
* d_Gconvert='gconvert((x),(n),(t),(b))'
* d_Gconvert='gcvt((x),(n),(b))'
* d_Gconvert='sprintf((b),"%.*g",(n),(x))'
diff --git a/configpm b/configpm
index 9f1a2e11cd..d8339fa22b 100755
--- a/configpm
+++ b/configpm
@@ -420,20 +420,25 @@ $text = 0;
$/ = '';
sub process {
- s/\A(\w*)\s+\(([\w.]+)\):\s*\n(\t?)/=item C<$1>\n\nFrom F<$2>:\n\n/m;
- my $c = substr $1, 0, 1;
- unless ($seen{$c}++) {
- print CONFIG <<EOF if $text;
+ if (s/\A(\w*)\s+\(([\w.]+)\):\s*\n(\t?)/=item C<$1>\n\nFrom F<$2>:\n\n/m) {
+ my $c = substr $1, 0, 1;
+ unless ($seen{$c}++) {
+ print CONFIG <<EOF if $text;
=back
EOF
- print CONFIG <<EOF;
+ print CONFIG <<EOF;
=head2 $c
=over 4
EOF
- $text = 1;
+ $text = 1;
+ }
+ }
+ elsif (!$text || !/\A\t/) {
+ warn "Expected a Configure variable header",
+ ($text ? " or another paragraph of description" : () );
}
s/n't/n\00t/g; # leave can't, won't etc untouched
s/^\t\s+(.*)/\n\t$1\n/gm; # Indented lines ===> paragraphs
diff --git a/hints/aix.sh b/hints/aix.sh
index 2d2468a337..53af9f5b78 100644
--- a/hints/aix.sh
+++ b/hints/aix.sh
@@ -475,18 +475,6 @@ EOM
esac
EOCBU
-cat > UU/uselongdouble.cbu <<'EOCBU'
-# This script UU/uselongdouble.cbu will get 'called-back' by Configure
-# after it has prompted the user for whether to use long doubles.
-case "$uselongdouble" in
-$define|true|[yY]*)
- # -qlongdouble for cc taken out on 20010522 cause it
- # causes more trouble than it does any good --hmb
- d_Gconvert='sprintf((b),"%.*llg",((int)(n)),(x))'
- ;;
-esac
-EOCBU
-
if test $usenativedlopen = 'true'
then
ccflags="$ccflags -DUSE_NATIVE_DLOPEN"
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh
index ae56198e87..1e0122f4fc 100644
--- a/hints/dec_osf.sh
+++ b/hints/dec_osf.sh
@@ -305,7 +305,6 @@ EOF
exit 1
;;
esac
- d_Gconvert='sprintf((b),"%.*Lg",(n),(x))'
;;
esac
EOCBU
diff --git a/hints/newsos4.sh b/hints/newsos4.sh
index 3e447a5569..5cbcc531e2 100644
--- a/hints/newsos4.sh
+++ b/hints/newsos4.sh
@@ -28,6 +28,6 @@ timetype='long'
# filemode type is int (not mode_t)
modetype='int'
# using sprintf(3) instead of gcvt(3)
-d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+gconvert_preference=sprintf
# No POSIX.
useposix='false'
diff --git a/hints/os2.sh b/hints/os2.sh
index 9c1355cba4..77085a89b4 100644
--- a/hints/os2.sh
+++ b/hints/os2.sh
@@ -111,6 +111,15 @@ i_dlfcn='define'
# The default one uses exponential notation between 0.0001 and 0.1
d_Gconvert='gcvt_os2((x),(n),(b))'
+cat > UU/uselongdouble.cbu <<'EOCBU'
+# This script UU/uselongdouble.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use long doubles.
+# If we will use them, let Configure choose us a Gconvert.
+case "$uselongdouble:$d_longdbl:$d_sqrtl:$d_modfl" in
+"$define:$define:$define:$define") d_Gconvert='' ;;
+esac
+EOCBU
+
# -Zomf build has a problem with _exit() *flushing*, so the test
# gets confused:
fflushNULL="define"
diff --git a/hints/os390.sh b/hints/os390.sh
index e85ebef978..38d02c3fad 100644
--- a/hints/os390.sh
+++ b/hints/os390.sh
@@ -208,7 +208,7 @@ fi
# a trivial Perl demonstration snippet is 'print 0.1'.
# The -W 0,float(ieee) seems to be the switch breaking gcvt().
# sprintf() seems to get things right(er).
-d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+gconvert_preference=sprintf
cat >config.arch<<'__CONFIG_ARCH__'
# The '-W 0,float(ieee)' cannot be used during Configure as ldflags.
diff --git a/hints/svr4.sh b/hints/svr4.sh
index fe88f27dec..b3be9ac40b 100644
--- a/hints/svr4.sh
+++ b/hints/svr4.sh
@@ -23,7 +23,7 @@ libswanted=`echo " $libswanted " | sed -e 's/ malloc / /'` # -e 's/ ucb / /'`
# it is needed for ODBM_File and NDBM_File extensions.
if [ -r /usr/ucblib/libucb.a ]; then # If using BSD-compat. library:
- d_Gconvert='gcvt((x),(n),(b))' # Try gcvt() before gconvert().
+ gconvert_preference='gcvt sprintf' # Try gcvt() before gconvert().
# Use the "native" counterparts, not the BSD emulation stuff:
d_bcmp='undef' d_bcopy='undef' d_bzero='undef' d_safebcpy='undef'
d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
diff --git a/hints/svr5.sh b/hints/svr5.sh
index 5f772599eb..2ddcbb10ba 100644
--- a/hints/svr5.sh
+++ b/hints/svr5.sh
@@ -87,7 +87,7 @@ glibpth=`echo " $glibpth " | sed -e 's/ \/shlib / /' -e 's/ \/lib / /'`
# Don't use BSD emulation pieces (/usr/ucblib) regardless
# these would probably be autonondetected anyway but ...
-d_Gconvert='gcvt((x),(n),(b))' # Try gcvt() before gconvert().
+gconvert_preference='gcvt sprintf' # Try gcvt() before gconvert().
d_bcopy='undef' d_bcmp='undef' d_bzero='undef' d_safebcpy='undef'
d_index='undef' d_killpg='undef' d_getprior='undef' d_setprior='undef'
d_setlinebuf='undef'