Doc tweaks.
[p5sagit/p5-mst-13.2.git] / hints / aix.sh
index 0295182..f3a3fc5 100644 (file)
@@ -123,7 +123,7 @@ case "$osvers" in
     ccflags="$ccflags -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE"
     case "$cc" in
      *gcc*) ;;
-     *) ccflags="$ccflags -qmaxmem=16384" ;;
+     *) ccflags="$ccflags -qmaxmem=16384 -qnoansialias" ;;
     esac
     nm_opt='-B'
     ;;
@@ -137,12 +137,32 @@ d_setreuid='undef'
 #
 # Tell perl which symbols to export for dynamic linking.
 cccdlflags='none'      # All AIX code is position independent
+cc_type=xlc
 case "$cc" in
-*gcc*) ccdlflags='-Xlinker' ;;
+*gcc*)
+   cc_type=gcc
+   ccdlflags='-Xlinker' ;;
 *) ccversion=`lslpp -L | grep 'C for AIX Compiler$' | awk '{print $2}'`
    case "$ccversion" in
      '') ccversion=`lslpp -L | grep 'IBM C and C++ Compilers LUM$' | awk '{print $2}'`
-       ;;
+        ;;
+     *.*.*.*.*.*.*)            # Ahhrgg, more than one C compiler installed
+        first_cc_path=`which ${cc:-cc}`
+        case "$first_cc_path" in
+          *vac*)
+            cc_type=vac ;;
+          /usr/bin/cc)         # Check the symlink
+            if [ -h $first_cc_path ] ; then
+              ls -l $first_cc_path > reflect
+              if grep -i vac reflect >/dev/null 2>&1 ; then
+                cc_type=vac
+                fi
+              rm -f reflect
+              fi
+            ;;
+          esac
+        ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -i $cc_type | awk '{print $2}' | head -1`
+        ;;
      esac
    case "$ccversion" in
      3.6.6.0)
@@ -160,14 +180,14 @@ EOF
      5.0.0.0)
        cat >&4 <<EOF
 ***
-*** This C compiler ($ccversion) is known to have optimizer problems
-*** when compiling perl.c.
+*** This C compiler ($ccversion) is known to have too many optimizer
+*** bugs to compile a working Perl.
 ***
-*** Disabling optimization for that file but consider upgrading
-*** your C compiler.
+*** Consider upgrading your C compiler, or getting the GNU cc (gcc).
 ***
+*** Cannot continue, aborting.
 EOF
-perl_cflags='optimize='
+       exit 1
        ;;
      5.0.1.0)
        cat >&4 <<EOF
@@ -209,7 +229,7 @@ esac
 case "`oslevel`" in
     4.2.1.*)
       case "$ccversion" in    # Don't know if needed for gcc
-          3.1.4.*)    # libswanted "bind ... c ..." => "... c bind ..."
+          3.1.4.*|5.0.2.*)    # libswanted "bind ... c ..." => "... c bind ..."
               set `echo X "$libswanted "| sed -e 's/ bind\( .*\) \([cC]\) / \1 \2 bind /'`
               shift
               libswanted="$*"
@@ -233,6 +253,10 @@ $define|true|[yY]*)
            # (e.g. pragma/overload core dumps)  Let's suspect xlC_r, too.
            # --jhi@iki.fi
            cc=cc_r
+
+           case "`oslevel`" in
+               4.2.1.*) i_crypt='undef' ;;
+               esac
            ;;
        '') 
            cc=cc_r
@@ -326,8 +350,8 @@ EOM
         # Move xld-spefific -bflags.
         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@ -b@ -Wl,-b@g'`"
         echo >&4 "(using ccflags   $ccflags)"
         echo >&4 "(using ldflags   $ldflags)"
         echo >&4 "(using lddlflags $lddlflags)"
@@ -455,18 +479,6 @@ EOM
 esac
 EOCBU
 
-cat > UU/uselongdouble.cbu <<'EOCBU'
-# This script UU/uselongdouble.cbu will get 'called-back' by Configure 
-# after it has prompted the user for whether to use long doubles.
-case "$uselongdouble" in
-$define|true|[yY]*)
-        # -qlongdouble for cc taken out on 20010522 cause it
-        # causes more trouble than it does any good --hmb
-        d_Gconvert='sprintf((b),"%.*llg",((int)(n)),(x))'
-       ;;
-esac
-EOCBU
-
 if test $usenativedlopen = 'true'
 then
     ccflags="$ccflags -DUSE_NATIVE_DLOPEN"