summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-14 05:54:32 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:23:04 -0500
commit7175419589455001f473926d574e1ca3359089ee (patch)
tree7df8e6a1be289ea4deb2cdf15c7ee2daf6c87034
parent606beece8ed995f457b012a8010aa0e8ed1f5b07 (diff)
downloadsamba-7175419589455001f473926d574e1ca3359089ee.tar.gz
samba-7175419589455001f473926d574e1ca3359089ee.tar.bz2
samba-7175419589455001f473926d574e1ca3359089ee.zip
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 used to be commit c721c8ca380db756ae2ccf3711be894bab8d5318)
-rw-r--r--source4/extra_cflags.txt2
-rwxr-xr-xsource4/heimdal_build/build_external.sh31
-rw-r--r--source4/heimdal_build/config.m43
-rw-r--r--source4/heimdal_build/config.mk2
4 files changed, 25 insertions, 13 deletions
diff --git a/source4/extra_cflags.txt b/source4/extra_cflags.txt
index 6ecb170aa5..5faaff66b4 100644
--- a/source4/extra_cflags.txt
+++ b/source4/extra_cflags.txt
@@ -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
diff --git a/source4/heimdal_build/build_external.sh b/source4/heimdal_build/build_external.sh
index c3a29595db..ff9dc2ac2e 100755
--- a/source4/heimdal_build/build_external.sh
+++ b/source4/heimdal_build/build_external.sh
@@ -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
diff --git a/source4/heimdal_build/config.m4 b/source4/heimdal_build/config.m4
index 4368825783..90fb7a930d 100644
--- a/source4/heimdal_build/config.m4
+++ b/source4/heimdal_build/config.m4
@@ -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
diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk
index 49da7f10d2..9b1ee96edf 100644
--- a/source4/heimdal_build/config.mk
+++ b/source4/heimdal_build/config.mk
@@ -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
#######################