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"
 |