RC1: Future-proof solaris 10 versioned solibs hint
Andy Dougherty [Tue, 20 Nov 2007 13:49:41 +0000 (08:49 -0500)]
Message-ID: <Pine.LNX.4.64.0711201346560.31844@fractal.phys.lafayette.edu>

p4raw-id: //depot/perl@32429

hints/solaris_2.sh

index 644c96d..be2af76 100644 (file)
@@ -42,12 +42,15 @@ esac
 set `echo $glibpth | sed -e 's@/usr/ucblib@@' -e 's@ /lib @ @'`
 glibpth="$*"
 
-# In Solaris 10, we don't want versioned shared libraries because those
-# often indicate a private use only library.  Especially badly that would
+# Starting with Solaris 10, we don't want versioned shared libraries because
+# those often indicate a private use only library.  Especially badly that would
 # break things with SUNWbdb (Berkeley DB) being installed, which brings in
 # /usr/lib/libdb.so.1, but that is not really meant for public consumption.
+#  XXX Revisit after perl 5.10 -- should we apply this to older Solaris
+# versions too?  (A.D. 11/2007).
 case "`uname -r`" in
-5.10) ignore_versioned_solibs=y ;;
+5.[0-9]) ;;
+*) ignore_versioned_solibs=y ;;
 esac
 
 # Remove unwanted libraries.  -lucb contains incompatible routines.
@@ -89,7 +92,7 @@ END
 case "$cc" in
 '')    if test -f /opt/SUNWspro/bin/cc; then
                cc=/opt/SUNWspro/bin/cc
-               cat <<EOF >&4   
+               cat <<EOF >&4
 
 You specified no cc but you seem to have the Workshop compiler
 ($cc) installed, using that.
@@ -161,7 +164,7 @@ esac
 # The path name is the last field in the output, but the type command
 # has an annoying array of possible outputs, e.g.:
 #      make is hashed (/opt/gnu/bin/make)
-#      cc is /usr/ucb/cc
+#      cc is /usr/ucb/cc
 #      foo not found
 # use a command like type make | awk '{print $NF}' | sed 's/[()]//g'
 
@@ -205,7 +208,7 @@ cat > UU/cc.cbu <<'EOCBU'
 # be able to perform dynamic loading of extensions.  If you have a
 # problem with dynamic loading, be sure that you are using the Solaris
 # /usr/ccs/bin/as and /usr/ccs/bin/ld.  You can do that with
-#              sh Configure -Dcc='gcc -B/usr/ccs/bin/'
+#      sh Configure -Dcc='gcc -B/usr/ccs/bin/'
 # (note the trailing slash is required).
 # Combinations that are known to work with the following hints:
 #
@@ -275,7 +278,7 @@ END
            # /full/path/to/ld will be the first word of the output.
            # Thus myld is something like /opt/gnu/sparc-sun-solaris2.5/bin/ld
 
-           # Allow that $myld may be '', due to changes in gcc's output 
+           # Allow that $myld may be '', due to changes in gcc's output
            if ${myld:-ld} -V 2>&1 |
                grep "ld: Software Generation Utilities" >/dev/null 2>&1; then
                # Ok, /usr/ccs/bin/ld eventually does get called.
@@ -490,7 +493,7 @@ EOM
 
 # gcc-2.8.1 on Solaris 8 with -Duse64bitint fails op/pat.t test 822
 # if we compile regexec.c with -O.  Turn off optimization for that one
-# file.  See hints/README.hints , especially 
+# file.  See hints/README.hints , especially
 # =head2 Propagating variables to config.sh, method 3.
 #  A. Dougherty  May 24, 2002
     case "${gccversion}-${optimize}" in
@@ -499,7 +502,7 @@ EOM
        case "$regexec_cflags" in
        '') echo "Disabling optimization on regexec.c for gcc $gccversion" >&4
            regexec_cflags='optimize='
-           echo "regexec_cflags='optimize=\"\"'" >> config.sh 
+           echo "regexec_cflags='optimize=\"\"'" >> config.sh
            ;;
        esac
        ;;
@@ -555,7 +558,7 @@ EOM
                if test "$processor" = sparc; then
                    loclibpth="/usr/lib/sparcv9 $loclibpth"
                    ccflags="$ccflags -mcpu=v9"
-               fi 
+               fi
                ccflags="$ccflags -m64"
 
                # This adds in -Wa,-xarch=v9.  I suspect that's superfluous,