X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fos390.sh;h=8766f0b566a29771af982f0bc822472788fc9550;hb=9200a1b047c4d162aa5464d20038426ad445ad42;hp=54787e8d9a9a70381cd478eca41ee9c9a7b115cc;hpb=b82d478d407f1381d69179104035c975c1d1402e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/os390.sh b/hints/os390.sh index 54787e8..8766f0b 100644 --- a/hints/os390.sh +++ b/hints/os390.sh @@ -68,10 +68,17 @@ case "$usenm" in '') usenm='false' ;; esac -# Dynamic loading doesn't work on OS/390 quite yet. -# However the easiest way to experiment with dynamic loading is with: -# Configure -Dusedl -# You can even override some of this with things like: +# Setting ldflags='-Wl,EDIT=NO' will get rid of the symbol +# 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' ;; +esac + +# In order to build with dynamic be sure to specify: +# Configure -Dusedl +# Do not forget to add $archlibexp/CORE to your LIBPATH. +# You might want to override some of this with things like: # Configure -Dusedl -Ddlext=so -Ddlsrc=dl_dllload.xs. case "$usedl" in '') @@ -105,12 +112,6 @@ define) libperl="libperl.$so" ccflags="$ccflags -D_SHR_ENVIRON -DPERL_EXTERNAL_GLOB -Wc,dll" cccdlflags='-c -Wc,dll,EXPORTALL' - # You might add '-Wl,EDIT=NO' to get rid of the symbol - # information at the end of the executable (=> smaller binaries). - # Do so with -Dldflags='-Wl,EDIT=NO'. - case "$ldflags" in - '') ldflags='' ;; - esac # 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" @@ -139,14 +140,6 @@ case "$archname" in '') archname="$osname" ;; esac -# Architecture related object files. -# ebcdic.c contains special \cX mapping code for EBCDIC char sets. -# Prepend your preference with Configure -Darchobs=your_preference.o. -case "$archname" in -'') archobjs="ebcdic.o" ;; -*) archobjs="$archobjs ebcdic.o" ;; -esac - # We have our own cppstdin script. This is not a variable since # Configure sees the presence of the script file. # We put system header -D definitions in so that Configure @@ -210,3 +203,17 @@ 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'. +# Yes, a flagrant bug, but unfortunately not trivial to +# reproduce in C using gcvt(). +# sprintf() seems to get things right(er). +d_Gconvert='sprintf((b),"%.*g",(n),(x))' + +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__