ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/hints/mpeix.sh
Revision: 1.1
Committed: Thu Jun 30 14:27:07 2005 UTC (21 years, 3 months ago) by root
Content type: application/x-sh
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 # The MPE/iX linker doesn't complain about unresolved symbols, and so the only
2     # way to test for unresolved symbols in a program is by attempting to run it.
3     # But this is slow, and fraught with problems, so the better solution is to use
4     # nm.
5     #
6     # MPE/iX lacks a fully functional native nm, so we need to use our fake nm
7     # script which will extract the symbol info from the native link editor and
8     # reformat into something nm-like.
9     #
10     # Created for 5.003 by Mark Klein, mklein@dis.com.
11     # Substantially revised for 5.004_01 by Mark Bixby, markb@cccd.edu.
12     # Revised again for 5.004_69 by Mark Bixby, markb@cccd.edu.
13     # Revised for 5.6.0 by Mark Bixby, mbixby@power.net.
14     # Revised for 5.7.3 by Mark Bixby, mark@bixby.org.
15     # Revised for 5.8.0 by Mark Bixby, mark@bixby.org.
16     #
17     osname='mpeix'
18     osvers=`uname -r | sed -e 's/.[A-Z]\.\([0-9]\)\([0-9]\)\.[0-9][0-9]/\1.\2/'`
19     #
20     # Force Configure to use our wrapper mpeix/nm script
21     #
22     PATH="$PWD/mpeix:$PATH"
23     nm="$PWD/mpeix/nm"
24     _nm=$nm
25     nm_opt='-configperl'
26     usenm='true'
27     #
28     # Work around the broken inline cat bug that corrupts here docs
29     #
30     alias -x cat=/bin/cat
31     #
32     # Various directory locations.
33     #
34     # Which ones of these does Configure get wrong?
35     test -z "$prefix" && prefix="/$HPACCOUNT/$HPGROUP"
36     archname='PA-RISC1.1'
37     bin="$prefix"
38     installman1dir="$prefix/man/man1"
39     installman3dir="$prefix/man/man3"
40     man1dir="$prefix/man/man1"
41     man3dir="$prefix/man/man3"
42     perlpath="$prefix/PERL"
43     scriptdir="$prefix"
44     startperl="#!$prefix/perl"
45     startsh='#!/bin/sh'
46     #
47     # Compiling.
48     #
49     test -z "$cc" && cc='gcc'
50     cccdlflags='none'
51     ccflags="$ccflags -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -D_POSIX_JOB_CONTROL -DIS_SOCKET_CLIB_ITSELF"
52     locincpth="$locincpth /usr/local/include /usr/contrib/include /BINDFW/CURRENT/include /SYSLOG/PUB"
53     test -z "$optimize" && optimize="-O2"
54     ranlib='/bin/true'
55     # Special compiling options for certain source files.
56     # But what if you want -g?
57     regcomp_cflags='optimize=-O'
58     toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"'
59     #
60     # Linking.
61     #
62     lddlflags='-b'
63     # Delete bsd and BSD from the library list. Remove other randomly ordered
64     # libraries and then re-add them in their proper order (the MPE linker is
65     # order-sensitive). Add additional MPE-specific libraries.
66     for mpe_remove in bind bsd BSD c curses m socket str svipc syslog; do
67     set `echo " $libswanted " | sed -e 's/ / /g' -e "s/ $mpe_remove //"`
68     libswanted="$*"
69     done
70     libswanted="$libswanted bind syslog curses svipc socket str m c"
71     loclibpth="$loclibpth /usr/local/lib /usr/contrib/lib /BINDFW/CURRENT/lib /SYSLOG/PUB"
72     #
73     # External functions and data items.
74     #
75     # Q: Does Configure *really* get *all* of these wrong?
76     #
77     # A: Yes. There are two MPE problems here. The 'undef' functions exist on MPE,
78     # but are merely dummy routines that return ENOTIMPL or ESYSERR. Since they're
79     # useless, let's just tell Perl to avoid them. Also, a few data items are
80     # 'undef' because while they may exist in structures, they are uninitialized.
81     #
82     # The 'define' cases are a bit weirder. MPE has a libc.a, libc.sl, and two
83     # special kernel shared libraries, /SYS/PUB/XL and /SYS/PUB/NL. Much of what
84     # is in libc.a is duplicated within XL and NL, so when we created libc.sl, we
85     # omitted the duplicated functions. Since Configure end ups scanning libc.sl,
86     # we need to 'define' the functions that had been removed.
87     #
88     # We don't want to scan XL or NL because we would find way too many POSIX or
89     # Unix named functions that are really vanilla MPE functions that do something
90     # completely different than on POSIX or Unix.
91     d_crypt='define'
92     d_dbmclose='undef'
93     d_difftime='define'
94     d_dlerror='undef'
95     d_dlopen='undef'
96     d_Gconvert='gcvt((x),(n),(b))'
97     d_getnbyaddr='define'
98     d_getnbyname='define'
99     d_getpbyname='define'
100     d_getpbynumber='define'
101     d_getsbyname='define'
102     d_getsbyport='define'
103     d_gettimeod='undef'
104     d_inetaton='undef'
105     d_lchown='undef'
106     d_link='undef'
107     d_mblen='define'
108     d_mbstowcs='define'
109     d_mbtowc='define'
110     d_memchr='define'
111     d_memcmp='define'
112     d_memcpy='define'
113     d_memmove='define'
114     d_memset='define'
115     d_pwage='undef'
116     d_pwcomment='undef'
117     d_pwgecos='undef'
118     d_pwpasswd='undef'
119     d_setegid='undef'
120     d_seteuid='undef'
121     d_setitimer='undef'
122     d_setpgid='undef'
123     d_setsid='undef'
124     d_setvbuf='define'
125     d_statblks='undef'
126     d_strchr='define'
127     d_strcoll='define'
128     d_strerrm='strerror(e)'
129     d_strerror='define'
130     d_strtod='define'
131     d_strtol='define'
132     d_strtoul='define'
133     d_strxfrm='define'
134     d_syserrlst='define'
135     d_time='define'
136     d_wcstombs='define'
137     d_wctomb='define'
138     #
139     # Include files.
140     #
141     i_gdbm='undef' # the port is currently incomplete
142     i_termios='undef' # we have termios, but not the full set (just tcget/setattr)
143     i_time='define'
144     i_systime='undef'
145     i_systimek='undef'
146     timeincl='/usr/include/time.h'
147     #
148     # Data types.
149     #
150     timetype='time_t'
151     #
152     # Functionality.
153     #
154     uselargefiles="$undef"
155     #
156     # Expected functionality provided in mpeix.c.
157     #
158     archobjs='mpeix.o'
159    
160     # Help gmake find mpeix.c
161     test -h mpeix.c || ln -s mpeix/mpeix.c mpeix.c
162    
163     d_gettimeod='define'
164     d_truncate='define'