X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fsolaris_2.sh;h=203257bee36409d4203ec8df254857224d0931b3;hb=f556e5b971932902a6d49815d5094657f50eb262;hp=236db7d1b555c7b9daee671a3013cd0eed7739f2;hpb=4d41e7f16b9d3c3cdb7b4c117e6d6391d3b5f24c;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index 236db7d..203257b 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -285,19 +285,6 @@ rm -f core # XXX EOSH -# Damon.Atkins@nabaus.com.au 19-Mar-1999 -# Large Files Support -if [ -x /usr/bin/getconf ] ; then - ccflags="$ccflags `/usr/bin/getconf LFS_CFLAGS`" - [ "X${ccflags}" = "X " ] && ccflags='' - ldflags="$ldflags `/usr/bin/getconf LFS_LDFLAGS`" - [ "X${ldflags}" = "X " ] && ldflags='' - libswanted="$libswanted `/usr/bin/getconf LFS_LIBS`" - [ "X${libswanted}" = "X " ] && libswanted='' - lintflags="$lintflags `/usr/bin/getconf LFS_LINTFLAGS`" - [ "X${lintflags}" = "X " ] && lintflags='' -fi - # This script UU/usethreads.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use threads. cat > UU/usethreads.cbu <<'EOCBU' @@ -346,29 +333,43 @@ EOM esac EOCBU -# This script UU/use64bits.cbu will get 'called-back' by Configure +case "$uselargefiles" in +''|$define|true|[yY]*) + ccflags="$ccflags `getconf LFS_CFLAGS 2>/dev/null`" + ldflags="$ldflags `getconf LFS_LDFLAGS 2>/dev/null`" + libswanted="$libswanted `getconf LFS_LIBS 2>/dev/null|sed -e 's@^-l@@' -e 's@ -l@ @g`" + ;; +esac + +# This script UU/use64bitint.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 +cat > UU/use64bitint.cbu <<'EOCBU' +case "$use64bitint" in $define|true|[yY]*) case "`uname -r`" in - 2.[1-5]) + 2.[1-6]) cat >&4 < /dev/null <<'End_of_Solaris_Notes' @@ -500,5 +501,51 @@ Date: 25 Jul 1995 12:20:18 GMT Perl 5 compiled out of the box. +7.0) 64-bitness, from Alan Burlison (added by jhi 2000-02-21) + + You need a machine running Solaris 2.7 or above. + + Here's some rules: + + 1. Solaris 2.7 and above will run in either 32 bit or 64 bit mode, + via a reboot. + 2. You can build 64 bit apps whilst running 32 bit mode and vice-versa. + 3. 32 bit apps will run under Solaris running in either 32 or 64 bit mode. + 4. 64 bit apps require Solaris to be running 64 bit mode + 5. It is possible to select the appropriate 32 or 64 bit version of an + app at run-time using isaexec(3). + 6. You can detect the OS mode using "isainfo -v", e.g. + fubar$ isainfo -v # Ultra 30 in 64 bit mode + 64-bit sparcv9 applications + 32-bit sparc applications + 7. To compile 64 bit you need to use the flag "-xarch=v9". + getconf(1) will tell you this, e.g. + fubar$ getconf -a | grep v9 + XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_CFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LDFLAGS: -xarch=v9 + _XBS5_LP64_OFF64_LINTFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_CFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LDFLAGS: -xarch=v9 + _XBS5_LPBIG_OFFBIG_LINTFLAGS: -xarch=v9 + + > > Now, what should we do, then? Should -Duse64bits in a v9 box cause + > > Perl to compiled in v9 mode? Or should we for compatibility stick + > > with 32 bit builds and let the people in the know to add the -xarch=v9 + > > to ccflags (and ldflags?)? + + > I think the second (explicit) mechanism should be the default. Unless + > you want to allocate more than ~ 4Gb of memory inside Perl, you don't + > need Perl to be a 64-bit app. Put it this way, on a machine running + > Solaris 8, there are 463 executables under /usr/bin, but only 15 of + > those require 64 bit versions - mainly because they invade the kernel + > address space, e.g. adb, kgmon etc. Certainly we don't recommend users + > to build 64 bit apps unless they need the address space. + End_of_Solaris_Notes