From: Jarkko Hietaniemi Date: Fri, 9 Feb 2001 16:46:54 +0000 (+0000) Subject: Integrate changes #8687,8736 from maintperl. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c7d9b0963c05530262614fc3d2388e2658739e34;p=p5sagit%2Fp5-mst-13.2.git Integrate changes #8687,8736 from maintperl. HP-UX thread patches from Merijn H. Brand. Latin nit from Philip Newton. p4raw-link: @8736 on //depot/maint-5.6/perl: 46c0e3f74b24cd7d4cacf5a7af8403364b68a206 p4raw-link: @8687 on //depot/maint-5.6/perl: 55551d482634089ae7d12e15564ce5358a4701f4 p4raw-id: //depot/perl@8737 p4raw-integrated: from //depot/maint-5.6/perl@8735 'copy in' hints/hpux.sh (@8609..) README.hpux (@8687..) --- diff --git a/README.hpux b/README.hpux index e850441..7d01983 100644 --- a/README.hpux +++ b/README.hpux @@ -185,8 +185,8 @@ cannot be compiled, or that does not function as expected. =head2 Threaded Perl -It is impossible to compile a version of threaded Perl on any version of -HP-UX before 10.30, and it is strongly suggested that you be running on +It is possible to compile a version of threaded Perl on any version of +HP-UX before 10.30, but it is strongly suggested that you be running on HP-UX 11.00 at least. To compile Perl with threads, add -Dusethreads to the arguments of @@ -197,6 +197,13 @@ is listed before -lc in the list of libraries to link Perl with. As of the date of this document, Perl threads are not fully supported on HP-UX. +HP-UX versions before 10.30 require a seperate installation of a POSIX +threads library package. Two examples are the HP DCE package, available +on "HP-UX Hardware Extensions 3.0, Install and Core OS, Release 10.20, +April 1999 (B3920-13941)" or the Freely available PTH package, available +though worldwide HP-UX mirrors of precompiled packages +(e.g. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html) + =head2 64-bit Perl Beginning with HP-UX 11.00, programs compiled under HP-UX can take @@ -268,6 +275,6 @@ With much assistance regarding shared libraries from Marc Sabatella. =head1 DATE -Version 0.6.1: 2000/06/20 +Version 0.6.2: 2001-02-02 =cut diff --git a/hints/hpux.sh b/hints/hpux.sh index ddcb62f..1d59600 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -23,6 +23,11 @@ # HP-UX 10 pthreads hints: Matthew T Harden # From: Dominic Dunlop # Abort and offer advice if bundled (non-ANSI) C compiler selected +# From: H.Merijn Brand +# ccversion detection +# perl/64/HP-UX wants libdb-3.0 to be shared ELF 64 +# generic pthread support detection for PTH package + # This version: March 8, 2000 # Current maintainer: Jeff Okamoto @@ -334,31 +339,50 @@ EOM fi case "$xxOsRevMajor" in 10) - # 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 [ ! -f /usr/include/pthread.h -o ! -f /usr/lib/libcma.sl ]; then + # Under 10.X, a threaded perl can be built + if [ -f /usr/include/pthread.h ]; then + if [ -f /usr/lib/libcma.sl ]; then + # DCE (from Core OS CD) is installed + + # It needs # libcma and OLD_PTHREADS_API. Also + # needs to be #included before any other includes + # (in perl.h) + + # HP-UX 10.X uses the old pthreads API + d_oldpthreads="$define" + + # 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 *' + + elif [ -f /usr/lib/libpthread.sl ]; then + # PTH package is installed + libswanted="pthread $libswanted" + else + libswanted="no_threads_available" + fi + else + libswanted="no_threads_available" + fi + + if [ $libswanted = "no_threads_available" ]; then cat <&4 In HP-UX 10.X for POSIX threads you need both of the files -/usr/include/pthread.h and /usr/lib/libcma.sl. -Either you must install the CMA package or you must upgrade to HP-UX 11. +/usr/include/pthread.h and either /usr/lib/libcma.sl or /usr/lib/libpthread.sl. +Either you must upgrade to HP-UX 11 or install a posix thread library: + DCE-CoreTools from HP-UX 10.20 Hardware Extensions 3.0 CD (B3920-13941) or + PTH package from i.e. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html Cannot continue, aborting. EOM exit 1 - fi - - # HP-UX 10.X uses the old pthreads API - d_oldpthreads="$define" - - # include libcma before all the others - libswanted="cma $libswanted" - - # tell perl.h to include before other include files - ccflags="$ccflags -DPTHREAD_H_FIRST" + fi - # CMA redefines select to cma_select, and cma_select expects int * - # instead of fd_set * (just like 9.X) - selecttype='int *' ;; 11 | 12) # 12 may want upping the _POSIX_C_SOURCE datestamp... ccflags=" -D_POSIX_C_SOURCE=199506L $ccflags"