X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=hints%2Fsolaris_2.sh;h=d1c1a063a4380045c2e4404360ff3b255e7fd8ac;hb=a9d9270b1989803b2cc2c5f6d551fe8565bcc2d0;hp=bc49daedb6e71fc8046db2f0d8eba2e6418a0ca3;hpb=5129fff43c4fe08cb17d8789b8a5c778039a25c3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index bc49dae..d1c1a06 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -24,7 +24,7 @@ d_suidsafe=${d_suidsafe:-define} # Be paranoid about nm failing to find symbols -mistrustnm=run +mistrustnm=${mistrustnm:-run} # Several people reported problems with perl's malloc, especially # when use64bitall is defined or when using gcc. @@ -210,7 +210,7 @@ if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then # # Using gcc. # - ccversion='gcc' + cc_name='gcc' # See if as(1) is GNU as(1). GNU as(1) might not work for this job. if echo "$verbose" | grep ' /usr/ccs/bin/as ' >/dev/null 2>&1; then @@ -294,9 +294,12 @@ return(0); EOM tryworkshopcc="${cc:-cc} try.c -o try" if $tryworkshopcc >/dev/null 2>&1; then - ccversion=`./try` - if test "$ccversion" = "workshop" -a ! "$use64bitall_done"; then - loclibpth="/usr/lib /usr/ccs/lib `$getworkshoplibs` $loclibpth" + cc_name=`./try` + if test "$cc_name" = "workshop"; then + ccversion="`${cc:-cc} -V 2>&1|sed -n -e '1s/^cc: //p'`" + if test ! "$use64bitall_done"; then + loclibpth="/usr/lib /usr/ccs/lib `$getworkshoplibs` $loclibpth" + fi fi fi @@ -330,6 +333,7 @@ to the beginning of your PATH. END fi fi + # as --version or ld --version might dump core. rm -f try try.c core EOCBU @@ -341,12 +345,8 @@ case "$usethreads" in $define|true|[yY]*) ccflags="-D_REENTRANT $ccflags" - # sched_yield is in -lposix4 up to Solaris 2.6, in -lrt starting with Solaris 2.7 - case `uname -r` in - 5.[0-6] | 5.5.1) sched_yield_lib="posix4" ;; - *) sched_yield_lib="rt"; - esac - set `echo X "$libswanted "| sed -e "s/ c / $sched_yield_lib pthread c /"` + sched_yield='yield' + set `echo X "$libswanted "| sed -e "s/ c / pthread c /"` shift libswanted="$*" @@ -448,15 +448,12 @@ EOM exit 1 ;; esac - ;; -esac + # 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 # =head2 Propagating variables to config.sh, method 3. # A. Dougherty May 24, 2002 -case "$use64bitint" in -"$define") case "${gccversion}-${optimize}" in 2.8*-O*) # Honor a command-line override (rather unlikely) @@ -496,7 +493,7 @@ Cannot continue, aborting. EOM exit 1 fi - case "$cc -v 2>/dev/null" in + case "${cc:-cc} -v 2>/dev/null" in *gcc*) echo 'int main() { return 0; }' > try.c case "`${cc:-cc} -mcpu=v9 -m64 -S try.c 2>&1 | grep 'm64 is not supported by this configuration'`" in @@ -556,12 +553,12 @@ cat > UU/uselongdouble.cbu <<'EOCBU' # after it has prompted the user for whether to use long doubles. case "$uselongdouble" in "$define"|true|[yY]*) - if test "$ccversion" = "workshop"; then + if test "$cc_name" = "workshop"; then cat > try.c << 'EOM' #include int main() { (void) powl(2, 256); return(0); } EOM - if cc try.c -lsunmath -o try > /dev/null 2>&1 && ./try; then + if ${cc:-cc} try.c -lsunmath -o try > /dev/null 2>&1 && ./try; then libswanted="$libswanted sunmath" fi else