diff options
author | Andy Dougherty <doughera@lafayette.edu> | 1998-05-28 09:27:25 -0400 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1998-05-28 17:59:18 +0000 |
commit | bd89102fe7784367e3eeddc7cefae29defae903a (patch) | |
tree | 79cc385dded6a269bf4f938ac1be5a70c7e644f4 /hints | |
parent | 1d26b16b4a5b44b9f5893c8b4c8ce90d163883e5 (diff) | |
download | perl-bd89102fe7784367e3eeddc7cefae29defae903a.tar.gz |
[PATCH 5.004_65] Config_65-02-03.diff: SunOS and Solaris hints
Date: Thu, 28 May 1998 13:27:25 -0400 (EDT)
Subject: [PATCH 5.004_65] Config_65-03-04.diff: semctl probing
Date: Thu, 28 May 1998 13:28:21 -0400 (EDT)
p4raw-id: //depot/perl@1047
Diffstat (limited to 'hints')
-rw-r--r-- | hints/solaris_2.sh | 64 | ||||
-rw-r--r-- | hints/sunos_4_1.sh | 6 |
2 files changed, 39 insertions, 31 deletions
diff --git a/hints/solaris_2.sh b/hints/solaris_2.sh index 744b131fad..9a1ccb9027 100644 --- a/hints/solaris_2.sh +++ b/hints/solaris_2.sh @@ -1,5 +1,5 @@ # hints/solaris_2.sh -# Last modified: Thu Feb 8 11:38:12 EST 1996 +# Last modified: Wed May 27 13:04:45 EDT 1998 # Andy Dougherty <doughera@lafcol.lafayette.edu> # Based on input from lots of folks, especially # Dean Roehrich <roehrich@ironwood-fddi.cray.com> @@ -53,11 +53,12 @@ esac # Here's another draft of the perl5/solaris/gcc sanity-checker. -case $PATH in -*/usr/ucb*:/usr/bin:*|*/usr/ucb*:/usr/bin) cat <<END >&4 +case `type ${cc:-cc}` in +*/usr/ucb/cc*) cat <<END >&4 NOTE: Some people have reported problems with /usr/ucb/cc. -Remove /usr/ucb from your PATH if you have difficulties. +If you have difficulties, please make sure the directory +containing your C compiler is before /usr/ucb in your PATH. END ;; @@ -95,13 +96,22 @@ END ;; esac +# Use shell built-in 'type' command instead of /usr/bin/which to +# avoid possible csh start-up problems and also to use the same shell +# we'll be using to Configure and make perl. +# 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 +# foo not found +# use a command like type make | awk '{print $NF}' | sed 's/[()]//g' # See if make(1) is GNU make(1). # If it is, make sure the setgid bit is not set. make -v > make.vers 2>&1 if grep GNU make.vers > /dev/null 2>&1; then - tmp=`/usr/bin/which make` - case "`/usr/bin/ls -l $tmp`" in + tmp=`type make | awk '{print $NF}' | sed 's/[()]//g'` + case "`/usr/bin/ls -lL $tmp`" in ??????s*) cat <<END >&2 @@ -123,17 +133,17 @@ cat > UU/cc.cbu <<'EOSH' # If the C compiler is gcc: # - check the fixed-includes # - check as(1) and ld(1), they should not be GNU -# (GNU ad and ld 2.8.1 and later are reportedly ok, however.) +# (GNU as and ld 2.8.1 and later are reportedly ok, however.) # If the C compiler is not gcc: # - check as(1) and ld(1), they should not be GNU -# (GNU ad and ld 2.8.1 and later are reportedly ok, however.) +# (GNU as and ld 2.8.1 and later are reportedly ok, however.) # # Watch out in case they have not set $cc. # Get gcc to share its secrets. echo 'main() { return 0; }' > try.c -verbose=`${cc:-cc} -v -o try try.c 2>&1` -rm -f try try.c + # Indent to avoid propagation to config.sh + verbose=`${cc:-cc} -v -o try try.c 2>&1` if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then # @@ -154,24 +164,24 @@ if echo "$verbose" | grep '^Reading specs from' >/dev/null 2>&1; then cat <<END >&2 NOTE: You are using GNU as(1). GNU as(1) will not build Perl. -I'm arranging to use /usr/ccs/bin/as by setting including --B/usr/ccs/bin/ in your ${cc:-cc} command. -(Note that the trailing "/" is required.) +I'm arranging to use /usr/ccs/bin/as by including -B/usr/ccs/bin/ +in your ${cc:-cc} command. (Note that the trailing "/" is required.) END cc="${cc:-cc} -B/usr/ccs/bin/" fi # See if ld(1) is GNU ld(1). GNU ld(1) won't work for this job. - if echo "$verbose" | grep ' /usr/ccs/bin/as ' >/dev/null 2>&1; then + # Recompute $verbose since we may have just changed $cc. + verbose=`${cc:-cc} -v -o try try.c 2>&1` + if echo "$verbose" | grep ' /usr/ccs/bin/ld ' >/dev/null 2>&1; then : else cat <<END >&2 -NOTE: You are using GNU as(1). GNU as(1) will not build Perl. -I'm arranging to use /usr/ccs/bin/as by setting including --B/usr/ccs/bin/ in your ${cc:-cc} command. -(Note that the trailing "/" is required.) +NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. +I'm arranging to use /usr/ccs/bin/ld by including -B/usr/ccs/bin/ +in your ${cc:-cc} command. (Note that the trailing "/" is required.) END cc="${cc:-cc} -B/usr/ccs/bin/" @@ -189,8 +199,8 @@ else cat <<END >&2 NOTE: You are using GNU as(1). GNU as(1) will not build Perl. -You must arrange to use /usr/ccs/bin, perhaps by adding it to the -beginning of your PATH. +You must arrange to use /usr/ccs/bin/as, perhaps by adding /usr/ccs/bin +to the beginning of your PATH. END ;; @@ -207,19 +217,18 @@ END esac if $gnu_ld ; then : else - case `which ld` in - no\ ld\ in*|[Cc]ommand\ not\ found*) - ;; - /*gnu*/ld|/*GNU*/ld) + # Try to guess from path + case `type ld | awk '{print $NF}'` in + *gnu*|*GNU*|*FSF*) gnu_ld=true ;; esac fi if $gnu_ld ; then cat <<END >&2 -NOTE: You are using GNU ld(1). GNU ld(1) will not build Perl. -You must arrange to use /usr/ccs/bin, perhaps by adding it to the -beginning of your PATH. +NOTE: You are apparently using GNU ld(1). GNU ld(1) will not build Perl. +You must arrange to use /usr/ccs/bin/ld, perhaps by adding /usr/ccs/bin +to the beginning of your PATH. END fi @@ -227,6 +236,7 @@ END fi # as --version or ld --version might dump core. +rm -f try try.c rm -f core # XXX diff --git a/hints/sunos_4_1.sh b/hints/sunos_4_1.sh index 9f342d100b..4585d793d7 100644 --- a/hints/sunos_4_1.sh +++ b/hints/sunos_4_1.sh @@ -1,5 +1,5 @@ # hints/sunos_4_1.sh -# Last modified: Thu Feb 8 11:46:05 EST 1996 +# Last modified: Wed May 27 11:00:02 EDT 1998 # Andy Dougherty <doughera@lafcol.lafayette.edu> case "$cc" in @@ -25,9 +25,7 @@ d_tzname='undef' # The gcc fix-includes script exposes those incorrect prototypes. # There may be other examples as well. Volunteers are welcome to # track them all down :-). In the meantime, we'll just skip unistd.h -# for SunOS in most of the code. The POSIX extension is built with -# unistd.h because, even though unistd.h has problems, if used with -# care, it helps create a better POSIX extension. +# for SunOS in most of the code. (However, see ext/POSIX/hints/sunos_4.pl.) i_unistd='undef' cat << 'EOM' >&4 |