summaryrefslogtreecommitdiff
path: root/hints/dec_osf.sh
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-08-08 13:22:13 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-08-08 13:22:13 +0000
commit6c7aff00377b827ccc6e918bdb59169ef553af97 (patch)
tree181a9d77c0f662069df1746be59b6cc26e0b498a /hints/dec_osf.sh
parent03c6e78a0ff65edc6cf70aa8f6dcb50b664ccbef (diff)
downloadperl-6c7aff00377b827ccc6e918bdb59169ef553af97.tar.gz
Make VMS use IEEE math by default; reorder Tru64 hints
so that -fprm d -ieee (the -ieee gives as e.g. IEEE 754 exception semantics) is always set if using (the new) cc. p4raw-id: //depot/perl@11613
Diffstat (limited to 'hints/dec_osf.sh')
-rw-r--r--hints/dec_osf.sh33
1 files changed, 21 insertions, 12 deletions
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh
index 8bf043f171..134a3aa7e1 100644
--- a/hints/dec_osf.sh
+++ b/hints/dec_osf.sh
@@ -60,12 +60,16 @@
cc=${cc:-cc}
+case "`$cc -v 2>&1 | grep cc`" in
+*gcc*) isgcc=gcc ;;
+esac
+
# do NOT, I repeat, *NOT* take away the leading tabs
# Configure Black Magic (TM)
# reset
_DEC_cc_style=
-case "`$cc -v 2>&1 | grep cc`" in
-*gcc*) _gcc_version=`$cc --version 2>&1 | tr . ' '`
+case "$isgcc" in
+gcc) _gcc_version=`$cc --version 2>&1 | tr . ' '`
set $_gcc_version
if test "$1" -lt 2 -o \( "$1" -eq 2 -a \( "$2" -lt 95 -o \( "$2" -eq 95 -a "$3" -lt 2 \) \) \); then
cat >&4 <<EOF
@@ -116,8 +120,8 @@ EOF
esac
# be nauseatingly ANSI
-case "`$cc -v 2>&1 | grep gcc`" in
-*gcc*) ccflags="$ccflags -ansi"
+case "$isgcc" in
+gcc) ccflags="$ccflags -ansi"
;;
*) ccflags="$ccflags -std"
;;
@@ -129,13 +133,10 @@ esac
# we want optimisation
case "$optimize" in
-'') case "`$cc -v 2>&1 | grep gcc`" in
- *gcc*)
- optimize='-O3' ;;
+'') case "$isgcc" in
+ gcc) optimize='-O3' ;;
*) case "$_DEC_cc_style" in
- new) optimize='-O4'
- ccflags="$ccflags -fprm d -ieee"
- ;;
+ new) optimize='-O4' ;;
old) optimize='-O2 -Olimit 3200' ;;
esac
ccflags="$ccflags -D_INTRINSICS"
@@ -144,6 +145,14 @@ case "$optimize" in
;;
esac
+# we want dynamic fp rounding mode, and we want ieee exception semantics
+case "$isgcc" in
+gcc) case "$_DEC_cc_style" in
+ new) ccflags="$ccflags -fprm d -ieee" ;;
+ esac
+ ;;
+esac
+
# Make glibpth agree with the compiler suite. Note that /shlib
# is not here. That's on purpose. Even though that's where libc
# really lives from V4.0 on, the linker (and /sbin/loader) won't
@@ -255,8 +264,8 @@ cat > UU/usethreads.cbu <<'EOCBU'
case "$usethreads" in
$define|true|[yY]*)
# Threads interfaces changed with V4.0.
- case "`$cc -v 2>&1 | grep gcc`" in
- *gcc*)ccflags="-D_REENTRANT $ccflags" ;;
+ case "$isgcc" in
+ gcc) ccflags="-D_REENTRANT $ccflags" ;;
*) case "`uname -r`" in
*[123].*) ccflags="-threads $ccflags" ;;
*) ccflags="-pthread $ccflags" ;;