This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
maint and blead: unicos.sh hints
[perl5.git] / hints / unicos.sh
index 4290bd5..b8cbb4e 100644 (file)
@@ -1,16 +1,35 @@
 case `uname -r` in
 6.1*) shellflags="-m+65536" ;;
 esac
+
 case "$optimize" in
 # If we used fastmd (the default) integer values would be limited to 46 bits.
 # --Mark P. Lutz
-'') optimize="$optimize -h nofastmd" ;;
+'') optimize="$optimize -O1 -h nofastmd" ;;
 esac
+
+# At least in the following environment
+# uname -a: snxxxx xxxx 9.0.2.2 sin.0 CRAY Y-MP
+# cc -V:    Cray Standard C Version 4.0.3  (057126) Jan 29 2006  07:27:26
+# one has to drop optimisation from perl.c or otherwise
+# the resulting miniperl executable does nothing (visible)
+# but always exits with zero (success) exit status, this
+# making it impossible to build the perl executable. --jhi
+perl_cflags='optimize="-O0"'
+
 # The default is to die in runtime on math overflows.
 # Let's not do that. --jhi
 ccflags="$ccflags -h matherror=errno" 
-# Give int((2/3)*3) a chance to be 2, not 1. --jhi
-ccflags="$ccflags -h rounddiv"
+
+# Cray floating point (cfp) CPUs need -h rounddiv
+# (It gives int((2/3)*3) a chance to be 2, not 1. --jhi)
+# (but IEEE CPUs, IEEE/ieee/CPE1 CPUs should not have -h rounddiv,
+#  since the compiler on those CPUs doesn't even support the option.)
+if /etc/cpu -i | grep -q cfp
+then
+    ccflags="$ccflags -h rounddiv"
+fi
+
 # Avoid an optimizer bug where a volatile variables
 # isn't correctly saved and restored --Mark P. Lutz 
 pp_ctl_cflags='ccflags="$ccflags -h scalar0 -h vector0"'
@@ -30,6 +49,12 @@ d_setitimer='undef'
 # These exist but do not really work.
 d_setregid='undef'
 d_setreuid='undef'
+# No shared libraries.
+so='none'
+# No dynaloading.
+d_dlopen='undef'
+i_dlfcn='undef'
+# Threads call-back unit.
 cat > UU/usethreads.cbu <<'EOCBU'
 # This script UU/usethreads.cbu will get 'called-back' by Configure
 # after it has prompted the user for whether to use threads.