svn commit: samba r25874 - in branches/SAMBA_4_0/source/heimdal_build: .

metze at samba.org metze at samba.org
Tue Nov 6 12:39:48 GMT 2007


Author: metze
Date: 2007-11-06 12:39:47 +0000 (Tue, 06 Nov 2007)
New Revision: 25874

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25874

Log:
force specific versions for LEX and YACC.

We often have problems with old yacc and bison versions
and it seem the combination of LAX and YACC also matters.

So we now list all supported version combinations explicit.
flex-2.5.33:bison-2.3 only for now.

metze
Modified:
   branches/SAMBA_4_0/source/heimdal_build/config.m4


Changeset:
Modified: branches/SAMBA_4_0/source/heimdal_build/config.m4
===================================================================
--- branches/SAMBA_4_0/source/heimdal_build/config.m4	2007-11-06 12:34:50 UTC (rev 25873)
+++ branches/SAMBA_4_0/source/heimdal_build/config.m4	2007-11-06 12:39:47 UTC (rev 25874)
@@ -180,9 +180,57 @@
 SMB_ENABLE(asn1_compile, NO)
 SMB_ENABLE(compile_et, NO)
 
+#
+# We need bison -y and flex in new versions
+# Otherwise we get random runtime failures
+#
+LEX_YACC_COMBINATIONS=""
+LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.33:bison-2.3"
+
 AC_PROG_LEX
+LEX_BASENAME=`basename "$LEX"`
+if test x"$LEX_BASENAME" = x"flex"; then
+	# "flex 2.5.33"
+	FLEX_VERSION=`$LEX --version | cut -d ' ' -f2`
+	AC_MSG_CHECKING(flex version)
+	AC_MSG_RESULT($FLEX_VERSION)
+	FLEX_MAJOR=`echo $FLEX_VERSION | cut -d '.' -f1`
+	FLEX_MINOR=`echo $FLEX_VERSION | cut -d '.' -f2`
+	FLEX_RELEASE=`echo $FLEX_VERSION | cut -d '.' -f3`
+
+	LEX_VERSION="flex-$FLEX_MAJOR.$FLEX_MINOR.$FLEX_RELEASE"
+fi
+
 AC_PROG_YACC
+YACC_BASENAME=`basename "$YACC"`
+if test x"$YACC_BASENAME" = x"bison -y"; then
+	# bison (GNU Bison) 2.3
+	BISON_VERSION=`$YACC --version | head -1 | cut -d ' ' -f4`
+	AC_MSG_CHECKING(bison version)
+	AC_MSG_RESULT($BISON_VERSION)
+	BISON_MAJOR=`echo $BISON_VERSION | cut -d '.' -f1`
+	BISON_MINOR=`echo $BISON_VERSION | cut -d '.' -f2`
 
+	YACC_VERSION="bison-$BISON_MAJOR.$BISON_MINOR"
+fi
+
+AC_MSG_CHECKING(working LEX YACC combination)
+LEX_YACC="no"
+if test x"$LEX_VERSION" != x"" -a x"$YACC_VERSION" != x""; then
+	V="$LEX_VERSION:$YACC_VERSION"
+	for C in $LEX_YACC_COMBINATIONS; do
+		if test x"$V" = x"$C"; then
+			LEX_YACC=$V
+			break;
+		fi
+	done
+fi
+if test x"$LEX_YACC" = x"no"; then
+	LEX=false
+	YACC=false
+fi
+AC_MSG_RESULT($LEX_YACC)
+
 # Portions of heimdal kerberos are unpacked into source/heimdal
 # of the samba source tree.  
 



More information about the samba-cvs mailing list