Commit | Line | Data |
---|---|---|
23f87696 SZ |
1 | # hints/dcosx.sh |
2 | # Last modified: Thu Jan 16 11:38:12 EST 1996 | |
3 | # Stephen Zander <stephen.zander@interlock.mckesson.com> | |
4 | # hints for DC/OSx (Pyramid) & SINIX (Seimens: dc/osx rebadged) | |
5 | # Based on the hints/solaris_2.sh file | |
6 | ||
7 | # See man vfork. | |
8 | usevfork=false | |
9 | ||
10 | d_suidsafe=define | |
11 | ||
12 | # Avoid all libraries in /usr/ucblib. | |
13 | set `echo $glibpth | sed -e 's@/usr/ucblib@@'` | |
14 | glibpth="$*" | |
15 | ||
16 | # Remove bad libraries. | |
17 | # -lucb contains incompatible routines. | |
18 | set `echo " $libswanted " | sed -e 's@ ucb @ @'` | |
19 | libswanted="$*" | |
20 | ||
21 | # Here's another draft of the perl5/solaris/gcc sanity-checker. | |
22 | ||
23 | case $PATH in | |
68dc0745 | 24 | */usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END >&2 |
23f87696 SZ |
25 | |
26 | NOTE: /usr/ucb/cc does not function properly. | |
27 | Remove /usr/ucb from your PATH. | |
28 | ||
29 | END | |
30 | ;; | |
31 | esac | |
32 | ||
33 | ||
34 | # Check that /dev/fd is mounted. If it is not mounted, let the | |
35 | # user know that suid scripts may not work. | |
36 | /usr/bin/df /dev/fd 2>&1 > /dev/null | |
37 | case $? in | |
38 | 0) ;; | |
39 | *) | |
68dc0745 | 40 | cat <<END >&4 |
23f87696 SZ |
41 | |
42 | NOTE: Your system does not have /dev/fd mounted. If you want to | |
43 | be able to use set-uid scripts you must ask your system administrator | |
44 | to mount /dev/fd. | |
45 | ||
46 | END | |
47 | ;; | |
48 | esac | |
49 | ||
50 | ||
51 | # See if libucb can be found in /usr/lib. If it is, warn the user | |
52 | # that this may cause problems while building Perl extensions. | |
53 | /usr/bin/ls /usr/lib/libucb* >/dev/null 2>&1 | |
54 | case $? in | |
55 | 0) | |
68dc0745 | 56 | cat <<END >&4 |
23f87696 SZ |
57 | |
58 | NOTE: libucb has been found in /usr/lib. libucb should reside in | |
59 | /usr/ucblib. You may have trouble while building Perl extensions. | |
60 | ||
61 | END | |
62 | ;; | |
63 | esac | |
64 | ||
65 | ||
66 | # See if make(1) is GNU make(1). | |
67 | # If it is, make sure the setgid bit is not set. | |
68 | make -v > make.vers 2>&1 | |
69 | if grep GNU make.vers > /dev/null 2>&1; then | |
70 | tmp=`/usr/bin/ksh -c "whence make"` | |
71 | case "`/usr/bin/ls -l $tmp`" in | |
72 | ??????s*) | |
68dc0745 | 73 | cat <<END >&2 |
23f87696 SZ |
74 | |
75 | NOTE: Your PATH points to GNU make, and your GNU make has the set-group-id | |
76 | bit set. You must either rearrange your PATH to put /usr/ccs/bin before the | |
77 | GNU utilities or you must ask your system administrator to disable the | |
78 | set-group-id bit on GNU make. | |
79 | ||
80 | END | |
81 | ;; | |
82 | esac | |
83 | fi | |
84 | rm -f make.vers | |
85 | ||
86 | # If the C compiler is gcc: | |
87 | # - check the fixed-includes | |
88 | # - check as(1) and ld(1), they should not be GNU | |
89 | # If the C compiler is not gcc: | |
90 | # - check as(1) and ld(1), they should not be GNU | |
91 | # - increase the optimizing level to prevent object size warnings | |
92 | # | |
93 | # Watch out in case they have not set $cc. | |
94 | case "`${cc:-cc} -v 2>&1`" in | |
95 | *gcc*) | |
96 | # | |
97 | # Using gcc. | |
98 | # | |
99 | #echo Using gcc | |
100 | ||
101 | # Get gcc to share its secrets. | |
102 | echo 'main() { return 0; }' > try.c | |
103 | verbose=`${cc:-cc} -v -o try try.c 2>&1` | |
104 | rm -f try try.c | |
105 | tmp=`echo "$verbose" | grep '^Reading' | | |
106 | awk '{print $NF}' | sed 's/specs$/include/'` | |
107 | ||
108 | # Determine if the fixed-includes look like they'll work. | |
109 | # Doesn't work anymore for gcc-2.7.2. | |
110 | ||
111 | # See if as(1) is GNU as(1). GNU as(1) won't work for this job. | |
112 | case $verbose in | |
113 | */usr/ccs/bin/as*) ;; | |
114 | *) | |
68dc0745 | 115 | cat <<END >&2 |
23f87696 SZ |
116 | |
117 | NOTE: You are using GNU as(1). GNU as(1) will not build Perl. | |
118 | You must arrange to use /usr/ccs/bin/as, perhaps by setting | |
119 | GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command. | |
120 | ||
121 | END | |
122 | ;; | |
123 | esac | |
124 | ||
125 | # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. | |
126 | case $verbose in | |
127 | */usr/ccs/bin/ld*) ;; | |
128 | *) | |
68dc0745 | 129 | cat <<END >&2 |
23f87696 SZ |
130 | |
131 | NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. | |
132 | You must arrange to use /usr/ccs/bin/ld, perhaps by setting | |
133 | GCC_EXEC_PREFIX or by including -B/usr/ccs/bin in your cc command. | |
134 | ||
135 | END | |
136 | ;; | |
137 | esac | |
138 | ||
139 | ;; #using gcc | |
140 | *) | |
141 | optimize='-O -K Olimit:3064' | |
142 | # | |
143 | # Not using gcc. | |
144 | # | |
145 | #echo Not using gcc | |
146 | ||
147 | # See if as(1) is GNU as(1). GNU as(1) won't work for this job. | |
148 | case `as --version < /dev/null 2>&1` in | |
149 | *GNU*) | |
68dc0745 | 150 | cat <<END >&2 |
23f87696 SZ |
151 | |
152 | NOTE: You are using GNU as(1). GNU as(1) will not build Perl. | |
153 | You must arrange to use /usr/ccs/bin, perhaps by adding it to the | |
154 | beginning of your PATH. | |
155 | ||
156 | END | |
157 | ;; | |
158 | esac | |
159 | ||
160 | # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. | |
161 | case `ld --version < /dev/null 2>&1` in | |
162 | *GNU*) | |
68dc0745 | 163 | cat <<END >&2 |
23f87696 SZ |
164 | |
165 | NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. | |
166 | You must arrange to use /usr/ccs/bin, perhaps by adding it to the | |
167 | beginning of your PATH | |
168 | ||
169 | END | |
170 | ;; | |
171 | esac | |
172 | ||
173 | ;; #not using gcc | |
174 | esac | |
175 | ||
176 | # as --version or ld --version might dump core. | |
177 | rm -f core | |
178 | ||
179 | # DC/OSx hides certain functions in a libc that looks dynamic but isn't | |
180 | # because of this we reinclude -lc when building dynamic extenstions | |
181 | libc='/usr/ccs/lib/libc.so' | |
b3bc134f | 182 | lddlflags='-G -lc' |
23f87696 SZ |
183 | |
184 | # DC/OSx gets overenthusiastic with symbol removal when building dynamically | |
185 | ccdlflags='-Blargedynsym' | |
186 | ||
187 | # System malloc is safer when using third part libs | |
188 | usemymalloc='n' |