Change 23305 by nicholas@no-spam on 2004/09/10 06:25:00
Integrate:
[ 23122]
oslevel can fail on AIX, but the output generated would confuse
Configure
[ 23124]
Be sure HP-UX' ANSI C compiler's PATH is found *before*
the path to the bundled braindead C compiler. This might
influence ccache's behaviour in finding the correct path
[ 23174]
First steps towards an explicit perl.exp-less AIX build
Previous method can still be used by undeffing usenativedlopen
If that is ever tested at all on AIX
[ 23188]
gcc on AIX doesn't like -G on the commandline
[ 23189]
gcc on AIX 4 doesn't like -G on the commandline too
Affected files ...
... //depot/maint-5.8/perl/Configure#57 integrate
... //depot/maint-5.8/perl/hints/aix.sh#18 integrate
... //depot/maint-5.8/perl/hints/aix_4.sh#4 integrate
Differences ...
==== //depot/maint-5.8/perl/Configure#57 (xtext) ====
Index: perl/Configure
--- perl/Configure#56~22845~ Tue May 25 13:54:05 2004
+++ perl/Configure Thu Sep 9 23:25:00 2004
@@no-spam -20,7 +20,7 @@no-spam
# $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
#
-# Generated on Wed May 12 13:00:30 METDST 2004 [metaconfig 3.0 PL70]
+# Generated on Fri Jul 16 12:49:13 METDST 2004 [metaconfig 3.0 PL70]
# (with additional metaconfig patches by perlbug@no-spam
cat >c1$$ <<EOF
@@no-spam -91,7 +91,7 @@no-spam
paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
-paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /usr/ccs/bin"
+paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
paths="$paths /sbin /usr/sbin /usr/libexec"
paths="$paths /system/gnu_library/bin"
@@no-spam -3080,7 +3080,9 @@no-spam
aix) osname=aix
tmp=`( (oslevel) 2>/dev/null || echo "not found") 2>&1`
case "$tmp" in
- 'not found') osvers="$4"."$3" ;;
+ # oslevel can fail with:
+ # oslevel: Unable to acquire lock.
+ *not\ found) osvers="$4"."$3" ;;
'<3240'|'<>3240') osvers=3.2.0 ;;
'=3240'|'>3240'|'<3250'|'<>3250') osvers=3.2.4 ;;
'=3250'|'>3250') osvers=3.2.5 ;;
==== //depot/maint-5.8/perl/hints/aix.sh#18 (text) ====
Index: perl/hints/aix.sh
--- perl/hints/aix.sh#17~22979~ Wed Jun 23 03:32:34 2004
+++ perl/hints/aix.sh Thu Sep 9 23:25:00 2004
@@no-spam -157,7 +157,11 @@no-spam
# -bI:$(PERL_INC)/perl.exp Read the exported symbols from the perl binary
# -bE:$(BASEEXT).exp Export these symbols. This file contains only one
# symbol: boot_$(EXP) can it be auto-generated?
-lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc"
+if test $usenativedlopen = 'true' ; then
+ lddlflags="$lddlflags -bhalt:4 -bexpall -G -bnoentry -lc"
+else
+ lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc"
+ fi
case "$use64bitall" in
$define|true|[yY]*) use64bitint="$define" ;;
@@no-spam -314,6 +318,7 @@no-spam
ccflags="`echo $ccflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
ldflags="`echo ' '$ldflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
lddlflags="`echo ' '$lddlflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
+ lddlflags="`echo ' '$lddlflags | sed -e 's@no-spam -G @no-spam -Wl,-G @no-spam"
ld='gcc'
echo >&4 "(using ccflags $ccflags)"
echo >&4 "(using ldflags $ldflags)"
@@no-spam -415,9 +420,19 @@no-spam
if test $usenativedlopen = 'true' ; then
ccflags="$ccflags -DUSE_NATIVE_DLOPEN"
+ # -brtl Enables a binary to use run time linking
+ # -bdynamic When used with -brtl, tells linker to search for
+ # ".so"-suffix libraries as well as ".a" suffix
+ # libraries. AIX allows both .so and .a libraries to
+ # contain dynamic shared objects.
+ # -bmaxdata:0x80000000 This increases the size of heap memory available
+ # to perl. Default is 256 MB, which sounds large but
+ # caused a software vendor problems. So this sets
+ # heap to 2 GB maximum. Anything higher and you'd
+ # want to consider 64 bit perl.
case "$cc" in
- *gcc*) ldflags="$ldflags -Wl,-brtl" ;;
- *) ldflags="$ldflags -brtl" ;;
+ *gcc*) ldflags="$ldflags -Wl,-brtl -Wl,-bdynamic -Wl,-bmaxdata:0x80000000" ;;
+ *) ldflags="$ldflags -brtl -bdynamic -bmaxdata:0x80000000" ;;
esac
elif test -f /lib/libC.a -a X"`$cc -v 2>&1 | grep gcc`" = X; then
# If the C++ libraries, libC and libC_r, are available we will
==== //depot/maint-5.8/perl/hints/aix_4.sh#4 (xtext) ====
Index: perl/hints/aix_4.sh
--- perl/hints/aix_4.sh#3~22795~ Thu May 6 09:06:17 2004
+++ perl/hints/aix_4.sh Thu Sep 9 23:25:00 2004
@@no-spam -216,7 +216,11 @@no-spam
# -bI:$(PERL_INC)/perl.exp Read the exported symbols from the perl binary
# -bE:$(BASEEXT).exp Export these symbols. This file contains only one
# symbol: boot_$(EXP) can it be auto-generated?
-lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc"
+if test $usenativedlopen = 'true' ; then
+ lddlflags="$lddlflags -bhalt:4 -bexpall -G -bnoentry -lc"
+else
+ lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc"
+ fi
case "$use64bitall" in
$define|true|[yY]*) use64bitint="$define" ;;
@@no-spam -402,6 +406,7 @@no-spam
ccflags="`echo $ccflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
ldflags="`echo ' '$ldflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
lddlflags="`echo ' '$lddlflags | sed -e 's@no-spam -b@no-spam -Wl,-b@no-spam"
+ lddlflags="`echo ' '$lddlflags | sed -e 's@no-spam -G @no-spam -Wl,-G @no-spam"
ld='gcc'
echo >&4 "(using ccflags $ccflags)"
echo >&4 "(using ldflags $ldflags)"
End of Patch.