Fix up Linux hints for tcsh, and Configure patch
Andy Dougherty [Tue, 22 Apr 1997 15:02:27 +0000 (11:02 -0400)]
perl5.003_97[mumble,mumble] contained some hints to work around a csh bug
in some versions of Linux.

Unfortunately, that hint doesn't work for a variety of reasons.  If
anyone's really interested in the anatomy of a failed hint, I can oblige.
Or you can just trust me :-)

p5p-msgid: Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.edu
private-msgid: Pine.SOL.3.95q.970422101051.2506C-100000@fractal.lafayette.e

Configure
hints/linux.sh

index fbe1b31..64dd01c 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -6095,12 +6095,14 @@ eval $setvar
 : get csh whereabouts
 case "$csh" in
 'csh') val="$undef" ;;
-'tcsh')        val="$undef" ;;
 *)     val="$define" ;;
 esac
 set d_csh
 eval $setvar
-full_csh=$csh
+: Respect a hint or command line value for full_csh.
+case "$full_csh" in
+'') full_csh=$csh ;;
+esac
 
 : see if cuserid exists
 set cuserid d_cuserid
index 99ab9c8..6893ad8 100644 (file)
@@ -24,7 +24,6 @@ then
     d_dosuid='define'
 fi
 
-
 # perl goes into the /usr tree.  See the Filesystem Standard
 # available via anonymous FTP at tsx-11.mit.edu in
 # /pub/linux/docs/linux-standards/fsstnd.
@@ -175,16 +174,17 @@ fi
 
 if [  ! "`csh -c 'echo $version' 2>/dev/null`"  ] 
 then
-       echo 'Real csh found (might break); looking for tcsh ...'
-       if which tcsh >/dev/null 2>&1
-       then
-               echo 'Found tcsh; will use it for globbing.'
-               csh='tcsh'
-               d_csh='tcsh'
-               full_csh=`which tcsh` # we know this will work now.
-       else
-               echo "Couldn't find tcsh.  BEWARE BROKEN GLOBBING."
-       fi
+    echo 'Real csh found (might break); looking for tcsh ...'
+    # Use ../UU/loc to find tcsh.  (We run in the hints/ directory.)
+    if xxx=`../UU/loc tcsh blurfl $pth`; $test -f "$xxx"; then
+       echo "Found tcsh.  I'll use it for globbing."
+       # We can't change Configure's setting of $csh, due to the way
+       # Configure handles $d_portable and commands found in $loclist.
+       # We can set the value for CSH in config.h by setting full_csh.
+       full_csh=$xxx
+    else
+       echo "Couldn't find tcsh.  BEWARE:  GLOBBING MIGHT BE BROKEN."
+    fi
 else
-       echo 'Your csh is really tcsh.  Good.'
+    echo 'Your csh is really tcsh.  Good.'
 fi