SysV IPC semops use native shorts, not forced-to-16-bit-shorts.
[p5sagit/p5-mst-13.2.git] / hints / os390.sh
index 6f4f39b..4f6f370 100644 (file)
@@ -25,6 +25,8 @@ case "$ld" in
 esac
 
 # -DMAXSIG=38 maximum signal number
+# -DPERL_IGNORE_FPUSIG=SIGFPE allows Perl to be cavalier with FP overflow
+#   (particularly in numeric.c:S_mulexp10())
 # -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 +35,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='-DMAXSIG=38 -DPERL_IGNORE_FPUSIG=SIGFPE -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC' ;;
+*) ccflags="$ccflags -DMAXSIG=38 -DPERL_IGNORE_FPUSIG=SIGFPE -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC" ;;
 esac
 
 # Turning on optimization breaks perl.
@@ -68,10 +70,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 +114,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"