Commit | Line | Data |
---|---|---|
68dc0745 | 1 | #! /local/gnu/bin/bash |
d83aa01c TH |
2 | # Hints for the CX/UX 7.1 operating system running on Concurrent (formerly |
3 | # Harris) NightHawk machines. written by Tom.Horsley@mail.ccur.com | |
94b6baf5 | 4 | # |
d83aa01c | 5 | # This config is setup for dynamic linking and the Concurrent C compiler. |
94b6baf5 AD |
6 | |
7 | # Check some things and print warnings if this isn't going to work... | |
8 | # | |
9 | case ${SDE_TARGET:-ELF} in | |
10 | [Cc][Oo][Ff][Ff]|[Oo][Cc][Ss]) echo '' | |
68dc0745 | 11 | echo '' >&2 |
12 | echo WARNING: Do not build perl 5 with the SDE_TARGET set to >&2 | |
13 | echo generate coff object - perl 5 must be built in the ELF >&2 | |
14 | echo environment. >&2 | |
15 | echo '' >&2 | |
94b6baf5 AD |
16 | echo '';; |
17 | [Ee][Ll][Ff]) : ;; | |
68dc0745 | 18 | *) echo '' >&2 |
19 | echo 'Unknown SDE_TARGET value: '$SDE_TARGET >&2 | |
20 | echo '' >&2 ;; | |
94b6baf5 AD |
21 | esac |
22 | ||
23 | case `uname -r` in | |
24 | [789]*) : ;; | |
25 | *) echo '' | |
68dc0745 | 26 | echo '' >&2 |
27 | echo WARNING: Perl 5 requires shared library support, it cannot >&2 | |
28 | echo be built on releases of CX/UX prior to 7.0 with this hints >&2 | |
29 | echo file. You\'ll have to do a separate port for the statically >&2 | |
30 | echo linked COFF environment. >&2 | |
31 | echo '' >&2 | |
94b6baf5 AD |
32 | echo '';; |
33 | esac | |
34 | ||
d83aa01c | 35 | # Internally at Concurrent, we use a source management tool which winds up |
94b6baf5 AD |
36 | # giving us read-only copies of source trees that are mostly symbolic links. |
37 | # That upsets the perl build process when it tries to edit opcode.h and | |
38 | # embed.h or touch perly.c or perly.h, so turn those files into "real" files | |
39 | # when Configure runs. (If you already have "real" source files, this won't | |
40 | # do anything). | |
41 | # | |
42 | if [ -x /usr/local/mkreal ] | |
43 | then | |
44 | for i in '.' '..' | |
45 | do | |
46 | for j in embed.h opcode.h perly.h perly.c | |
47 | do | |
48 | if [ -h $i/$j ] | |
49 | then | |
50 | ( cd $i ; /usr/local/mkreal $j ; chmod 666 $j ) | |
51 | fi | |
52 | done | |
53 | done | |
54 | fi | |
55 | ||
56 | # We DO NOT want -lmalloc | |
57 | # | |
58 | libswanted=`echo ' '$libswanted' ' | sed -e 's/ malloc / /'` | |
59 | ||
60 | # Stick the low-level elf library path in first. | |
61 | # | |
62 | glibpth="/usr/sde/elf/usr/lib $glibpth" | |
63 | ||
ef2d312d TH |
64 | # Need to use Concurrent cc for most of these options to be meaningful (if |
65 | # you want to get this to work with gcc, you're on your own :-). Passing | |
94b6baf5 AD |
66 | # -Bexport to the linker when linking perl is important because it leaves |
67 | # the interpreter internal symbols visible to the shared libs that will be | |
ef2d312d TH |
68 | # loaded on demand (and will try to reference those symbols). The -u option |
69 | # to drag 'sigaction' into the perl main program is to make sure it gets | |
70 | # defined for the posix shared library (for some reason sigaction is static, | |
71 | # rather than being defined in libc.so.1). The 88110compat option makes sure | |
72 | # the code will run on both 88100 and 88110 machines. The define is added to | |
73 | # trigger a work around for a compiler bug which shows up in pp.c. | |
94b6baf5 | 74 | # |
ef2d312d | 75 | cc='/bin/cc -Xa -Qtarget=M88110compat -DCXUX_BROKEN_CONSTANT_CONVERT' |
94b6baf5 AD |
76 | cccdlflags='-Zelf -Zpic' |
77 | ccdlflags='-Zelf -Zlink=dynamic -Wl,-Bexport -u sigaction' | |
5d94fbed | 78 | lddlflags='-Zlink=so' |
94b6baf5 | 79 | |
94b6baf5 | 80 | # Configure imagines that it sees a pw_quota field, but it is really in a |
4aa0a1f7 | 81 | # different structure than the one it thinks it is looking at. |
94b6baf5 | 82 | d_pwquota='undef' |
94b6baf5 | 83 | |
4aa0a1f7 | 84 | # Configure sometimes finds what it believes to be ndbm header files on the |
94b6baf5 AD |
85 | # system and imagines that we have the NDBM library, but we really don't. |
86 | # There is something there that once resembled ndbm, but it is purely | |
87 | # for internal use in some tool and has been hacked beyond recognition | |
88 | # (or even function :-) | |
89 | # | |
90 | i_ndbm='undef' | |
91 | ||
92 | # Don't use the perl malloc | |
93 | # | |
94 | d_mymalloc='undef' | |
95 | usemymalloc='n' | |
4aa0a1f7 | 96 | |
68dc0745 | 97 | cat <<'EOM' >&4 |
4aa0a1f7 | 98 | |
d83aa01c TH |
99 | WARNING: If you are using ksh to run the Configure script, you may find it |
100 | failing in mysterious ways (such as failing to find library routines which | |
101 | are known to exist). Configure seems to push ksh beyond its limits | |
102 | sometimes. Try using env to strip unnecessary things out of the environment | |
103 | and run Configure with /sbin/sh. That sometimes seems to produce more | |
104 | accurate results. | |
4aa0a1f7 AD |
105 | |
106 | EOM |