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
CommitLineData
86339dc9 1# hints/os390.sh
9d116dd7
JH
2#
3# OS/390 hints by David J. Fiander <davidf@mks.com>
4#
86339dc9
TB
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
9d116dd7 17# To get ANSI C, we need to use c89, and ld doesn't exist
86339dc9 18cc='c89'
9d116dd7 19ld='c89'
956f0479
PP
20# To link via definition side decks we need the dll option
21cccdlflags='-W 0,dll,"langlvl(extended)"'
9d116dd7
JH
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.
25ccflags='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC'
26# Turning on optimization breaks perl
86339dc9 27optimize='none'
9d116dd7 28
86339dc9 29alignbytes=8
9d116dd7
JH
30
31usemymalloc='n'
32
86339dc9 33so='a'
9d116dd7
JH
34
35# On OS/390, libc.a doesn't really hold anything at all,
36# so running nm on it is pretty useless.
37usenm='n'
38
39# Dynamic loading doesn't work on OS/390 quite yet
40usedl='n'
86339dc9 41dlext='none'
9d116dd7
JH
42
43# Configure can't figure this out for some reason
86339dc9 44d_shmatprototype='define'
9d116dd7 45
86339dc9
TB
46usenm='false'
47i_time='define'
48i_systime='define'
86339dc9
TB
49
50# (from aix.sh)
51# uname -m output is too specific and not appropriate here
9d116dd7 52# osname should come from Configure
86339dc9
TB
53#
54case "$archname" in
55'') archname="$osname" ;;
56esac
57
9d116dd7 58archobjs=ebcdic.o
1cfa4ec7
GS
59
60# We have our own cppstdin.
61echo 'cat >.$$.c; '"$cc"' -E -Wc,NOLOC ${1+"$@"} .$$.c; rm .$$.c' > cppstdin
23e2eca9
PP
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#
76if 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
82Warning. You do not have a copy of yyparse.c, the default
83yacc parser template file, in place in /etc.
84EOWARN
85 if test -e /samples/yyparse.c ; then
86 cat <<EOWARN >&4
87
88There does appear to be a template file in /samples though.
89Please run:
90
91 cp /samples/yyparse.c /etc
92
93before attempting to Configure the build of $package.
94
95EOWARN
96 else
97 cat <<EOWARN >&4
98
99There does not appear to be one in /samples either.
100If you feel you can make use of an alternate yacc-like
101parser generator then please read the comments in the
102hints/os390.sh file carefully.
103
104EOWARN
105 fi
106 exit 1
107 fi
108fi
109