1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

r9052: Support lex/yacc compilers without support for -o

(This used to be commit e641d3a847)
This commit is contained in:
Jelmer Vernooij 2005-08-04 05:23:07 +00:00 committed by Gerald (Jerry) Carter
parent 4b8733c245
commit 586838c306
3 changed files with 53 additions and 2 deletions

View File

@ -180,7 +180,9 @@ valgrindtest: all
./script/tests/selftest.sh ${selftest_prefix}/st quick SOCKET_WRAPPER
.y.c:
$(YACC) -d -o $@ $<
@echo "Building $< with $(YACC)"
@-$(srcdir)/script/yacc_compile.sh "$(YACC)" "$<" "$@"
.l.c:
$(LEX) -o $@ $<
@echo "Building $< with $(LEX)"
@-$(srcdir)/script/lex_compile.sh "$(LEX)" "$<" "$@"

24
source4/script/lex_compile.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/sh
LEX="$1"
SRC="$2"
DEST="$3"
dir=`dirname $SRC`
file=`basename $SRC`
base=`basename $SRC .l`
if [ -z "$LEX" ]; then
echo "lex not found - not regenerating $DEST"
return;
fi
if [ -r $DEST ]; then
if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then
return;
fi
fi
TOP=`pwd`
if cd $dir && $LEX $file; then
sed '/^#/ s|$base.yy\.c|$DEST|' $base.yy.c > $base.c
rm -f $base.yy.c
fi
cd $TOP

25
source4/script/yacc_compile.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/sh
YACC="$1"
SRC="$2"
DEST="$3"
dir=`dirname $SRC`
file=`basename $SRC`
base=`basename $SRC .y`
if [ -z "$YACC" ]; then
echo "yacc not found"
return;
fi
if [ -r $DEST ]; then
if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then
return;
fi
fi
TOP=`pwd`
if cd $dir && $YACC -d $file; then
sed -e "/^#/!b" -e "s|y\.tab\.h|$base.h|" y.tab.h > $base.h
sed '/^#/ s|y\.tab\.c|$base.c|' y.tab.c > $base.c
rm -f y.tab.c y.tab.h
fi
cd $TOP