updates to OS/390 hints file
Peter Prymmer [Mon, 8 Jan 2001 18:06:51 +0000 (10:06 -0800)]
Message-ID: <Pine.OSF.4.10.10101081805530.239173-100000@aspara.forte.com>

In preparation os OS/390 dynamic loading.

p4raw-id: //depot/perl@8373

README.os390
hints/os390.sh

index 8dd0483..9cb2ceb 100644 (file)
@@ -150,18 +150,6 @@ file).
 
 =item *
 
-A message of the form:
-
- shmat() found.
- and it returns (void *).
- *** WHOA THERE!!! ***
-     The recommended value for $d_shmatprototype on this machine was "define"!
-     Keep the recommended value? [y]
-
-is nothing to worry about at all.
-
-=item *
-
 Do not turn on the compiler optimization flag "-O".  There is
 a bug in either the optimizer or perl that causes perl to
 not work correctly when the optimizer is on.
index d6f6821..7a69634 100644 (file)
 #
 
 # To get ANSI C, we need to use c89, and ld doesn't exist
-cc='c89'
-ld='c89'
-# To link via definition side decks we need the dll option
-cccdlflags='-W 0,dll,"langlvl(extended)"'
-# c89 hides most of the useful header stuff, _ALL_SOURCE turns it on again,
+# You can override this with Configure -Dcc=gcc -Dld=ld.
+case "$cc" in
+'') cc='c89' ;;
+esac
+case "$ld" in
+'') ld='c89' ;;
+esac
+
+# -DMAXSIG=38 maximum signal number
+# -DOEMVS is used in place of #ifdef __MVS__ in certain places.
+# -D_OE_SOCKETS alters system headers.
+# -D_XOPEN_SOURCE_EXTENDEDA alters system headers.
+# c89 hides most of the useful header stuff, _ALL_SOURCE turns it on again.
 # YYDYNAMIC ensures that the OS/390 yacc generated parser is reentrant.
-# -DEBCDIC should come from Configure.
-ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC'
-# Turning on optimization breaks perl
-optimize='none'
+# -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" ;;
+esac
+
+# Turning on optimization breaks perl.
+# You can override this with Configure -Doptimize='-O' or somesuch.
+case "$optimize" in
+'') optimize='none' ;;
+esac
+
+# ccdlflags have yet to be determined.
+#case "$ccdlflags" in
+#'') ccdlflags='-c' ;;
+#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='-W 0,dll,"langlvl(extended)"' ;;
+esac
+
+# ldflags have yet to be determined.
+#case "$ldflags" in
+#'') ldflags='' ;;
+#esac
+
+# lddlflags have yet to be determined.
+#case "$lddlflags" in
+#'') lddlflags='' ;;
+#esac
 
-alignbytes=8
+case "$so" in
+'') so='a' ;;
+esac
 
-usemymalloc='n'
+case "$alignbytes" in
+'') alignbytes=8 ;;
+esac
 
-so='a'
+case "$usemymalloc" in
+'') usemymalloc='n' ;;
+esac
 
 # On OS/390, libc.a doesn't really hold anything at all,
 # so running nm on it is pretty useless.
-usenm='n'
-
-# Dynamic loading doesn't work on OS/390 quite yet
-usedl='n'
-dlext='none'
+# You can override this with Configure -Dusenm.
+case "$usenm" in
+'') usenm='false' ;;
+esac
 
-# Configure can't figure this out for some reason
-d_shmatprototype='define'
+# Dynamic loading doesn't work on OS/390 quite yet.
+# You can override this with 
+#  Configure -Dusedl -Ddlext=.so -Ddlsrc=dl_dllload.xs.
+case "$usedl" in
+'') usedl='n' ;;
+esac
+case "$dlext" in
+'') dlext='none' ;;
+esac
+#case "$dlsrc" in
+#'') dlsrc='none' ;;
+#esac
+case "$ldlibpthname" in
+'') ldlibpthname=LIBPATH ;;
+esac
 
-usenm='false'
-i_time='define'
-i_systime='define'
+# Header files to include.
+# You can override these with Configure -Ui_time -Ui_systime.
+case "$i_time" in
+'') i_time='define' ;;
+esac
+case "$i_systime" in
+'') i_systime='define' ;;
+esac
 
 # (from aix.sh)
 # uname -m output is too specific and not appropriate here
 # osname should come from Configure
-#
+# You can override this with Configure -Darchname='s390' but please don't.
 case "$archname" in
 '') archname="$osname" ;;
 esac
 
-archobjs=ebcdic.o
+# 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.
-echo 'cat >.$$.c; '"$cc"' -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
+# 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
+# can find the shmat() prototype in <sys/shm.h> and various
+# 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.
+echo 'cat >.$$.c; '"$cc"' -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
 
 #
-# Note that Makefile.SH employs a bare yacc to generate 
+# Note that Makefile.SH employs a bare yacc command to generate 
 # perly.[hc] and a2p.[hc], hence you may wish to:
 #
 #    alias yacc='myyacc'