This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
hints fixups for PowerMAX (from Tom Horsley)
[perl5.git] / hints / powerux.sh
1 # Hints for the PowerUX operating system running on Concurrent (formerly
2 # Harris) NightHawk machines.  Written by Tom.Horsley@mail.ccur.com
3 #
4 # Note: The OS is fated to change names again to PowerMAX OS, but this
5 # PowerUX file should still work (I wish marketing would make up their mind
6 # about the name :-).
7 #
8 # This config uses dynamic linking and the Concurrent C compiler.  It has
9 # been tested on Power PC based 6000 series machines running PowerUX.
10
11 # Internally at Concurrent, we use a source management tool which winds up
12 # giving us read-only copies of source trees that are mostly symbolic links.
13 # That upsets the perl build process when it tries to edit opcode.h and
14 # embed.h or touch perly.c or perly.h, so turn those files into "real" files
15 # when Configure runs. (If you already have "real" source files, this won't
16 # do anything).
17 #
18 if [ -x /usr/local/mkreal ]
19 then
20    for i in '.' '..'
21    do
22       for j in embed.h opcode.h perly.h perly.c
23       do
24          if [ -h $i/$j ]
25          then
26             ( cd $i ; /usr/local/mkreal $j ; chmod 666 $j )
27          fi
28       done
29    done
30 fi
31
32 # We DO NOT want -lmalloc or -lPW, we DO need -lgen to follow -lnsl, so
33 # fixup libswanted to reflect that desire (also need -lresolv if you want
34 # DNS name lookup to work, which seems desirable :-).
35 #
36 libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /' -e 's/ PW / /' -e 's/ nsl / nsl gen resolv /'`
37
38 # We DO NOT want /usr/ucblib in glibpth
39 #
40 glibpth=`echo ' '$glibpth' ' | sed -e 's@ /usr/ucblib @ @'`
41
42 # Yes, csh exists, but doesn't work worth beans, if perl tries to use it,
43 # the glob test fails, so just pretend it isn't there...
44 #
45 d_csh='undef'
46
47 # Need to use Concurrent cc for most of these options to be meaningful (if you
48 # want to get this to work with gcc, you're on your own :-). Passing
49 # -Bexport to the linker when linking perl is important because it leaves
50 # the interpreter internal symbols visible to the shared libs that will be
51 # loaded on demand (and will try to reference those symbols).
52 #
53 cc='/bin/cc'
54 cccdlflags='-Zpic'
55 ccdlflags='-Zlink=dynamic -Wl,-usys_nerr -Wl,-Bexport'
56 lddlflags='-Zlink=so'
57
58 # Configure sometime finds what it believes to be ndbm header files on the
59 # system and imagines that we have the NDBM library, but we really don't.
60 # There is something there that once resembled ndbm, but it is purely
61 # for internal use in some tool and has been hacked beyond recognition
62 # (or even function :-)
63 #
64 i_ndbm='undef'
65
66 # I have no clude what perl thinks it wants <sys/mode.h> for, but if
67 # you include it in a program in PowerMAX without first including
68 # <sys/vnode.h> the code don't compile...
69 #
70 i_sysmode='undef'
71
72 # There is a bug in memcmp (which I hope will be fixed soon) which sometimes
73 # fails to provide the correct compare status (it is data dependant), so just
74 # pretend there is no memcmp...
75 #
76 d_memcmp='undef'
77
78 # Due to problems with dynamic linking (which I also hope will be fixed soon)
79 # you can't build a libperl.so, the core has to be in the static part of the
80 # perl executable.
81 #
82 useshrplib='false'
83
84 # PowerMAX OS has support for a few different kinds of filesystems. The
85 # newer "xfs" filesystem does *not* report a reasonable value in the
86 # 'nlinks' field of stat() info for directories (in fact, it is always 1).
87 # Since xfs is the only filesystem which supports partitions bigger than
88 # 2gig and you can't hardly buy a disk that small anymore, xfs is coming in
89 # to greater and greater use, so we pretty much have no choice but to
90 # abandon all hope that number of links will mean anything.
91 #
92 dont_use_nlink=define
93
94 # Configure comes up with the wrong type for these for some reason.  The
95 # pointers shouldn't have const in them. (And it looks like I have to
96 # provide netdb_hlen_type as well becuase when I predefine the others it
97 # comes up empty :-).
98 #
99 netdb_host_type='char *'
100 netdb_name_type='char *'
101 netdb_hlen_type='int'
102
103 # Misc other flags that might be able to change, but I know these work right.
104 #
105 d_suidsafe='define'
106 d_isascii='define'
107 d_mymalloc='undef'
108 usemymalloc='n'
109 ssizetype='ssize_t'
110 usevfork='false'