From: H.Merijn Brand Date: Sat, 31 Jul 2004 08:32:31 +0000 (+0000) Subject: First steps towards an explicit perl.exp-less AIX build X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=142c15906ae08e559b1337c4816a6c2a0c341e24;p=p5sagit%2Fp5-mst-13.2.git 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 p4raw-id: //depot/perl@23174 --- diff --git a/hints/aix.sh b/hints/aix.sh index e496604..baf8c00 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -157,7 +157,11 @@ case "$cc" in # -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" ;; @@ -415,9 +419,19 @@ EOCBU 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 diff --git a/hints/aix_4.sh b/hints/aix_4.sh index 35ae781..f88b28d 100755 --- a/hints/aix_4.sh +++ b/hints/aix_4.sh @@ -216,7 +216,11 @@ regcomp_cflags='optimize=' # -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" ;;