summaryrefslogtreecommitdiff
path: root/hints/os390.sh
diff options
context:
space:
mode:
authorPeter Prymmer <PPrymmer@factset.com>2001-01-24 09:17:14 -0800
committerJarkko Hietaniemi <jhi@iki.fi>2001-01-25 04:15:11 +0000
commitf2766b05f6136cc9e8c8812afdbe7a31657a110d (patch)
treefeecb3880ebc9d4b3e950e0156581b695700641e /hints/os390.sh
parent8966e0c4d986cde86bde73b1fa0b5eb2a4cef463 (diff)
downloadperl-f2766b05f6136cc9e8c8812afdbe7a31657a110d.tar.gz
completion and docs for dynamic loading on OS/390
Message-ID: <Pine.OSF.4.10.10101241706120.411912-100000@aspara.forte.com> p4raw-id: //depot/perl@8544
Diffstat (limited to 'hints/os390.sh')
-rw-r--r--hints/os390.sh41
1 files changed, 31 insertions, 10 deletions
diff --git a/hints/os390.sh b/hints/os390.sh
index ee75172446..54787e8d9a 100644
--- a/hints/os390.sh
+++ b/hints/os390.sh
@@ -84,23 +84,37 @@ define)
case "$useshrplib" in
'') useshrplib='true' ;;
esac
- case "$dlext" in
- '') dlext='dll' ;;
- esac
case "$dlsrc" in
'') dlsrc='dl_dllload.xs' ;;
esac
- so='dll'
- libperl='libperl.dll'
+ # For performance use 'so' at or beyond v2.8, 'dll' for 2.7 and prior versions
+ case "`uname -v`x`uname -r`" in
+ 02x0[89].*|02x1[0-9].*|[0-9][3-9]x*)
+ so='so'
+ case "$dlext" in
+ '') dlext='so' ;;
+ esac
+ ;;
+ *)
+ so='dll'
+ case "$dlext" in
+ '') dlext='dll' ;;
+ esac
+ ;;
+ esac
+ 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.
- #
- # The following will need to be modified for the installed libperl.x
+ # 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"
- ldflags=''
- lddlflags='-W l,dll'
+ lddlflags="-W l,dll `pwd`/libperl.x"
;;
esac
# even on static builds using LIBPATH should be OK.
@@ -140,7 +154,14 @@ esac
# other things. Unfortunately, cppflags occurs too late to be of
# value external to the script. This may need to be revisited
# 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 -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+ ;;
+esac
#
# Note that Makefile.SH employs a bare yacc command to generate