summaryrefslogtreecommitdiff
path: root/hints
diff options
context:
space:
mode:
authorH.Merijn Brand <h.m.brand@xs4all.nl>2019-10-03 14:52:24 +0200
committerH.Merijn Brand <h.m.brand@xs4all.nl>2019-10-03 16:13:38 +0200
commit92ad49c1bd9a1191936a8e1f2c7d1e8f8cb13fa4 (patch)
tree53b0a6ea2ab3c246cfc73ba2df32bb1579b81106 /hints
parent7d769928d688d1662c7e4bda7038ebdc70c42bad (diff)
downloadperl-92ad49c1bd9a1191936a8e1f2c7d1e8f8cb13fa4.tar.gz
Recent os390 experiences reflected in docs and hints
Diffstat (limited to 'hints')
-rw-r--r--hints/os390.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/hints/os390.sh b/hints/os390.sh
index 8fe573e48f..7739a42604 100644
--- a/hints/os390.sh
+++ b/hints/os390.sh
@@ -32,9 +32,12 @@ esac
# YYDYNAMIC ensures that the OS/390 yacc generated parser is reentrant.
# -DEBCDIC should come from Configure and need not be mentioned here.
# Prepend your favorites with Configure -Dccflags=your_favorites
+ def_os390_cflags='-qlanglvl=extended:extc89:extc99 -qlongname -qxplink -qdll -qfloat=ieee -qexportall -qhaltonmsg=3296:4108'
+ def_os390_cflags="$def_os390_cflags -Wc,XPLINK,dll,EXPORTALL -Wl,XPLINK,dll"
+ def_os390_defs='-DMAXSIG=39 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC -D_POSIX_SOURCE=1'
case "$ccflags" in
-'') ccflags='-qlanglvl=extended:extc89:extc99 -qlongname -qxplink -qdll -qfloat=ieee -qhaltonmsg=3296:4108 -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC -D_POSIX_SOURCE=1' ;;
-*) ccflags='$ccflags -qlanglvl=extended:extc89:extc99 -qlongname -qxplink -qdll -qfloat=ieee -qhaltonmsg=3296:4108 -DMAXSIG=39 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC -D_POSIX_SOURCE=1' ;;
+'') ccflags="$def_os390_cflags $def_os390_defs" ;;
+*) ccflags="$ccflags $def_os390_cflags $def_os390_defs" ;;
esac
# Turning on optimization breaks perl.
@@ -46,7 +49,7 @@ esac
# To link via definition side decks we need the dll option
# You can override this with Configure -Ucccdlflags or somesuch.
case "$cccdlflags" in
-'') cccdlflags='-qxplink -qdll' ;;
+'') cccdlflags='-qxplink -qdll -qexportall -Wc,XPLINK,dll,EXPORTALL -Wl,XPLINK,dll' ;;
esac
case "$so" in
@@ -72,7 +75,11 @@ esac
# information at the end of the executable (=> smaller binaries).
# Override this option with -Dldflags='whatever else you wanted'.
case "$ldflags" in
-'') ldflags='-qxplink -qdll' ;;
+'') ldflags='-qxplink -qdll -Wl,XPLINK,dll' ;;
+esac
+case "$optimize" in
+*-g*) ;;
+*) ldflags="$ldflags -Wl,EDIT=NO"
esac
# In order to build with dynamic be sure to specify:
@@ -111,11 +118,11 @@ define)
esac
libperl="libperl.$so"
ccflags="$ccflags -D_SHR_ENVIRON -DPERL_EXTERNAL_GLOB -qexportall -qdll -qxplink"
- cccdlflags='-c -qexportall -qxplink -qdll'
+ cccdlflags='-c -qexportall -qxplink -qdll -Wc,XPLINK,dll,EXPORTALL -Wl,XPLINK,dll'
# 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="-qxplink -qdll `pwd`/libperl.x"
- lddlflags="-qxplink -qdll `pwd`/libperl.x"
+ ccdlflags="-qxplink -qdll -Wl,XPLINK,dll `pwd`/libperl.x"
+ lddlflags="-qxplink -qdll -Wl,XPLINK,dll `pwd`/libperl.x"
;;
esac
# even on static builds using LIBPATH should be OK.