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.
#
# 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
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
fi
fi
-# Check to see if the selected compiler and linker
-# support the -z ignore, -z lazyload and -z combreloc flags.
-echo "int main() { return(0); } " > try.c
- zflgs=''
-for zf in ignore lazyload combreloc; do
- if ${cc:-cc} -o try try.c -z $zf > /dev/null 2>&1; then
- zflgs="$zflgs -z $zf"
- fi
-done
-if test -n "$zflgs"; then
- ccdlflags="$ccdlflags $zflgs"
- lddlflags="$lddlflags -G $zflgs"
-fi
-
# as --version or ld --version might dump core.
rm -f try try.c core
EOCBU
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)
# 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 <sunmath.h>
int main() { (void) powl(2, 256); return(0); }