X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Funicos.sh;h=b8cbb4e9150d5f4ee6603a24323dc53cd66f4d47;hb=89d1f0ef1b6c19fa0e51e21c93cfffe86aeb375c;hp=b864019a841dc1b6872e0ba25dfa87b6ead47eb5;hpb=7a4c00b4303a05a04564a03a88f4fa5c7a06a6e9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/unicos.sh b/hints/unicos.sh index b864019..b8cbb4e 100644 --- a/hints/unicos.sh +++ b/hints/unicos.sh @@ -1,7 +1,68 @@ case `uname -r` in 6.1*) shellflags="-m+65536" ;; esac -optimize="-O1" + +case "$optimize" in +# If we used fastmd (the default) integer values would be limited to 46 bits. +# --Mark P. Lutz +'') 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" + +# 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"' +# Otherwise the unpack %65c checksums will fail. +pp_pack_cflags='optimize="$ccflags -h scalar0 -h vector0"' +case "$usemymalloc" in +'') # The perl malloc.c SHOULD work says Ilya. + # But for the time being (5.004_68), alas, it doesn't. --jhi + # usemymalloc='y' + # ccflags="$ccflags -DNO_RCHECK" + usemymalloc='n' + ;; +esac +# Configure gets fooled for some reason, these do not exist. +d_getpgid='undef' +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. +case "$usethreads" in +$define|true|[yY]*) + set `echo X "$libswanted "| sed -e "s/ c / pthread c /"` + shift + libswanted="$*" + ;; +esac +EOCBU