mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
r8449: - search for lex and yacc properly
- added target specific flags to get the #include order right for com_err and asn1 files in heimdal
This commit is contained in:
parent
7a88a9f06c
commit
c721c8ca38
@ -1,2 +1,4 @@
|
||||
heimdal -Iheimdal_build -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include -DNO_PRINTF_ATTRIBUTE
|
||||
heimdal/lib/com_err -Iheimdal_build -Iheimdal/lib/com_err -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include -DNO_PRINTF_ATTRIBUTE
|
||||
heimdal/lib/asn1 -Iheimdal_build -Iheimdal/lib/asn1 -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include -DNO_PRINTF_ATTRIBUTE
|
||||
heimdal_build/replace.o -Iheimdal_build -Iheimdal/lib/roken
|
||||
|
@ -3,15 +3,14 @@
|
||||
# build generated asn1, et and flex files in heimdal/ tree
|
||||
# tridge@samba.org, June 2005
|
||||
|
||||
CC=shift
|
||||
CC="$1"
|
||||
LEX="$2"
|
||||
YACC="$3"
|
||||
|
||||
TOP=`pwd`
|
||||
ASN1_COMPILE=$TOP/bin/asn1_compile
|
||||
ET_COMPILE=$TOP/bin/compile_et
|
||||
|
||||
# we need to substitute these correctly based on configure output
|
||||
FLEX=flex
|
||||
BISON=bison
|
||||
|
||||
build_asn1() {
|
||||
f=$1
|
||||
name=$2
|
||||
@ -41,31 +40,39 @@ build_lex() {
|
||||
dir=`dirname $f`
|
||||
file=`basename $f`
|
||||
base=`basename $f .l`
|
||||
if [ -z "$LEX" ]; then
|
||||
echo "lex not found"
|
||||
return;
|
||||
fi
|
||||
if [ -r $dir/$base.c ]; then
|
||||
if [ x`find $f -newer $dir/$base.c -print` != x$f ]; then
|
||||
return;
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo Building $f
|
||||
if cd $dir && $FLEX $file; then
|
||||
if cd $dir && $LEX $file; then
|
||||
sed '/^#/ s|$base.yy\.c|$base.c|' $base.yy.c > $base.c
|
||||
rm -f $base.yy.c
|
||||
fi
|
||||
cd $TOP || exit 1
|
||||
}
|
||||
|
||||
build_bison() {
|
||||
build_yacc() {
|
||||
f=$1
|
||||
dir=`dirname $f`
|
||||
file=`basename $f`
|
||||
base=`basename $f .y`
|
||||
if [ -z "$YACC" ]; then
|
||||
echo "yacc not found"
|
||||
return;
|
||||
fi
|
||||
if [ -r $dir/$base.c ]; then
|
||||
if [ x`find $f -newer $dir/$base.c -print` != x$f ]; then
|
||||
return;
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
echo Building $f
|
||||
if cd $dir && $BISON -y -d $file; then
|
||||
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
|
||||
@ -88,8 +95,8 @@ build_cp heimdal/lib/roken/vis.hin
|
||||
build_cp heimdal/lib/roken/err.hin
|
||||
build_lex heimdal/lib/asn1/lex.l
|
||||
build_lex heimdal/lib/com_err/lex.l
|
||||
build_bison heimdal/lib/com_err/parse.y
|
||||
build_bison heimdal/lib/asn1/parse.y
|
||||
build_yacc heimdal/lib/com_err/parse.y
|
||||
build_yacc heimdal/lib/asn1/parse.y
|
||||
|
||||
make bin/asn1_compile || exit 1
|
||||
build_asn1 heimdal/lib/hdb/hdb.asn1 hdb_asn1
|
||||
|
@ -171,6 +171,9 @@ SMB_MODULE_DEFAULT(KERBEROS_LIB, NOT)
|
||||
SMB_BINARY_ENABLE(asn1_compile, NO)
|
||||
SMB_BINARY_ENABLE(compile_et, NO)
|
||||
|
||||
AC_PROG_LEX
|
||||
AC_PROG_YACC
|
||||
|
||||
# to enable kerberos, unpack a heimdal source tree in the heimdal directory
|
||||
# of the samba source tree
|
||||
if test -d heimdal; then
|
||||
|
@ -369,7 +369,7 @@ REQUIRED_SUBSYSTEMS = COMPILE_ET LIBREPLACE
|
||||
#######################
|
||||
# Start TARGET HEIMDAL_EXTERNAL
|
||||
[TARGET::HEIMDAL_EXTERNAL]
|
||||
CMD = heimdal_build/build_external.sh $(CC)
|
||||
CMD = heimdal_build/build_external.sh "@CC@" "@LEX@" "@YACC@"
|
||||
REQUIRED_SUBSYSTEMS = ASN1_COMPILER
|
||||
# END TARGET HEIMDAL_EXTERNAL
|
||||
#######################
|
||||
|
Loading…
Reference in New Issue
Block a user