X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fsolaris_2.sh;h=48fbbffff6a84e861fd48b6b9ed801db6836780a;hb=e10d0c8254dbe3d4b5c3b2ddb628e61762ab88b4;hp=b21c7a1e869af40658e1c03f50aa056828983420;hpb=e8e5d526ead5afadb48fbf7bcb46f1503c83f8d7;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index b21c7a1..48fbbff 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -45,19 +45,30 @@ case "$archname" in ;; esac -###################################################### -# General sanity testing. See below for excerpts from the Solaris FAQ. - -# From roehrich@ironwood-fddi.cray.com Wed Sep 27 12:51:46 1995 -# Date: Thu, 7 Sep 1995 16:31:40 -0500 -# From: Dean Roehrich -# To: perl5-porters@africa.nicoh.com -# Subject: Re: On perl5/solaris/gcc - -# Here's another draft of the perl5/solaris/gcc sanity-checker. - -test -z "`${cc:-cc} -V 2>/dev/null|grep -i workshop`" || ccisworkshop="$define" -test -z "`${cc:-cc} -v 2>/dev/null|grep -i gcc`" || ccisgcc="$define" +test -z "`${cc:-cc} -V 2>&1|grep -i workshop`" || ccisworkshop="$define" +test -z "`${cc:-cc} -v 2>&1|grep -i gcc`" || ccisgcc="$define" + +cat >UU/workshoplibpth.cbu<<'EOCBU' +case "$workshoplibpth_done" in +'') case "$use64bitall" in + "$define"|true|[yY]*) + loclibpth="$loclibpth /usr/lib/sparcv9" + if test -n "$workshoplibs"; then + loclibpth=`echo $loclibpth | sed -e "s% $workshoplibs%%" ` + for lib in $workshoplibs; do + # Logically, it should be sparcv9. + # But the reality fights back, it's v9. + loclibpth="$loclibpth $lib/sparcv9 $lib/v9" + done + fi + ;; + *) loclibpth="$loclibpth $workshoplibs" + ;; + esac + workshoplibpth_done="$define" + ;; +esac +EOCBU case "$ccisworkshop" in "$define") @@ -65,11 +76,22 @@ case "$ccisworkshop" in #include int main() { return(0); } EOF - workshoplibs=`cc -### try.c -lsunmath -o try 2>&1|grep " -Y "|sed 's%.* -Y "P,\(.*\)".*%\1%'|tr ':' '\n'|grep '/SUNWspro/'|sort -u` - loclibpth="$loclibpth $workshoplibs" + workshoplibs=`cc -### try.c -lsunmath -o try 2>&1|grep " -Y "|sed 's%.* -Y "P,\(.*\)".*%\1%'|tr ':' '\n'|grep '/SUNWspro/'` + . ./workshoplibpth.cbu ;; esac +###################################################### +# General sanity testing. See below for excerpts from the Solaris FAQ. +# +# From roehrich@ironwood-fddi.cray.com Wed Sep 27 12:51:46 1995 +# Date: Thu, 7 Sep 1995 16:31:40 -0500 +# From: Dean Roehrich +# To: perl5-porters@africa.nicoh.com +# Subject: Re: On perl5/solaris/gcc +# +# Here's another draft of the perl5/solaris/gcc sanity-checker. + case `type ${cc:-cc}` in */usr/ucb/cc*) cat <&4 @@ -380,8 +402,8 @@ EOCBU cat > UU/use64bitall.cbu <<'EOCBU' # This script UU/use64bitall.cbu will get 'called-back' by Configure # after it has prompted the user for whether to be maximally 64 bitty. -case "$use64bitall" in -"$define"|true|[yY]*) +case "$use64bitall-$use64bitall_done" in +"$define-"|true-|[yY]*-) libc='/usr/lib/sparcv9/libc.so' if test ! -f $libc; then cat >&4 </dev/null" in *gcc*) echo 'main() { return 0; }' > try.c @@ -427,12 +449,13 @@ EOM *64-bit*|*SPARCV9*) ;; *) xxx=/no/64-bit$xxx ;; esac' + use64bitall_done=yes ;; esac EOCBU # Actually, we want to run this already now, if so requested, -# because we need to fix up the flags right now. +# because we need to fix up things right now. case "$use64bitall" in "$define"|true|[yY]*) . ./UU/use64bitall.cbu @@ -442,24 +465,34 @@ esac cat > UU/uselongdouble.cbu <<'EOCBU' # This script UU/uselongdouble.cbu will get 'called-back' by Configure # after it has prompted the user for whether to use long doubles. -case "$uselongdouble" in -"$define"|true|[yY]*) +case "$uselongdouble-$uselongdouble_done" in +"$define-"|true-|[yY]*-) case "$ccisworkshop" in - '') - cat <&4 <