X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fos390.sh;h=10f14edcf47dba1b0d0020dc698435b008d6b866;hb=696814337d4eac8d0663d5307d6e01964d1b2897;hp=bb41e6719f59ee6782829ff3a998637efac52ee8;hpb=b7380707a29664c17064947e87dc9c3e190f34b1;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/os390.sh b/hints/os390.sh index bb41e67..10f14ed 100644 --- a/hints/os390.sh +++ b/hints/os390.sh @@ -9,7 +9,7 @@ # Len Johnson # Bud Huff # Peter Prymmer -# Andy Dougherty +# Andy Dougherty # Tim Bunce # # as well as the authors of the aix.sh file @@ -24,7 +24,7 @@ case "$ld" in '') ld='c89' ;; esac -# -DMAXSIG=38 maximum signal number +# -DMAXSIG=39 maximum signal number # -DOEMVS is used in place of #ifdef __MVS__ in certain places. # -D_OE_SOCKETS alters system headers. # -D_XOPEN_SOURCE_EXTENDEDA alters system headers. @@ -33,8 +33,8 @@ esac # -DEBCDIC should come from Configure and need not be mentioned here. # Prepend your favorites with Configure -Dccflags=your_favorites case "$ccflags" in -'') ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;; -*) ccflags="$ccflags -DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;; +'') ccflags='-2 -Wc,XPLINK -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;; +*) ccflags="$ccflags -2 -Wc,XPLINK -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;; esac # Turning on optimization breaks perl. @@ -72,7 +72,7 @@ esac # information at the end of the executable (=> smaller binaries). # Override this option with -Dldflags='whatever else you wanted'. case "$ldflags" in -'') ldflags='-Wl,EDIT=NO' ;; +'') ldflags='-Wl,EDIT=NO -Wl,XPLINK,dll' ;; esac # In order to build with dynamic be sure to specify: @@ -111,11 +111,11 @@ define) esac libperl="libperl.$so" ccflags="$ccflags -D_SHR_ENVIRON -DPERL_EXTERNAL_GLOB -Wc,dll" - cccdlflags='-c -Wc,dll,EXPORTALL' + cccdlflags='-c -Wc,XPLINK,dll,EXPORTALL' # The following will need to be modified for the installed libperl.x. # The modification to Config.pm is done by the installperl script after the build and test. - ccdlflags="-W l,dll `pwd`/libperl.x" - lddlflags="-W l,dll `pwd`/libperl.x" + ccdlflags="-W l,XPLINK,dll `pwd`/libperl.x" + lddlflags="-W l,XPLINK,dll `pwd`/libperl.x" ;; esac # even on static builds using LIBPATH should be OK. @@ -123,14 +123,23 @@ case "$ldlibpthname" in '') ldlibpthname=LIBPATH ;; esac +# The folowing should always be used +d_oldpthreads='define' + # Header files to include. -# You can override these with Configure -Ui_time -Ui_systime. +# You can override these with Configure -Ui_time -Ui_systime -Dd_pthread_atfork. case "$i_time" in '') i_time='define' ;; esac case "$i_systime" in '') i_systime='define' ;; esac +case "$d_pthread_atfork" in +'') d_pthread_atfork='undef' ;; +esac +case "$d_pthread_atfork" in +'') d_pthread_atfork='undef' ;; +esac # (from aix.sh) # uname -m output is too specific and not appropriate here @@ -149,10 +158,10 @@ esac # under a compiler other than c89. case "$usedl" in define) -echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -D_SHR_ENVIRON -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin +echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -D_SHR_ENVIRON -E -Wc,"LANGLVL(DOLLARINNAMES)",NOLOC ${1+"$@"} .$$.c | grep -v "??="; rm .$$.c' > cppstdin ;; *) -echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin +echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -E -Wc,"LANGLVL(DOLLARINNAMES)",NOLOC ${1+"$@"} .$$.c | grep -v "??="; rm .$$.c' > cppstdin ;; esac @@ -203,9 +212,22 @@ EOWARN fi fi +# Most of the time gcvt() seems to work fine but +# sometimes values like 0.1, 0.2, come out as "10", "20", +# a trivial Perl demonstration snippet is 'print 0.1'. +# The -W 0,float(ieee) seems to be the switch breaking gcvt(). +# sprintf() seems to get things right(er). +gconvert_preference=sprintf + cat >config.arch<<'__CONFIG_ARCH__' # The '-W 0,float(ieee)' cannot be used during Configure as ldflags. ccflags="$ccflags -W 0,float(ieee)" __CONFIG_ARCH__ + +# Configure gets these wrong for some reason. +d_gethostbyaddr_r='undef' +d_gethostbyname_r='undef' +d_gethostent_r='undef' +