diff options
author | H.Merijn Brand <h.m.brand@xs4all.nl> | 2003-04-09 16:31:48 +0200 |
---|---|---|
committer | H.Merijn Brand <h.m.brand@xs4all.nl> | 2003-04-09 14:33:12 +0000 |
commit | 411de0ab94395b13eadb749c6b04762dba6cc346 (patch) | |
tree | e28ec5b46d38956517c31b744beb54e13f3941ad /hints/aix.sh | |
parent | 3b82e551af39ddf336fbbcdb868f3bb50618183d (diff) | |
download | perl-411de0ab94395b13eadb749c6b04762dba6cc346.tar.gz |
Even more promotion for -lc128 (long doubles on AIX)
More obvious detection of C compiler
cc_type should not promote to config.sh
From: "H.Merijn Brand" <h.m.brand@hccnet.nl>
Message-Id: <20030409143007.B4A4.H.M.BRAND@hccnet.nl>
p4raw-id: //depot/perl@19174
Diffstat (limited to 'hints/aix.sh')
-rw-r--r-- | hints/aix.sh | 42 |
1 files changed, 24 insertions, 18 deletions
diff --git a/hints/aix.sh b/hints/aix.sh index 68826d4919..04eba5237f 100644 --- a/hints/aix.sh +++ b/hints/aix.sh @@ -134,8 +134,8 @@ d_setreuid='undef' # Changes for dynamic linking by Wayne Scott <wscott@ichips.intel.com> # # Tell perl which symbols to export for dynamic linking. -cccdlflags='none' # All AIX code is position independent -cc_type=xlc +cccdlflags='none' # All AIX code is position independent + cc_type=xlc # do not export to config.sh case "$cc" in *gcc*) cc_type=gcc @@ -145,9 +145,9 @@ case "$cc" in gccversion=`$cc --version | sed 's/.*(GCC) *//` fi ;; -*) ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -v '\.msg\.[A-Za-z_]*\.' | awk '{print $2}'` +*) ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -v '\.msg\.[A-Za-z_]*\.' | awk '{print $1,$2}'` case "$ccversion" in - '') ccversion=`lslpp -L | grep 'IBM C and C++ Compilers LUM$' | awk '{print $2}'` + '') ccversion=`lslpp -L | grep 'IBM C and C++ Compilers LUM$'` ;; *.*.*.*.*.*.*) # Ahhrgg, more than one C compiler installed first_cc_path=`which ${cc:-cc}` @@ -164,9 +164,13 @@ case "$cc" in fi ;; esac - ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -i $cc_type | awk '{print $2}' | head -1` + ccversion=`lslpp -L | grep 'C for AIX Compiler$' | grep -i $cc_type | head -1` + ;; + vac*.*.*.*) + cc_type=vac ;; esac + ccversion=`echo "$ccversion" | awk '{print $2}'` case "$ccversion" in 3.6.6.0) optimize='none' @@ -209,6 +213,20 @@ esac # the required -bE:$installarchlib/CORE/perl.exp is added by # libperl.U (Configure) later. +# The first 3 options would not be needed if dynamic libs. could be linked +# with the compiler instead of ld. +# -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? +case "$osvers" in + 3*) + lddlflags="$lddlflags -H512 -T512 -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -e _nostart -lc" + ;; + *) + lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc" + ;; + esac + case "$use64bitall" in $define|true|[yY]*) use64bitint="$define" ;; esac @@ -223,6 +241,7 @@ case $cc_type in $define|true|[yY]*) ccflags="$ccflags -qlongdouble" libswanted="c128 $libswanted" + lddlflags=`echo "$lddlflags " | sed -e 's/ -lc / -lc128 -lc /'` ;; esac esac @@ -257,19 +276,6 @@ case "$ldlibpthname" in '') ldlibpthname=LIBPATH ;; esac -# The first 3 options would not be needed if dynamic libs. could be linked -# with the compiler instead of ld. -# -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? -case "$osvers" in -3*) - lddlflags="$lddlflags -H512 -T512 -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -e _nostart -lc" - ;; -*) - lddlflags="$lddlflags -bhalt:4 -bM:SRE -bI:\$(PERL_INC)/perl.exp -bE:\$(BASEEXT).exp -bnoentry -lc" - ;; -esac # AIX 4.2 (using latest patchlevels on 20001130) has a broken bind # library (getprotobyname and getprotobynumber are outversioned by # the same calls in libc, at least for xlc version 3... |