X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Funicos.sh;h=b8cbb4e9150d5f4ee6603a24323dc53cd66f4d47;hb=1182767ea8fd2e4c0bf1b4ebab9db9ac12fc142c;hp=026259f6c7d2a4200d252ca3f18b259d5c3c7d63;hpb=d8526ec6c6288eb9492134d3c4807d13d145b2c9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/unicos.sh b/hints/unicos.sh index 026259f..b8cbb4e 100644 --- a/hints/unicos.sh +++ b/hints/unicos.sh @@ -1,21 +1,40 @@ 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"' # Otherwise the unpack %65c checksums will fail. -pp_pack_cflags='ccflags="$ccflags -h scalar0 -h vector0"' +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 @@ -30,3 +49,20 @@ 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