diff options
Diffstat (limited to 'mcon/U/spitshell.U')
-rw-r--r-- | mcon/U/spitshell.U | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/mcon/U/spitshell.U b/mcon/U/spitshell.U new file mode 100644 index 0000000..f123fa5 --- /dev/null +++ b/mcon/U/spitshell.U @@ -0,0 +1,107 @@ +?RCS: $Id$ +?RCS: +?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic License, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic License; a copy of which may be found at the root +?RCS: of the source tree for dist 4.0. +?RCS: +?RCS: $Log: spitshell.U,v $ +?RCS: Revision 3.0.1.4 1997/02/28 16:22:12 ram +?RCS: patch61: removed useless chatter as this is now done very early +?RCS: +?RCS: Revision 3.0.1.3 1995/01/11 15:37:01 ram +?RCS: patch45: use 'test -f' instead of 'test -r' for exec-only cat progs (WED) +?RCS: patch45: protected "sh -c" within backquotes for Linux and SGI +?RCS: +?RCS: Revision 3.0.1.2 1994/08/29 16:33:00 ram +?RCS: patch32: don't create spitshell under the UU directory +?RCS: patch32: allow for cat in /bin or /usr/bin +?RCS: +?RCS: Revision 3.0.1.1 1993/09/13 16:12:58 ram +?RCS: patch10: made #!-failure message more friendly (WAD) +?RCS: +?RCS: Revision 3.0 1993/08/18 12:09:49 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?MAKE:spitshell shsharp sharpbang: eunicefix sh Head +?MAKE: -pick add $@ %< +?S:spitshell: +?S: This variable contains the command necessary to spit out a runnable +?S: shell on this system. It is either cat or a grep -v for # comments. +?S:. +?S:shsharp: +?S: This variable tells further Configure units whether your sh can +?S: handle # comments. +?S:. +?S:sharpbang: +?S: This variable contains the string #! if this system supports that +?S: construct. +?S:. +?F:!sharp +?T:xcat p +?X: "paths" comes from Head +?LINT:extern paths _exe +: see if sh knows # comments +?X: This is loaded up early, so avoid being chatty. +?X: echo " " +?X: echo "Checking your $sh to see if it knows about # comments..." >&2 +if `$sh -c '#' >/dev/null 2>&1`; then +?X: echo "Your $sh handles # comments correctly." + shsharp=true + spitshell=cat +?X: echo " " +?X: echo "Okay, let's see if #! works on this system..." + xcat=/bin/cat + test -f $xcat$_exe || xcat=/usr/bin/cat + if test ! -f $xcat$_exe; then + for p in `echo $PATH | sed -e "s/$p_/ /g"` $paths; do + if test -f $p/cat$_exe; then + xcat=$p/cat + break + fi + done + if test ! -f $xcat$_exe; then + echo "Can't find cat anywhere!" + exit 1 + fi + fi + echo "#!$xcat" >sharp + $eunicefix sharp + chmod +x sharp + ./sharp > today 2>/dev/null + if test -s today; then +?X: echo "It does." + sharpbang='#!' + else + echo "#! $xcat" > sharp + $eunicefix sharp + chmod +x sharp + ./sharp > today 2>/dev/null + if test -s today; then +?X: echo "It does." + sharpbang='#! ' + else +?X: echo "Okay, let's see if #! works on this system..." +?X: echo "It's just a comment." + sharpbang=': use ' + fi + fi +else + echo " " + echo "Your $sh doesn't grok # comments--I will strip them later on." + shsharp=false +?X: The spitshell script will be perused, so leave it out the UU directory + cd .. + echo "exec grep -v '^[ ]*#'" >spitshell + chmod +x spitshell + $eunicefix spitshell + spitshell=`pwd`/spitshell + cd UU + echo "I presume that if # doesn't work, #! won't work either!" + sharpbang=': use ' +fi +rm -f sharp today + |