1 | # hints/dec_osf.sh
|
---|
2 |
|
---|
3 | # * If you want to debug perl or want to send a
|
---|
4 | # stack trace for inclusion into an bug report, call
|
---|
5 | # Configure with the additional argument -Doptimize=-g2
|
---|
6 | # or uncomment this assignment to "optimize":
|
---|
7 | #
|
---|
8 | #optimize=-g2
|
---|
9 | #
|
---|
10 | # If you want both to optimise and debug with the DEC cc
|
---|
11 | # you must have -g3, e.g. "-O4 -g3", and (re)run Configure.
|
---|
12 | #
|
---|
13 | # * gcc can always have both -g and optimisation on.
|
---|
14 | #
|
---|
15 | # * debugging optimised code, no matter what compiler
|
---|
16 | # one is using, can be surprising and confusing because of
|
---|
17 | # the optimisation tricks like code motion, code removal,
|
---|
18 | # loop unrolling, and inlining. The source code and the
|
---|
19 | # executable code simply do not agree any more while in
|
---|
20 | # mid-execution, the optimiser only cares about the results.
|
---|
21 | #
|
---|
22 | # * Configure will automatically add the often quoted
|
---|
23 | # -DDEBUGGING for you if the -g is specified.
|
---|
24 | #
|
---|
25 | # * There is even more optimisation available in the new
|
---|
26 | # (GEM) DEC cc: -O5 and -fast. "man cc" will tell more about them.
|
---|
27 | # The jury is still out whether either or neither help for Perl
|
---|
28 | # and how much. Based on very quick testing, -fast boosts
|
---|
29 | # raw data copy by about 5-15% (-fast brings in, among other
|
---|
30 | # things, inlined, ahem, fast memcpy()), while on the other
|
---|
31 | # hand searching things (index, m//, s///), seems to get slower.
|
---|
32 | # Your mileage will vary.
|
---|
33 | #
|
---|
34 | # * The -std is needed because the following compiled
|
---|
35 | # without the -std and linked with -lm
|
---|
36 | #
|
---|
37 | # #include <math.h>
|
---|
38 | # #include <stdio.h>
|
---|
39 | # int main(){short x=10,y=sqrt(x);printf("%d\n",y);}
|
---|
40 | #
|
---|
41 | # will in Digital UNIX 3.* and 4.0b print 0 -- and in Digital
|
---|
42 | # UNIX 4.0{,a} dump core: Floating point exception in the printf(),
|
---|
43 | # the y has become a signaling NaN.
|
---|
44 | #
|
---|
45 | # * Compilation warnings like:
|
---|
46 | #
|
---|
47 | # "Undefined the ANSI standard macro ..."
|
---|
48 | #
|
---|
49 | # can be ignored, at least while compiling the POSIX extension
|
---|
50 | # and especially if using the sfio (the latter is not a standard
|
---|
51 | # part of Perl, never mind if it says little to you).
|
---|
52 | #
|
---|
53 |
|
---|
54 | # If using the DEC compiler we must find out the DEC compiler style:
|
---|
55 | # the style changed between Digital UNIX (aka DEC OSF/1) 3 and
|
---|
56 | # Digital UNIX 4. The old compiler was originally from Ultrix and
|
---|
57 | # the MIPS company, the new compiler is originally from the VAX world
|
---|
58 | # and it is called GEM. Many of the options we are going to use depend
|
---|
59 | # on the compiler style.
|
---|
60 |
|
---|
61 | cc=${cc:-cc}
|
---|
62 |
|
---|
63 | case "`$cc -v 2>&1 | grep cc`" in
|
---|
64 | *gcc*) isgcc=gcc ;;
|
---|
65 | esac
|
---|
66 |
|
---|
67 | # do NOT, I repeat, *NOT* take away the leading tabs
|
---|
68 | # Configure Black Magic (TM)
|
---|
69 | # reset
|
---|
70 | _DEC_cc_style=
|
---|
71 | case "$isgcc" in
|
---|
72 | gcc) if [ "X$gccversion" = "X" ]; then
|
---|
73 | # Done too late in Configure if hinted
|
---|
74 | gccversion=`$cc --version | sed 's/.*(GCC) *//'`
|
---|
75 | fi
|
---|
76 | set $gccversion
|
---|
77 | if test "$1" -lt 2 -o \( "$1" -eq 2 -a \( "$2" -lt 95 -o \( "$2" -eq 95 -a "$3" -lt 3 \) \) \); then
|
---|
78 | cat >&4 <<EOF
|
---|
79 |
|
---|
80 | *** Your cc seems to be gcc and its version ($gccversion) seems to be
|
---|
81 | *** less than 2.95.3. This is not a good idea since old versions of gcc
|
---|
82 | *** are known to produce buggy code when compiling Perl (and no doubt for
|
---|
83 | *** other programs, too).
|
---|
84 | ***
|
---|
85 | *** Therefore, I strongly suggest upgrading your gcc. (Why don't you use
|
---|
86 | *** the vendor cc is also a good question. It comes with the operating
|
---|
87 | *** system, produces good code, and is very ANSI C fastidious.)
|
---|
88 |
|
---|
89 | Cannot continue, aborting.
|
---|
90 |
|
---|
91 | EOF
|
---|
92 | exit 1
|
---|
93 | fi
|
---|
94 | if test "$1" -eq 2 -a "$2" -eq 95 -a "$3" -le 2; then
|
---|
95 | cat >&4 <<EOF
|
---|
96 |
|
---|
97 | *** Note that as of gcc 2.95.2 (19991024) and Perl 5.6.0 (March 2000)
|
---|
98 | *** if the said Perl is compiled with the said gcc the lib/sdbm test
|
---|
99 | *** may dump core (meaning that the SDBM_File extension is unusable).
|
---|
100 | *** As this core dump never happens with the vendor cc, this is most
|
---|
101 | *** probably a lingering bug in gcc. Therefore unless you have a better
|
---|
102 | *** gcc installation you are still better off using the vendor cc.
|
---|
103 |
|
---|
104 | Since you explicitly chose gcc, I assume that you know what are doing.
|
---|
105 |
|
---|
106 | EOF
|
---|
107 | fi
|
---|
108 | # -ansi is fine for gcc in Tru64 (-ansi is not universally so).
|
---|
109 | _ccflags_strict_ansi="-ansi"
|
---|
110 | ;;
|
---|
111 | *) # compile something.
|
---|
112 | cat >try.c <<EOF
|
---|
113 | int main() { return 0; }
|
---|
114 | EOF
|
---|
115 | ccversion=`cc -V | awk '/(Compaq|DEC) C/ {print $3}' | grep '^V'`
|
---|
116 | # the main point is the '-v' flag of 'cc'.
|
---|
117 | case "`cc -v -c try.c 2>&1`" in
|
---|
118 | */gemc_cc*) # we have the new DEC GEM CC
|
---|
119 | _DEC_cc_style=new
|
---|
120 | ;;
|
---|
121 | *) # we have the old MIPS CC
|
---|
122 | _DEC_cc_style=old
|
---|
123 | ;;
|
---|
124 | esac
|
---|
125 | # We need to figure out whether -c99 is a valid flag to use.
|
---|
126 | # If it is, we can use it for being nauseatingly C99 ANSI --
|
---|
127 | # but even then the lddlflags needs to stay -std1.
|
---|
128 | # If it is not, we must use -std1 for both flags.
|
---|
129 | #
|
---|
130 | case "`cc -c99 try.c 2>&1`" in
|
---|
131 | *"-c99: Unknown flag"*)
|
---|
132 | _ccflags_strict_ansi="-std1"
|
---|
133 | ;;
|
---|
134 | *) # However, use the -c99 only if compiling for
|
---|
135 | # -DPERL_MEM_LOG, where the C99 feature __func__
|
---|
136 | # is useful to have. Otherwise use the good old
|
---|
137 | # -std1 so that we stay C89 strict, which the goal
|
---|
138 | # of the Perl C code base (no //, no code between
|
---|
139 | # declarations, etc). Moreover, the Tru64 cc is
|
---|
140 | # not fully C99, and most probably never will be.
|
---|
141 | #
|
---|
142 | # The -DPERL_MEM_LOG can be either in ccflags
|
---|
143 | # (if using an old config.sh) or in the command line
|
---|
144 | # (which has been stowed away in UU/cmdline.opt).
|
---|
145 | #
|
---|
146 | case "$ccflags `cat UU/cmdline.opt`" in
|
---|
147 | *-DPERL_MEM_LOG*) _ccflags_strict_ansi="-c99" ;;
|
---|
148 | *) _ccflags_strict_ansi="-std1" ;;
|
---|
149 | esac
|
---|
150 | ;;
|
---|
151 | esac
|
---|
152 | _lddlflags_strict_ansi="-std1"
|
---|
153 | # -no_ansi_alias because Perl code is not that strict
|
---|
154 | # (also gcc uses by default -fno-strict-aliasing).
|
---|
155 | _ccflags_strict_ansi="$_ccflags_strict_ansi -no_ansi_alias"
|
---|
156 | # Cleanup.
|
---|
157 | rm -f try.c try.o
|
---|
158 | ;;
|
---|
159 | esac
|
---|
160 |
|
---|
161 | # Be nauseatingly ANSI
|
---|
162 | ccflags="$ccflags $_ccflags_strict_ansi"
|
---|
163 |
|
---|
164 | # for gcc the Configure knows about the -fpic:
|
---|
165 | # position-independent code for dynamic loading
|
---|
166 |
|
---|
167 | # we want optimisation
|
---|
168 |
|
---|
169 | case "$optimize" in
|
---|
170 | '') case "$isgcc" in
|
---|
171 | gcc) optimize='-O3' ;;
|
---|
172 | *) case "$_DEC_cc_style" in
|
---|
173 | new) optimize='-O4' ;;
|
---|
174 | old) optimize='-O2 -Olimit 3200' ;;
|
---|
175 | esac
|
---|
176 | ccflags="$ccflags -D_INTRINSICS"
|
---|
177 | ;;
|
---|
178 | esac
|
---|
179 | ;;
|
---|
180 | esac
|
---|
181 |
|
---|
182 | ## Optimization limits
|
---|
183 | case "$isgcc" in
|
---|
184 | gcc) # gcc 3.2.1 wants a lot of memory for -O3'ing toke.c
|
---|
185 | cat >try.c <<EOF
|
---|
186 | #include <sys/resource.h>
|
---|
187 |
|
---|
188 | int main ()
|
---|
189 | {
|
---|
190 | struct rlimit rl;
|
---|
191 | int i = getrlimit (RLIMIT_DATA, &rl);
|
---|
192 | printf ("%d\n", rl.rlim_cur / (1024 * 1024));
|
---|
193 | } /* main */
|
---|
194 | EOF
|
---|
195 | $cc -o try $ccflags $ldflags try.c
|
---|
196 | maxdsiz=`./try`
|
---|
197 | rm -f try try.c core
|
---|
198 | if [ $maxdsiz -lt 256 ]; then
|
---|
199 | # less than 256 MB is probably not enough to optimize toke.c with gcc -O3
|
---|
200 | cat <<EOM >&4
|
---|
201 |
|
---|
202 | Your process datasize is limited to $maxdsiz MB, which is (sadly) not
|
---|
203 | always enough to fully optimize some source code files of Perl,
|
---|
204 | at least 256 MB seems to be necessary as of Perl 5.8.0. I'll try to
|
---|
205 | use a lower optimization level for those parts. You could either try
|
---|
206 | using your shell's ulimit/limit/limits command to raise your datasize
|
---|
207 | (assuming the system-wide hard resource limits allow you to go higher),
|
---|
208 | or if you can't go higher and if you are a sysadmin, and you *do* want
|
---|
209 | the full optimization, you can tune the 'max_per_proc_data_size'
|
---|
210 | kernel parameter: see man sysconfigtab, and man sys_attrs_proc.
|
---|
211 |
|
---|
212 | EOM
|
---|
213 | toke_cflags='optimize=-O2'
|
---|
214 | fi
|
---|
215 | ;;
|
---|
216 | esac
|
---|
217 |
|
---|
218 | # The patch 23787
|
---|
219 | # http://public.activestate.com/cgi-bin/perlbrowse?patch=23787
|
---|
220 | # broke things for gcc (at least gcc 3.3) so that many of the pack()
|
---|
221 | # checksum tests for formats L, j, J, especially when combined
|
---|
222 | # with the < and > specifiers, started to fail if compiled with plain -O3.
|
---|
223 | case "$isgcc" in
|
---|
224 | gcc)
|
---|
225 | pp_pack_cflags='optimize="-O3 -fno-cse-skip-blocks"'
|
---|
226 | ;;
|
---|
227 | esac
|
---|
228 |
|
---|
229 | # we want dynamic fp rounding mode, and we want ieee exception semantics
|
---|
230 | case "$isgcc" in
|
---|
231 | gcc) ;;
|
---|
232 | *) case "$_DEC_cc_style" in
|
---|
233 | new) ccflags="$ccflags -fprm d -ieee" ;;
|
---|
234 | esac
|
---|
235 | ;;
|
---|
236 | esac
|
---|
237 |
|
---|
238 | # Make glibpth agree with the compiler suite. Note that /shlib
|
---|
239 | # is not here. That's on purpose. Even though that's where libc
|
---|
240 | # really lives from V4.0 on, the linker (and /sbin/loader) won't
|
---|
241 | # look there by default. The sharable /sbin utilities were all
|
---|
242 | # built with "-Wl,-rpath,/shlib" to get around that. This makes
|
---|
243 | # no attempt to figure out the additional location(s) searched by
|
---|
244 | # gcc, since not all versions of gcc are easily coerced into
|
---|
245 | # revealing that information.
|
---|
246 | glibpth="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc"
|
---|
247 | glibpth="$glibpth /usr/lib /usr/local/lib /var/shlib"
|
---|
248 |
|
---|
249 | # dlopen() is in libc
|
---|
250 | libswanted="`echo $libswanted | sed -e 's/ dl / /'`"
|
---|
251 |
|
---|
252 | # libPW contains nothing useful for perl
|
---|
253 | libswanted="`echo $libswanted | sed -e 's/ PW / /'`"
|
---|
254 |
|
---|
255 | # libnet contains nothing useful for perl here, and doesn't work
|
---|
256 | libswanted="`echo $libswanted | sed -e 's/ net / /'`"
|
---|
257 |
|
---|
258 | # libbsd contains nothing used by perl that is not already in libc
|
---|
259 | libswanted="`echo $libswanted | sed -e 's/ bsd / /'`"
|
---|
260 |
|
---|
261 | # libc need not be separately listed
|
---|
262 | libswanted="`echo $libswanted | sed -e 's/ c / /'`"
|
---|
263 |
|
---|
264 | # ndbm is already in libc
|
---|
265 | libswanted="`echo $libswanted | sed -e 's/ ndbm / /'`"
|
---|
266 |
|
---|
267 | # the basic lddlflags used always
|
---|
268 | lddlflags='-shared -expect_unresolved "*"'
|
---|
269 |
|
---|
270 | # Intentional leading tab.
|
---|
271 | myosvers="`/usr/sbin/sizer -v 2>/dev/null || uname -r`"
|
---|
272 |
|
---|
273 | # Fancy compiler suites use optimising linker as well as compiler.
|
---|
274 | # <spider@Orb.Nashua.NH.US>
|
---|
275 | case "`uname -r`" in
|
---|
276 | *[123].*) # old loader
|
---|
277 | lddlflags="$lddlflags -O3"
|
---|
278 | ;;
|
---|
279 | *) if $test "X$optimize" = "X$undef"; then
|
---|
280 | lddlflags="$lddlflags -msym"
|
---|
281 | else
|
---|
282 | case "$myosvers" in
|
---|
283 | *4.0D*)
|
---|
284 | # QAR 56761: -O4 + .so may produce broken code,
|
---|
285 | # fixed in 4.0E or better.
|
---|
286 | ;;
|
---|
287 | *)
|
---|
288 | lddlflags="$lddlflags $optimize"
|
---|
289 | ;;
|
---|
290 | esac
|
---|
291 | # -msym: If using a sufficiently recent /sbin/loader,
|
---|
292 | # keep the module symbols with the modules.
|
---|
293 | lddlflags="$lddlflags -msym $_lddlflags_strict_ansi"
|
---|
294 | fi
|
---|
295 | ;;
|
---|
296 | esac
|
---|
297 | # Yes, the above loses if gcc does not use the system linker.
|
---|
298 | # If that happens, let me know about it. <jhi@iki.fi>
|
---|
299 |
|
---|
300 | # Because there is no other handy way to recognize 3.X.
|
---|
301 | case "`uname -r`" in
|
---|
302 | *3.*) ccflags="$ccflags -DDEC_OSF1_3_X" ;;
|
---|
303 | esac
|
---|
304 |
|
---|
305 | # If debugging or (old systems and doing shared)
|
---|
306 | # then do not strip the lib, otherwise, strip.
|
---|
307 | # As noted above the -DDEBUGGING is added automagically by Configure if -g.
|
---|
308 | case "$optimize" in
|
---|
309 | *-g*) ;; # left intentionally blank
|
---|
310 | *) case "`uname -r`" in
|
---|
311 | *[123].*)
|
---|
312 | case "$useshrplib" in
|
---|
313 | false|undef|'') lddlflags="$lddlflags -s" ;;
|
---|
314 | esac
|
---|
315 | ;;
|
---|
316 | *) lddlflags="$lddlflags -s"
|
---|
317 | ;;
|
---|
318 | esac
|
---|
319 | ;;
|
---|
320 | esac
|
---|
321 |
|
---|
322 | #
|
---|
323 | # Make embedding in things like INN and Apache more memory friendly.
|
---|
324 | # Keep it overridable on the Configure command line, though, so that
|
---|
325 | # "-Uuseshrplib" prevents this default.
|
---|
326 | #
|
---|
327 |
|
---|
328 | case "$_DEC_cc_style.$useshrplib" in
|
---|
329 | new.) useshrplib="$define" ;;
|
---|
330 | esac
|
---|
331 |
|
---|
332 | # The EFF_ONLY_OK from <sys/access.h> is present but dysfunctional for
|
---|
333 | # [RWX]_OK as of Digital UNIX 4.0[A-D]?. If and when this gets fixed,
|
---|
334 | # please adjust this appropriately. See also pp_sys.c just before the
|
---|
335 | # emulate_eaccess().
|
---|
336 |
|
---|
337 | # Fixed in V5.0A.
|
---|
338 | case "$myosvers" in
|
---|
339 | *5.0[A-Z]*|*5.[1-9]*|*[6-9].[0-9]*)
|
---|
340 | : ok
|
---|
341 | ;;
|
---|
342 | *)
|
---|
343 | # V5.0 or previous
|
---|
344 | pp_sys_cflags='ccflags="$ccflags -DNO_EFF_ONLY_OK"'
|
---|
345 | ;;
|
---|
346 | esac
|
---|
347 |
|
---|
348 | # The off_t is already 8 bytes, so we do have largefileness.
|
---|
349 |
|
---|
350 | cat > UU/usethreads.cbu <<'EOCBU'
|
---|
351 | # This script UU/usethreads.cbu will get 'called-back' by Configure
|
---|
352 | # after it has prompted the user for whether to use threads.
|
---|
353 | case "$usethreads" in
|
---|
354 | $define|true|[yY]*)
|
---|
355 | # In Tru64 V5 (at least V5.1A, V5.1B) gcc (at least 3.2.2)
|
---|
356 | # cannot be used to compile a threaded Perl.
|
---|
357 | cat > pthread.c <<EOF
|
---|
358 | #include <pthread.h>
|
---|
359 | extern int foo;
|
---|
360 | EOF
|
---|
361 | $cc -c pthread.c 2> pthread.err
|
---|
362 | if grep -q "unrecognized compiler" pthread.err; then
|
---|
363 | cat >&4 <<EOF
|
---|
364 | ***
|
---|
365 | *** I'm sorry but your C compiler ($cc) cannot be used to
|
---|
366 | *** compile Perl with threads. The system C compiler should work.
|
---|
367 | ***
|
---|
368 |
|
---|
369 | Cannot continue, aborting.
|
---|
370 |
|
---|
371 | EOF
|
---|
372 | rm -f pthread.*
|
---|
373 | exit 1
|
---|
374 | fi
|
---|
375 | rm -f pthread.*
|
---|
376 | # Threads interfaces changed with V4.0.
|
---|
377 | case "$isgcc" in
|
---|
378 | gcc)
|
---|
379 | ccflags="-D_REENTRANT $ccflags"
|
---|
380 | ;;
|
---|
381 | *) case "`uname -r`" in
|
---|
382 | *[123].*) ccflags="-threads $ccflags" ;;
|
---|
383 | *) ccflags="-pthread $ccflags" ;;
|
---|
384 | esac
|
---|
385 | ;;
|
---|
386 | esac
|
---|
387 | case "`uname -r`" in
|
---|
388 | *[123].*) libswanted="$libswanted pthreads mach exc c_r" ;;
|
---|
389 | *) libswanted="$libswanted pthread exc" ;;
|
---|
390 | esac
|
---|
391 |
|
---|
392 | case "$usemymalloc" in
|
---|
393 | '')
|
---|
394 | usemymalloc='n'
|
---|
395 | ;;
|
---|
396 | esac
|
---|
397 | # These symbols are renamed in <time.h> so
|
---|
398 | # that the Configure hasproto doesn't see them.
|
---|
399 | d_asctime_r_proto="$define"
|
---|
400 | d_ctime_r_proto="$define"
|
---|
401 | d_gmtime_r_proto="$define"
|
---|
402 | d_localtime_r_proto="$define"
|
---|
403 | ;;
|
---|
404 | esac
|
---|
405 | EOCBU
|
---|
406 |
|
---|
407 | # malloc wrap works
|
---|
408 | case "$usemallocwrap" in
|
---|
409 | '') usemallocwrap='define' ;;
|
---|
410 | esac
|
---|
411 |
|
---|
412 | cat > UU/uselongdouble.cbu <<'EOCBU'
|
---|
413 | # This script UU/uselongdouble.cbu will get 'called-back' by Configure
|
---|
414 | # after it has prompted the user for whether to use long doubles.
|
---|
415 | case "$uselongdouble" in
|
---|
416 | $define|true|[yY]*)
|
---|
417 | case "$myosvers" in
|
---|
418 | *[1-4].0*) cat >&4 <<EOF
|
---|
419 |
|
---|
420 | ***
|
---|
421 | *** Sorry, you cannot use long doubles in pre-V5.0 releases of Tru64.
|
---|
422 | ***
|
---|
423 |
|
---|
424 | Cannot continue, aborting.
|
---|
425 |
|
---|
426 | EOF
|
---|
427 | exit 1
|
---|
428 | ;;
|
---|
429 | *)
|
---|
430 | # Test whether libc's been fixed yet for long doubles.
|
---|
431 | cat >try.c <<\TRY
|
---|
432 | #include <stdio.h>
|
---|
433 | int main(int argc, char **argv)
|
---|
434 | {
|
---|
435 | unsigned long uvmax = ~0UL;
|
---|
436 | long double ld = uvmax + 0.0L;
|
---|
437 | char buf1[30], buf2[30];
|
---|
438 |
|
---|
439 | (void) sprintf(buf1, "%lu", uvmax);
|
---|
440 | (void) sprintf(buf2, "%.0Lf", ld);
|
---|
441 | return strcmp(buf1, buf2) != 0;
|
---|
442 | }
|
---|
443 | TRY
|
---|
444 | # Don't bother trying to work with Configure's idea of
|
---|
445 | # cc and the various flags. This might not work as-is
|
---|
446 | # with gcc -- but we're testing libc, not the compiler.
|
---|
447 | if cc -o try $_ccflags_strict_ansi try.c && ./try
|
---|
448 | then
|
---|
449 | : ok
|
---|
450 | else
|
---|
451 | cat <<\UGLY >&4
|
---|
452 | !
|
---|
453 | Warning! Your libc has not yet been patched so that its "%Lf" format for
|
---|
454 | printing long doubles shows all the significant digits. You will get errors
|
---|
455 | in the t/op/numconvert test because of this. (The data is still good
|
---|
456 | internally, and the "%e" format of printf() or sprintf() in perl will still
|
---|
457 | produce valid results.) See README.tru64 for additional details.
|
---|
458 |
|
---|
459 | Continuing anyway.
|
---|
460 | !
|
---|
461 | UGLY
|
---|
462 | fi
|
---|
463 | $rm -f try try.c
|
---|
464 | esac
|
---|
465 | ;;
|
---|
466 | esac
|
---|
467 | EOCBU
|
---|
468 |
|
---|
469 | case "$myosvers" in
|
---|
470 | *[1-4].0*) d_modfl=undef ;; # must wait till 5.0
|
---|
471 | esac
|
---|
472 |
|
---|
473 | # Keep that leading tab.
|
---|
474 | old_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
|
---|
475 | for p in $loclibpth
|
---|
476 | do
|
---|
477 | if test -d $p; then
|
---|
478 | echo "Appending $p to LD_LIBRARY_PATH." >& 4
|
---|
479 | case "$LD_LIBRARY_PATH" in
|
---|
480 | '') LD_LIBRARY_PATH=$p ;;
|
---|
481 | *) LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$p ;;
|
---|
482 | esac
|
---|
483 | fi
|
---|
484 | done
|
---|
485 | case "$LD_LIBRARY_PATH" in
|
---|
486 | "$old_LD_LIBRARY_PATH") ;;
|
---|
487 | *) echo "LD_LIBRARY_PATH is now $LD_LIBRARY_PATH." >& 4 ;;
|
---|
488 | esac
|
---|
489 | case "$LD_LIBRARY_PATH" in
|
---|
490 | '') ;;
|
---|
491 | * ) export LD_LIBRARY_PATH ;;
|
---|
492 | esac
|
---|
493 |
|
---|
494 | #
|
---|
495 | # Unset temporary variables no more needed.
|
---|
496 | #
|
---|
497 |
|
---|
498 | unset _DEC_cc_style
|
---|
499 |
|
---|
500 | #
|
---|
501 | # History:
|
---|
502 | #
|
---|
503 | # perl5.005_51:
|
---|
504 | #
|
---|
505 | # September-1998 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
506 | #
|
---|
507 | # * Added the -DNO_EFF_ONLY_OK flag ('use filetest;' support).
|
---|
508 | #
|
---|
509 | # perl5.004_57:
|
---|
510 | #
|
---|
511 | # 19-Dec-1997 Spider Boardman <spider@Orb.Nashua.NH.US>
|
---|
512 | #
|
---|
513 | # * Newer Digital UNIX compilers enforce signaling for NaN without
|
---|
514 | # -ieee. Added -fprm d at the same time since it's friendlier for
|
---|
515 | # embedding.
|
---|
516 | #
|
---|
517 | # * Fixed the library search path to match cc, ld, and /sbin/loader.
|
---|
518 | #
|
---|
519 | # * Default to building -Duseshrplib on newer systems. -Uuseshrplib
|
---|
520 | # still overrides.
|
---|
521 | #
|
---|
522 | # * Fix -pthread additions for useshrplib. ld has no -pthread option.
|
---|
523 | #
|
---|
524 | #
|
---|
525 | # perl5.004_04:
|
---|
526 | #
|
---|
527 | # 19-Sep-1997 Spider Boardman <spider@Orb.Nashua.NH.US>
|
---|
528 | #
|
---|
529 | # * libnet on Digital UNIX is for JAVA, not for sockets.
|
---|
530 | #
|
---|
531 | #
|
---|
532 | # perl5.003_28:
|
---|
533 | #
|
---|
534 | # 22-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
535 | #
|
---|
536 | # * Restructuring Spider's suggestions.
|
---|
537 | #
|
---|
538 | # * Older Digital UNIXes cannot handle -Olimit ... for $lddlflags.
|
---|
539 | #
|
---|
540 | # * ld -s cannot be used in older Digital UNIXes when doing shared.
|
---|
541 | #
|
---|
542 | #
|
---|
543 | # 21-Feb-1997 Spider Boardman <spider@Orb.Nashua.NH.US>
|
---|
544 | #
|
---|
545 | # * -hidden removed.
|
---|
546 | #
|
---|
547 | # * -DSTANDARD_C removed.
|
---|
548 | #
|
---|
549 | # * -D_INTRINSICS added. (that -fast does not seem to buy much confirmed)
|
---|
550 | #
|
---|
551 | # * odbm not in libc, only ndbm. Therefore dbm back to $libswanted.
|
---|
552 | #
|
---|
553 | # * -msym for the newer runtime loaders.
|
---|
554 | #
|
---|
555 | # * $optimize also in $lddflags.
|
---|
556 | #
|
---|
557 | #
|
---|
558 | # perl5.003_27:
|
---|
559 | #
|
---|
560 | # 18-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
561 | #
|
---|
562 | # * unset _DEC_cc_style and more commentary on -std.
|
---|
563 | #
|
---|
564 | #
|
---|
565 | # perl5.003_26:
|
---|
566 | #
|
---|
567 | # 15-Feb-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
568 | #
|
---|
569 | # * -std and -ansi.
|
---|
570 | #
|
---|
571 | #
|
---|
572 | # perl5.003_24:
|
---|
573 | #
|
---|
574 | # 30-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
575 | #
|
---|
576 | # * Fixing the note on -DDEBUGGING.
|
---|
577 | #
|
---|
578 | # * Note on -O5 -fast.
|
---|
579 | #
|
---|
580 | #
|
---|
581 | # perl5.003_23:
|
---|
582 | #
|
---|
583 | # 26-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
584 | #
|
---|
585 | # * Notes on how to do both optimisation and debugging.
|
---|
586 | #
|
---|
587 | #
|
---|
588 | # 25-Jan-1997 Jarkko Hietaniemi <jhi@iki.fi>
|
---|
589 | #
|
---|
590 | # * Remove unneeded libraries from $libswanted: PW, bsd, c, dbm
|
---|
591 | #
|
---|
592 | # * Restructure the $lddlflags build.
|
---|
593 | #
|
---|
594 | # * $optimize based on which compiler we have.
|
---|
595 | #
|
---|
596 | #
|
---|
597 | # perl5.003_22:
|
---|
598 | #
|
---|
599 | # 23-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
|
---|
600 | #
|
---|
601 | # * Added comments 'how to create a debugging version of perl'
|
---|
602 | #
|
---|
603 | # * Fixed logic of this script to prevent stripping of shared
|
---|
604 | # objects by the loader (see ld man page for -s) is debugging
|
---|
605 | # is set via the -g switch.
|
---|
606 | #
|
---|
607 | #
|
---|
608 | # 21-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
|
---|
609 | #
|
---|
610 | # * now 'dl' is always removed from libswanted. Not only if
|
---|
611 | # optimize is an empty string.
|
---|
612 | #
|
---|
613 | #
|
---|
614 | # 17-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
|
---|
615 | #
|
---|
616 | # * Removed 'dl' from libswanted: When the FreePort binary
|
---|
617 | # translator for Sun binaries is installed Configure concludes
|
---|
618 | # that it should use libdl.x.yz.fpx.so :-(
|
---|
619 | # Because the dlopen, dlclose,... calls are in the
|
---|
620 | # C library it not necessary at all to check for the
|
---|
621 | # dl library. Therefore dl is removed from libswanted.
|
---|
622 | #
|
---|
623 | #
|
---|
624 | # 1-Jan-1997 Achim Bohnet <ach@rosat.mpe-garching.mpg.de>
|
---|
625 | #
|
---|
626 | # * Set -Olimit to 3200 because perl_yylex.c got too big
|
---|
627 | # for the optimizer.
|
---|
628 | #
|
---|
629 |
|
---|