X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fhpux.sh;h=d1fbb3a4806346a173313d1e7c8bc23b50a7bf04;hb=9ad0a0f606dfe6bb2ec67942ae23eef93c8ce770;hp=973631c2279ec3a93b5e0bf89ba4aef9e5c91ce3;hpb=a28b458ac6445fb6d53a53bab0f347e9b6860ec9;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/hpux.sh b/hints/hpux.sh index 973631c..d1fbb3a 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -1,7 +1,7 @@ #! /bin/sh # hints/hpux.sh -# Perl Configure hints file for Hewlett Packard HP-UX 9.x and 10.x +# Perl Configure hints file for Hewlett-Packard's HP-UX 9.x and 10.x # (Hopefully, 7.x through 11.x.) # # This file is based on hints/hpux_9.sh, Perl Configure hints file for @@ -21,7 +21,7 @@ # Don't assume every OS != 10 is < 10, (e.g., 11). # From: Chuck Phillips -# This version: April 27, 1997 +# This version: August 15, 1997 # Current maintainer: Jeff Okamoto #-------------------------------------------------------------------- @@ -43,8 +43,10 @@ # "ext.libs" file which is *probably* messing up the order. Often, # you can replace ext.libs with an empty file to fix the problem. # -# If you get a message about "too much defining", you might have to -# add the following to your ccflags: '-Wp,-H256000' +# If you get a message about "too much defining", as may happen +# in HPUX < 10, you might have to append a single entry to your +# ccflags: '-Wp,-H256000' +# NOTE: This is a single entry (-W takes the argument 'p,-H256000'). #-------------------------------------------------------------------- # Turn on the _HPUX_SOURCE flag to get many of the HP add-ons @@ -60,10 +62,6 @@ # reading from a NULL pointer causes a SEGV. ccflags="$ccflags -D_HPUX_SOURCE" -# If you plan to use gcc, then you should uncomment the following line -# so you get the HP math library and not the GCC math library. -# ccflags="$ccflags -L/lib/pa1.1" - # Check if you're using the bundled C compiler. This compiler doesn't support # ANSI C (the -Aa flag) nor can it produce shared libraries. Thus we have # to turn off dynamic loading. @@ -82,6 +80,16 @@ EOM esac else ccflags="$ccflags -Aa" # The add-on compiler supports ANSI C + # cppstdin and cpprun need the -Aa option if you use the unbundled + # ANSI C compiler (*not* the bundled K&R compiler or gcc) + # [XXX this should be set automatically by Configure, but isn't yet.] + # [XXX This is reported not to work. You may have to edit config.sh. + # After running Configure, set cpprun and cppstdin in config.sh, + # run "Configure -S" and then "make".] + cpprun="${cc:-cc} -E -Aa" + cppstdin="$cpprun" + 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". @@ -92,6 +100,12 @@ EOM ;; esac +# Even if you use gcc, prefer the HP math library over the GNU one. + +case "`$cc -v 2>&1`" in +"*gcc*" ) test -d /lib/pa1.1 && ccflags="$ccflags -L/lib/pa1.1" ;; +esac + # Determine the architecture type of this system. # Keep leading tab below -- Configure Black Magic -- RAM, 03/02/97 xxOsRevMajor=`uname -r | sed -e 's/^[^0-9]*//' | cut -d. -f1`; @@ -121,6 +135,28 @@ else # ASSUMPTION: Only CPU identifiers contain no lowercase letters. archname=`getcontext | tr ' ' '\012' | grep -v '[a-z]' | grep -v MC688 | sed -e 's/HP-//' -e 1q`; + selecttype='int *' +fi + +# Under 10.X, a threaded perl can be built, but it needs +# libcma and OLD_PTHREADS_API. Also needs to +# be #included before any other includes (in perl.h) +if [ "$xxOsRevMajor" -eq 10 -a "X$usethreads" = "X$define" ]; then + + # HP-UX 10.X uses the old pthreads API + case "$d_oldpthreads" in + '') d_oldpthreads="$define" ;; + esac + + # include libcma before all the others + libswanted="cma $libswanted" + + # tell perl.h to include before other include files + ccflags="$ccflags -DPTHREAD_H_FIRST" + + # CMA redefines select to cma_select, and cma_select expects int * + # instead of fd_set * (just like 9.X) + selecttype='int *' fi @@ -151,7 +187,6 @@ ccdlflags="-Wl,-E -Wl,-B,deferred $ccdlflags" usemymalloc='y' alignbytes=8 -selecttype='int *' # For native nm, you need "-p" to produce BSD format output. nm_opt='-p' @@ -164,7 +199,12 @@ toke_cflags='ccflags="$ccflags -DARG_ZERO_IS_SCRIPT"' # Comment this out if you don't want to follow the SVR4 filesystem layout # that HP-UX 10.0 uses case "$prefix" in -'') prefix='/opt/perl5.003' ;; +'') prefix='/opt/perl5' ;; +esac + +# HP-UX can't do setuid emulation offered by Configure +case "$d_dosuid" in +'') d_dosuid="$undef" ;; esac # Date: Fri, 6 Sep 96 23:15:31 CDT