X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fhpux.sh;h=d1fbb3a4806346a173313d1e7c8bc23b50a7bf04;hb=9ad0a0f606dfe6bb2ec67942ae23eef93c8ce770;hp=c2500d0c3701702e9d7376cb4ba99a7e3542b48a;hpb=90248788f819cf7b59aabb5259fdd6d66bc4632b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/hpux.sh b/hints/hpux.sh index c2500d0..d1fbb3a 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -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`; @@ -124,6 +138,27 @@ else 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 + # Remove bad libraries that will cause problems # (This doesn't remove libraries that don't actually exist) @@ -167,6 +202,11 @@ case "$prefix" in '') 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 # From: "Daniel S. Lewart" # I looked through the gcc.info and found this: