X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fhpux.sh;h=ca5c50b3b0cdb72f6eac53ec6ffd51b0418f58bb;hb=eba8ff18d7b4f163fccc1997c51233b02fd29e80;hp=67d823adf62b6d97ef844d243c7e0f090ccd90a0;hpb=f1bed3166f0852b804c0d849b76ab3ef76c18a33;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/hpux.sh b/hints/hpux.sh index 67d823a..ca5c50b 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -92,19 +92,26 @@ EOM cppminus='-' cpplast='-' fi - # For HP's ANSI C compiler, up to "+O3" is safe for everything - # except shared libraries (PIC code). Max safe for PIC is "+O2". - # Setting both causes innocuous warnings. - #optimize='+O3' - #cccdlflags='+z +O2' - optimize='-O' + case "$optimize" in + # For HP's ANSI C compiler, up to "+O3" is safe for everything + # except shared libraries (PIC code). Max safe for PIC is "+O2". + # Setting both causes innocuous warnings. + '') optimize='-O' + #optimize='+O3' + #cccdlflags='+z +O2' + ;; + esac cc=cc ;; esac +cc=${cc:-cc} + case `$cc -v 2>&1`"" in *gcc*) ccisgcc="$define" ;; -*) ccisgcc='' ;; +*) ccisgcc='' + ccversion=`which cc | xargs what | awk '/Compiler/{print $2}'` + ;; esac # Determine the architecture type of this system. @@ -172,36 +179,31 @@ EOM ccflags="$ccflags +DD64" ldflags="$ldflags +DD64" test -d /lib/pa20_64 && loclibpth="$loclibpth /lib/pa20_64" + libswanted="$libswanted pthread" libscheck='case "`/usr/bin/file $xxx`" in *LP64*|*PA-RISC2.0*) ;; *) xxx=/no/64-bit$xxx ;; esac' - case "$ccisgcc" in - "$define") ld=$cc ;; - *) ld=/usr/bin/ld ;; - esac + if test -n "$ccisgcc" -o -n "$gccversion"; then + ld="$cc" + else + ld=/usr/bin/ld + fi ar=/usr/bin/ar full_ar=$ar - case "$ccisgcc" in - "$define") ;; - *) # The strict ANSI mode (-Aa) doesn't like the LL suffixes. + if test -z "$ccisgcc" -a -z "$gccversion"; then + # The strict ANSI mode (-Aa) doesn't like the LL suffixes. + ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` case "$ccflags" in - *-Aa*) - echo "(Changing from strict ANSI compilation to extended because of 64-bitness)" - ccflags=`echo $ccflags|sed 's@ -Aa @ -Ae @'` - ;; + *-Ae*) ;; *) ccflags="$ccflags -Ae" ;; esac - ;; - esac + fi set `echo " $libswanted " | sed -e 's@ dl @ @'` libswanted="$*" - case "$ccisgcc" in - "$define") ;; - esac ;; esac @@ -210,7 +212,6 @@ case "$ccisgcc" in "$define") test -d /lib/pa1.1 && ccflags="$ccflags -L/lib/pa1.1" ;; esac - case "$ccisgcc" in "$define") ;; *) case "`getconf KERNEL_BITS 2>/dev/null`" in @@ -244,7 +245,10 @@ libswanted="$*" # ccdlflags="-Wl,-E -Wl,-B,immediate,-B,nonfatal $ccdlflags" ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags" -usemymalloc='y' +case "$usemymalloc" in +'') usemymalloc='y' ;; +esac + alignbytes=8 # For native nm, you need "-p" to produce BSD format output. nm_opt='-p' @@ -388,17 +392,20 @@ cat > UU/uselargefiles.cbu <<'EOCBU' case "$uselargefiles" in ''|$define|true|[yY]*) # there are largefile flags available via getconf(1) - # but we cheat for now. - ccflags="$ccflags -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - - # The strict ANSI mode (-Aa) doesn't like large files. - case "$ccflags" in - -Aa*) - echo "(Changing from strict ANSI compilation to extended because of large files)" - ccflags=`echo $ccflags|sed 's@ -Aa @ -Ae @'` - ;; - *) ccflags="$ccflags -Ae" ;; - esac + # but we cheat for now. (Keep that in the left margin.) +ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + + ccflags="$ccflags $ccflags_uselargefiles" + + if test -z "$ccisgcc" -a -z "$gccversion"; then + # The strict ANSI mode (-Aa) doesn't like large files. + ccflags=`echo " $ccflags "|sed 's@ -Aa @ @g'` + case "$ccflags" in + *-Ae*) ;; + *) ccflags="$ccflags -Ae" ;; + esac + fi + ;; esac EOCBU