PERL PERL5 CHANGES 18 CHANGE 23305 INTEGRATE
Date: Fri, 10 Sep 2004 00:00:00 -0700

Subject: Change 23305: Integrate:
From: nick@no-spam (Nicholas Clark)

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.