This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Smarter OS390 hints.
[perl5.git] / hints / os390.sh
1 # hints/os390.sh
2 #
3 # OS/390 hints by David J. Fiander <davidf@mks.com>
4 #
5 # OS/390 OpenEdition Release 3 Mon Sep 22 1997 thanks to:
6 #     
7 #     John Pfuntner <pfuntner@vnet.ibm.com>
8 #     Len Johnson <lenjay@ibm.net>
9 #     Bud Huff  <BAHUFF@us.oracle.com>
10 #     Peter Prymmer <pvhp@forte.com>
11 #     Andy Dougherty  <doughera@lafcol.lafayette.edu>
12 #     Tim Bunce  <Tim.Bunce@ig.co.uk>
13 #
14 #  as well as the authors of the aix.sh file
15 #
16
17 # To get ANSI C, we need to use c89, and ld doesn't exist
18 cc='c89'
19 ld='c89'
20 # To link via definition side decks we need the dll option
21 cccdlflags='-W 0,dll,"langlvl(extended)"'
22 # c89 hides most of the useful header stuff, _ALL_SOURCE turns it on again,
23 # YYDYNAMIC ensures that the OS/390 yacc generated parser is reentrant.
24 # -DEBCDIC should come from Configure.
25 ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC'
26 # Turning on optimization breaks perl
27 optimize='none'
28
29 alignbytes=8
30
31 usemymalloc='n'
32
33 so='a'
34
35 # On OS/390, libc.a doesn't really hold anything at all,
36 # so running nm on it is pretty useless.
37 usenm='n'
38
39 # Dynamic loading doesn't work on OS/390 quite yet
40 usedl='n'
41 dlext='none'
42
43 # Configure can't figure this out for some reason
44 d_shmatprototype='define'
45
46 usenm='false'
47 i_time='define'
48 i_systime='define'
49
50 # (from aix.sh)
51 # uname -m output is too specific and not appropriate here
52 # osname should come from Configure
53 #
54 case "$archname" in
55 '') archname="$osname" ;;
56 esac
57
58 archobjs=ebcdic.o
59
60 # We have our own cppstdin.
61 echo 'cat >.$$.c; '"$cc"' -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
62
63 #
64 # Note that Makefile.SH employs a bare yacc to generate 
65 # perly.[hc] and a2p.[hc], hence you may wish to:
66 #
67 #    alias yacc='myyacc'
68 #
69 # Then if you would like to use myyacc and skip past the
70 # following warnings try invoking Configure like so: 
71 #
72 #    sh Configure -Dbyacc=yacc
73 #
74 # This trick ought to work even if your yacc is byacc.
75 #
76 if test "X$byacc" = "Xbyacc" ; then
77     if test -e /etc/yyparse.c ; then
78         : we should be OK - perhaps do a test -r?
79     else
80         cat <<EOWARN >&4
81
82 Warning.  You do not have a copy of yyparse.c, the default 
83 yacc parser template file, in place in /etc.
84 EOWARN
85         if test -e /samples/yyparse.c ; then
86             cat <<EOWARN >&4
87
88 There does appear to be a template file in /samples though.
89 Please run:
90
91       cp /samples/yyparse.c /etc
92
93 before attempting to Configure the build of $package.
94
95 EOWARN
96         else
97             cat <<EOWARN >&4
98
99 There does not appear to be one in /samples either.  
100 If you feel you can make use of an alternate yacc-like 
101 parser generator then please read the comments in the
102 hints/os390.sh file carefully.
103
104 EOWARN
105         fi
106         exit 1
107     fi
108 fi
109