AIX Hints file change
authorDarin McBride <dmcbride@cpan.org>
Mon, 25 Jun 2012 23:36:32 +0000 (17:36 -0600)
committerRicardo Signes <rjbs@cpan.org>
Thu, 11 Oct 2012 18:21:05 +0000 (14:21 -0400)
Ok, I think my earlier problem came from not cleaning up properly between
multiple compiles.  So I don't need to modify any test.

Proposed log entry:

When compiling many of the perl modules available from CPAN, an expectation
of C99 support seems implied by many authors.  Unfortunately, xlC doesn't
do this by default, we have to add -qlanglvl=extc99 to the ccflags to get
this to work.  And by the time we get to installing modules, this flag
is already set in Config.

So, add the flag unconditionally at the outset.  Also, remove
-qlonglong and -qlanglvl=extended from the flags to silence the warning that
extc99 includes them and that xlC is going to ignore it, using extc99 instead.

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>

hints/aix.sh

index 63f245f..e1ae2fd 100644 (file)
@@ -96,7 +96,7 @@ cc=${cc:-cc}
 ccflags="$ccflags -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE"
 case "$cc" in
     *gcc*) ;;
-    *) ccflags="$ccflags -qmaxmem=-1 -qnoansialias" ;;
+    *) ccflags="$ccflags -qmaxmem=-1 -qnoansialias -qlanglvl=extc99" ;;
     esac
 nm_opt='-B'
 
@@ -245,13 +245,9 @@ case "$usethreads" in
            cc_r) 
              ;;
            xlc_r) 
-             # for -qlonglong
-             ccflags="$ccflags -qlanglvl=extended"
              ;;
            # we do not need the C++ compiler
            xlC_r) 
-             # for -qlonglong
-             ccflags="$ccflags -qlanglvl=extended"
              cc=xlc_r 
              ;;
            '') 
@@ -272,13 +268,9 @@ case "$usethreads" in
     *)
        case "$cc" in
            xlc) 
-             # for -qlonglong
-             ccflags="$ccflags -qlanglvl=extended"
              ;;
            # we do not need the C++ compiler
            xlC) 
-             # for -qlonglong
-             ccflags="$ccflags -qlanglvl=extended"
              cc=xlc 
              ;;
            *)
@@ -348,6 +340,9 @@ libswanted_uselargefiles="`getconf XBS5_ILP32_OFFBIG_LIBS 2>/dev/null|sed -e 's@
                    $define|true|[yY]*) cc="$cc -q64"   ;;
                    *)                  cc="$cc -q32"   ;;
                    esac
+                # Some 32-bit getconfs will set ccflags to include -qlonglong
+                # but that's no longer needed with an explicit -qextc99.
+                ccflags="`echo $ccflags | sed -e 's@ -qlonglong@@`"
                ;;
            *)  # Remove xlc-specific -qflags.
                ccflags="`echo $ccflags | sed -e 's@ -q[^ ]*@ @g' -e 's@^-q[^ ]* @@g'`"