diff options
author | H.Merijn Brand <h.m.brand@xs4all.nl> | 2019-10-03 14:52:24 +0200 |
---|---|---|
committer | H.Merijn Brand <h.m.brand@xs4all.nl> | 2019-10-03 16:13:38 +0200 |
commit | 92ad49c1bd9a1191936a8e1f2c7d1e8f8cb13fa4 (patch) | |
tree | 53b0a6ea2ab3c246cfc73ba2df32bb1579b81106 /hints | |
parent | 7d769928d688d1662c7e4bda7038ebdc70c42bad (diff) | |
download | perl-92ad49c1bd9a1191936a8e1f2c7d1e8f8cb13fa4.tar.gz |
Recent os390 experiences reflected in docs and hints
Diffstat (limited to 'hints')
-rw-r--r-- | hints/os390.sh | 21 |
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. |