Change 15289 by jhi@alpha on 2002/03/18 13:44:14
Subject: Re: perl@15244
From: Spider Boardman <[EMAIL PROTECTED]>
Date: Mon, 18 Mar 2002 09:38:55 -0500
Message-Id: <[EMAIL PROTECTED]>
(IA64 work.)
Affected files ...
.... //depot/perl/hints/hpux.sh#82 edit
.... //depot/perl/perl.h#445 edit
Differences ...
==== //depot/perl/hints/hpux.sh#82 (text) ====
Index: perl/hints/hpux.sh
--- perl/hints/hpux.sh.~1~ Mon Mar 18 07:00:05 2002
+++ perl/hints/hpux.sh Mon Mar 18 07:00:05 2002
@@ -20,7 +20,7 @@
xxcpu=`printf '0x%x' $xxcpu`; # convert to hex
archname=`sed -n -e "s/^#[ \t]*define[ \t]*CPU_//p" /usr/include/sys/unistd.h |
sed -n -e "s/[ \t]*$xxcpu[ \t].*//p" |
- sed -e s/_RISC/-RISC/ -e s/HP_// -e s/_/./`;
+ sed -e s/_RISC/-RISC/ -e s/HP_// -e s/_/./ -e "s/[[:space:]]*//g"`;
else
# This system is running <= 9.x
# Tested on 9.0[57] PA and [78].0 MC680[23]0. Idea: After removing
@@ -162,14 +162,23 @@
$define|true|[yY]*) use64bitint="$define"; uselongdouble="$define" ;;
esac
-case "$uselongdouble" in
- $define|true|[yY]*)
- cat <<EOM >&4
+case "$archname" in
+ IA64*)
+ # While here, override so=sl auto-detection
+ so='so'
+ ;;
+ *)
+ case "$uselongdouble" in
+ *) ;;
+ $define|true|[yY]*)
+ cat <<EOM >&4
*** long doubles are not (yet) supported on HP-UX (any version)
*** Until it does, we cannot continue, aborting.
EOM
- exit 1 ;;
+ exit 1 ;;
+ esac
+ ;;
esac
case "$use64bitint" in
@@ -227,6 +236,7 @@
# Reset the library checker to make sure libraries
# are the right type
+ # (NOTE: on IA64, this doesn't work with .a files.)
libscheck='case "`/usr/bin/file $xxx`" in
*ELF-64*|*LP64*|*PA-RISC2.0*) ;;
*) xxx=/no/64-bit$xxx ;;
@@ -294,6 +304,7 @@
to at least 0x08000000 (128 Mb) and rebuild your kernel.
EOM
regexec_cflags=''
+doop_cflags=''
fi
case "$ccisgcc" in
@@ -336,15 +347,22 @@
"") optimize="+O2 +Onolimit" ;;
*O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
esac
+ case "$optimize" in
+ *-O*|\
+ *O2*) opt=`echo "$optimize" | sed -e 's/-O/+O2/' -e 's/O2/O1/' -e 's/
+*+Onolimit//'`
+ ;;
+ *) opt="$optimize"
+ ;;
+ esac
if [ $maxdsiz -le 64 ]; then
- case "$optimize" in
- *-O*|\
- *O2*) opt=`echo "$optimize" | sed -e 's/-O/+O2/' -e 's/O2/O1/' -e
's/ *+Onolimit//'`
- toke_cflags="$toke_cflags;optimize=\"$opt\""
- regexec_cflags="optimize=\"$opt\""
- ;;
- esac
+ toke_cflags="$toke_cflags;optimize=\"$opt\""
+ regexec_cflags="optimize=\"$opt\""
fi
+ case "$archname" in
+ IA64*)
+ doop_cflags="optimize=\"$opt\""
+ ;;
+ esac
ld=/usr/bin/ld
cccdlflags='+Z'
lddlflags='-b +vnocompatwarnings'
@@ -374,8 +392,8 @@
# but we cheat for now. (Keep that in the left margin.)
ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- case "$ccflags" in
- *" $ccflags_uselargefiles") ;;
+ case " $ccflags " in
+ *" $ccflags_uselargefiles "*) ;;
*) ccflags="$ccflags $ccflags_uselargefiles" ;;
esac
@@ -494,4 +512,9 @@
EOCBU
# fpclassify() is a macro, the library call is Fpclassify
+# Similarly with the others below.
d_fpclassify='define'
+d_isnan='define'
+d_isinf='define'
+d_isfinite='define'
+d_unordered='define'
==== //depot/perl/perl.h#445 (text) ====
Index: perl/perl.h
--- perl/perl.h.~1~ Mon Mar 18 07:00:05 2002
+++ perl/perl.h Mon Mar 18 07:00:05 2002
@@ -1233,7 +1233,7 @@
# else
# define Perl_frexp(x,y) ((long double)frexp((double)(x),y))
# endif
-# ifndef Perl_isinf
+# ifndef Perl_isnan
# ifdef HAS_ISNANL
# define Perl_isnan(x) isnanl(x)
# endif
@@ -1341,7 +1341,7 @@
#if !defined(Perl_fp_class) && defined(HAS_FPCLASSIFY)
# include <math.h>
# define Perl_fp_class(x) fpclassify(x)
-# define Perl_fp_class_nan(x)
(fp_classify(x)==FP_SNAN|FP|_fp_classify(x)==QNAN)
+# define Perl_fp_class_nan(x)
+(fp_classify(x)==FP_SNAN||fp_classify(x)==FP_QNAN)
# define Perl_fp_class_inf(x) (fp_classify(x)==FP_INFINITE)
# define Perl_fp_class_norm(x) (fp_classify(x)==FP_NORMAL)
# define Perl_fp_class_denorm(x) (fp_classify(x)==FP_SUBNORMAL)
End of Patch.