75 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
FL=succes
 | 
						|
TRIES=
 | 
						|
case X$# in
 | 
						|
X0)
 | 
						|
	if (.Xlex) > /dev/null 2>&1
 | 
						|
	then
 | 
						|
		TRY=`.Xlex`
 | 
						|
	else	TRY=-lln
 | 
						|
	fi
 | 
						|
	echo "trying to find your lex library ..."
 | 
						|
	cat > x.l <<'EOF'
 | 
						|
%%
 | 
						|
[A-Z]	putchar(yytext[0]+'a'-'A');
 | 
						|
EOF
 | 
						|
	if lex x.l > /dev/null 2>&1 && cc -c lex.yy.c > /dev/null 2>&1
 | 
						|
	then :
 | 
						|
	else echo "Sorry, your lex does not seem to work"
 | 
						|
	     exit 2
 | 
						|
	fi
 | 
						|
	cat > trylib <<'EOF'
 | 
						|
if cc lex.yy.o $1 > /dev/null 2>&1
 | 
						|
then
 | 
						|
	rm -f lex.yy.* a.out
 | 
						|
	exit 0
 | 
						|
else
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
EOF
 | 
						|
	if sh trylib $TRY
 | 
						|
	then
 | 
						|
		LEX=$TRY
 | 
						|
	else
 | 
						|
		exec $0 -ll $TRY
 | 
						|
	fi
 | 
						|
	;;
 | 
						|
*)	if sh trylib $1
 | 
						|
	then
 | 
						|
		LEX=$1
 | 
						|
	else
 | 
						|
		TRIES="$2 and $1"
 | 
						|
		FL=fail
 | 
						|
	fi
 | 
						|
	;;
 | 
						|
esac
 | 
						|
case X$FL in
 | 
						|
Xfail)	echo 'What option do I have to give to cc to get the LEX library?'
 | 
						|
	echo "I tried " $TRIES "but these don't seem to work."
 | 
						|
	echo -n 'LEX library option: '
 | 
						|
	if read ANSWER
 | 
						|
	then :
 | 
						|
	else echo "Sorry, got EOF while reading your answer"
 | 
						|
	     exit 9
 | 
						|
	fi
 | 
						|
	exec $0 $ANSWER "$TRIES"
 | 
						|
	;;
 | 
						|
Xsucces)
 | 
						|
	for i in ../util/opt ../util/cgg ../util/ncgg ../lang/occam/comp
 | 
						|
	do
 | 
						|
	    (	cd $i
 | 
						|
		cp Makefile makefile
 | 
						|
		ed - makefile << EOF
 | 
						|
/^LEXLIB/c
 | 
						|
LEXLIB = $LEX
 | 
						|
.
 | 
						|
w
 | 
						|
q
 | 
						|
EOF
 | 
						|
	    )
 | 
						|
	done
 | 
						|
	;;
 | 
						|
esac
 | 
						|
rm -f x.l trylib lex.yy.*
 | 
						|
echo echo "$LEX" > .Xlex
 | 
						|
chmod +x .Xlex
 | 
						|
echo "apparently, \"cc ... $LEX\" works"
 |