summaryrefslogtreecommitdiff
path: root/hints
diff options
context:
space:
mode:
authorRainer Tammer <tammer@tammer.net>2008-12-04 11:32:11 +0100
committerNicholas Clark <nick@ccl4.org>2008-12-04 11:13:32 +0000
commit68224244efd7abf4d1987743235ed5035fbf9be1 (patch)
tree10afd740d87b20937a1d7f32ea90b07522bc0d0c /hints
parent6a3877213b55d5920eb5e5c6dcf5a318e5bccc83 (diff)
downloadperl-68224244efd7abf4d1987743235ed5035fbf9be1.tar.gz
AIX patches for Perl 5.8.9 RC2 and gcc on AIX + suidperl on AIX README.aix
Message-ID: <4937A39B.1070104@tammer.net> [just the hints] p4raw-id: //depot/perl@35006
Diffstat (limited to 'hints')
-rw-r--r--hints/aix.sh63
1 files changed, 33 insertions, 30 deletions
diff --git a/hints/aix.sh b/hints/aix.sh
index 5c07c12c8a..20c353c79d 100644
--- a/hints/aix.sh
+++ b/hints/aix.sh
@@ -238,37 +238,25 @@ case "$usethreads" in
ccflags="$ccflags -DNEED_PTHREAD_INIT"
case "$cc" in
- *gcc*) ccflags="-D_THREAD_SAFE $ccflags" ;;
-
- cc_r) ;;
- '') cc=cc_r ;;
-
+ *gcc*)
+ ccflags="-D_THREAD_SAFE $ccflags"
+ ;;
+ 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
+ ;;
+ '')
+ cc=cc_r
+ ;;
*)
-
-
- # No | alternation in aix sed. :-(
- newcc=`echo $cc | sed -e 's/cc$/cc_r/' -e 's/xl[cC]$/cc_r/' -e 's/xl[cC]_r$/cc_r/'`
- case "$newcc" in
- $cc) # No change
- ;;
-
- *cc_r)
- echo >&4 "Switching cc to cc_r because of POSIX threads."
- # xlc_r has been known to produce buggy code in AIX 4.3.2.
- # (e.g. pragma/overload core dumps) Let's suspect xlC_r, too.
- # --jhi@iki.fi
- cc="$newcc"
- ;;
-
- *)
- cat >&4 <<EOM
-*** For pthreads you should use the AIX C compiler cc_r.
-*** (now your compiler was set to '$cc')
-*** Cannot continue, aborting.
-EOM
- exit 1
- ;;
- esac
esac
# Insert pthreads to libswanted, before any libc or libC.
@@ -280,6 +268,21 @@ EOM
shift
lddlflags="$*"
;;
+ *)
+ 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
+ ;;
+ *)
+ esac
+ ;;
esac
EOCBU