summaryrefslogtreecommitdiff
path: root/hints/aix.sh
diff options
context:
space:
mode:
Diffstat (limited to 'hints/aix.sh')
-rw-r--r--hints/aix.sh20
1 files changed, 17 insertions, 3 deletions
diff --git a/hints/aix.sh b/hints/aix.sh
index e4966042bc..baf8c00303 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