This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
use a fresh stack when loading Errno.pm etc.
[perl5.git] / hints / aix.sh
index baf8c00..a9d0715 100644 (file)
@@ -109,11 +109,11 @@ case "$cc" in
        ccdlflags='-Xlinker'
        if [ "X$gccversion" = "X" ]; then
            # Done too late in Configure if hinted
-           gccversion=`$cc --version | sed 's/.*(GCC) *//'`
+           gccversion=`$cc -dumpversion`
            fi
        ;;
 
-    *)  ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -v '\.msg\.[A-Za-z_]*\.' | head -1 | awk '{print $1,$2}'`
+    *)  ccversion=`lslpp -ql -Ou vac.C | grep -v '^Path' | head -1 | awk '{print $1,$2}'`
        case "$ccversion" in
            '') ccversion=`lslpp -L | grep 'IBM C and C++ Compilers LUM$'` ;;
 
@@ -318,7 +318,11 @@ libswanted_uselargefiles="`getconf XBS5_ILP32_OFFBIG_LIBS 2>/dev/null|sed -e 's@
                ccflags="`echo $ccflags | sed -e 's@ -b@ -Wl,-b@g'`"
                ldflags="`echo ' '$ldflags | sed -e 's@ -b@ -Wl,-b@g'`"
                lddlflags="`echo ' '$lddlflags | sed -e 's@ -b@ -Wl,-b@g'`"
-               ld='gcc'
+               lddlflags="`echo ' '$lddlflags | sed -e 's@ -G @ -Wl,-G @g'`"
+               case "$use64bitall" in
+                   $define|true|[yY]*) ld="$cc -maix64"        ;;
+                   *)                  ld="$cc"                ;;
+                   esac
                echo >&4 "(using ccflags   $ccflags)"
                echo >&4 "(using ldflags   $ldflags)"
                echo >&4 "(using lddlflags $lddlflags)"
@@ -383,6 +387,13 @@ EOM
        # Remove them.
        ccflags="`echo $ccflags | sed -e 's@-q32@@'`"
        ldflags="`echo $ldflags | sed -e 's@-b32@@'`"
+       case "$cc" in
+           *gcc*)
+               ccflags="`echo $ccflags | sed -e 's@-q64@-maix64@'`"
+               ccflags_uselargefiles="`echo $ccflags_uselargefiles | sed -e 's@-q64@-maix64@'`"
+               qacflags="`echo $qacflags | sed -e 's@-q64@-maix64@'`"
+               ;;
+           esac
        # Tell archiver to use large format.  Unless we remove 'ar'
        # from 'trylist', the Configure script will just reset it to 'ar'
        # immediately prior to writing config.sh.  This took me hours