From: Jarkko Hietaniemi Date: Wed, 16 Feb 2000 22:29:11 +0000 (+0000) Subject: HP-UX 64-bitness/largefile fixes. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bf0c440fce1b379160a009c06867702b38dd9366;p=p5sagit%2Fp5-mst-13.2.git HP-UX 64-bitness/largefile fixes. p4raw-id: //depot/cfgperl@5119 --- diff --git a/Configure b/Configure index 28d19d6..fedea43 100755 --- a/Configure +++ b/Configure @@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Wed Feb 16 01:07:15 EET 2000 [metaconfig 3.0 PL70] +# Generated on Wed Feb 16 22:28:06 EET 2000 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.com) cat >/tmp/c1$$ <config.h -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un- #define PERL_XS_APIVERSION "$xs_apiversion" #define PERL_PM_APIVERSION "$pm_apiversion" +/* I_SYSMODE: + * This symbol, if defined, indicates that exists and + * should be included. + */ +#$i_sysmode I_SYSMODE /**/ + /* I_SYS_UTSNAME: * This symbol, if defined, indicates that exists and * should be included. diff --git a/ext/SDBM_File/sdbm/sdbm.c b/ext/SDBM_File/sdbm/sdbm.c index f58f448..64c75cb 100644 --- a/ext/SDBM_File/sdbm/sdbm.c +++ b/ext/SDBM_File/sdbm/sdbm.c @@ -39,7 +39,7 @@ extern int errno; extern Malloc_t malloc proto((MEM_SIZE)); extern Free_t free proto((Malloc_t)); -extern Off_t lseek(int, Off_t, int); + #endif /* diff --git a/hints/hpux.sh b/hints/hpux.sh index 467ceb9..a03eed6 100644 --- a/hints/hpux.sh +++ b/hints/hpux.sh @@ -101,11 +101,14 @@ 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 +# Backward compatibility (uselonglong is deprecated). +case "$uselonglolong" in +"$define"|true|[yY]*) + case "$use64bits" in + '') use64bits="$define" ;; + esac + ;; +esac # Determine the architecture type of this system. # Keep leading tab below -- Configure Black Magic -- RAM, 03/02/97 @@ -139,6 +142,68 @@ else selecttype='int *' fi +case "$use64bits" in +$define|true|[yY]*) + if [ "$xxOsRevMajor" -lt 11 ]; then + cat <&4 + +64-bit compilation is not supported on HP-UX $xxOsRevMajor. +You need at least HP-UX 11.0. +Cannot continue, aborting. + +EOM + exit 1 + fi + + # Without the 64-bit libc we cannot do much. + if [ ! -f /lib/pa20_64/libc.sl ]; then + cat <&4 + +You do not seem to have the 64-bit libraries in /lib/pa20_64. +Most importantly, I cannot find /lib/pa20_64/libc.sl. +Cannot continue, aborting. + +EOM + exit 1 + fi + + ccflags="$ccflags +DD64" + ldflags="$ldflags +DD64" + loclibpth="$loclibpth /lib/pa20_64" + libscheck='case "`file $xxx`" in +*LP64*|*PA-RISC2.0*) ;; +*) xxx=/no/64-bit$xxx ;; +esac' + ld=/usr/bin/ld + ar=/usr/bin/ar + full_ar=$ar + + # The strict ANSI mode (-Aa) doesn't like the LL suffixes. + case "$ccflags" in + *-Aa*) + echo "(Changing from strict ANSI compilation to extended because of 64-bitness)" + ccflags=`echo $ccflags|sed 's@ -Aa @ -Ae @'` + ;; + esac + + set `echo " $libswanted " | sed -e 's@ dl @ @'` + libswanted="$*" + + case "`$cc -v 2>&1`" in + *gcc*) ccflags="$ccflags -L/lib/pa20_64" ;; + esac + ;; +*) loclibpth="$loclibpth /lib/pa1.1" + case "`$cc -v 2>&1`" in + *gcc*) ccflags="$ccflags -L/lib/pa20_64" ;; + esac + ;; +esac + +case "`getconf KERNEL_BITS 2>/dev/null`" in +*64*) ldflags="$ldflags -Wl,+vnocompatwarnings" ;; +esac + # Remove bad libraries that will cause problems # (This doesn't remove libraries that don't actually exist) # -lld is unneeded (and I can't figure out what it's used for anyway) @@ -289,69 +354,6 @@ EOM esac EOCBU -# This script UU/use64bits.cbu will get 'called-back' by Configure -# after it has prompted the user for whether to use 64 bits. -cat > UU/use64bits.cbu <<'EOCBU' -case "$use64bits" in -$define|true|[yY]*) - if [ "$xxOsRevMajor" -lt 11 ]; then - cat <&4 - -64-bit compilation is not supported on HP-UX $xxOsRevMajor. -You need at least HP-UX 11.0. -Cannot continue, aborting. - -EOM - exit 1 - fi - - # Without the 64-bit libc we cannot do much. - if [ ! -f /lib/pa20_64/libc.sl ]; then - cat <&4 - -You do not seem to have the 64-bit libraries in /lib/pa20_64. -Most importantly, I cannot find /lib/pa20_64/libc.sl. -Cannot continue, aborting. - -EOM - exit 1 - fi - - ld=/usr/bin/ld - ar=/usr/bin/ar - full_ar=$ar - - # The strict ANSI mode (-Aa) doesn't like the LL suffixes. - case "$ccflags" in - *-Aa*) - echo "(Changing from strict ANSI compilation to extended because of 64-bitness)" - ccflags=`echo $ccflags|sed 's@ -Aa @ -Ae @'` - ;; - esac - - set `echo " $libswanted " | sed -e 's@ dl @ @'` - libswanted="$*" - - ;; -esac -EOCBU - -case "$use64bits" in -$define|true|[yY]*) - glibpth="`echo $glibpth|sed 's: /lib/pa1.1 : /lib/pa20_64 :'`" - ccflags="$ccflags +DD64" - ldflags="$ldflags +DD64" - libscheck='case "`file $xxx`" in -*LP64*|*PA-RISC2.0*) ;; -*) xxx=/no/64-bit$xxx ;; -esac' - ;; -esac - -case "`getconf KERNEL_BITS 2>/dev/null`" in -*64*) ldflags="$ldflags -Wl,+vnocompatwarnings" ;; -esac - # This script UU/uselfs.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use 64 bits. cat > UU/uselfs.cbu <<'EOCBU' diff --git a/perl.h b/perl.h index d2e80fa..532afd0 100644 --- a/perl.h +++ b/perl.h @@ -2083,9 +2083,9 @@ char *crypt (const char*, const char*); # ifndef getenv char *getenv (const char*); # endif /* !getenv */ -#if !defined(EPOC) && !(defined(__hpux) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) +# if !defined(EPOC) && !(defined(__hpux) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) Off_t lseek (int,Off_t,int); -#endif +# endif # endif /* !DONT_DECLARE_STD */ char *getlogin (void); #endif /* !__cplusplus */