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