From 4f54d13e7924424358e401840f985936f9867274 Mon Sep 17 00:00:00 2001 From: jfarrell Date: Thu, 10 Jul 2014 09:23:43 -0400 Subject: THRIFT-2602: Fix missing dist files Client: build process Patch: jfarrell Adding macro check around bison version and removing am__yacc_c2h and will conditionally include the necessary h/hh file, this will fix the mentioned missing .hh file in dist and make it compatible with automake 1.11 and above --- aclocal/ac_prog_bison.m4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 aclocal/ac_prog_bison.m4 (limited to 'aclocal') diff --git a/aclocal/ac_prog_bison.m4 b/aclocal/ac_prog_bison.m4 new file mode 100644 index 000000000..1e2d200c7 --- /dev/null +++ b/aclocal/ac_prog_bison.m4 @@ -0,0 +1,54 @@ +dnl +dnl Check Bison version +dnl AC_PROG_BISON([MIN_VERSION=2.6]) +dnl +dnl Will define BISON_USE_PARSER_H_EXTENSION if Automake is < 1.11 +dnl for use with .h includes. +dnl + +AC_DEFUN([AC_PROG_BISON], [ +if test "x$1" = "x" ; then + bison_required_version="2.6" +else + bison_required_version="$1" +fi + +AC_CHECK_PROG(have_prog_bison, [bison], [yes],[no]) + +AC_DEFINE_UNQUOTED([BISON_VERSION], [0.0], [Bison version if bison is not available]) + +#Do not use *.h extension for parser header files, use newer *.hh +bison_use_parser_h_extension=false + +if test "$have_prog_bison" = "yes" ; then + AC_MSG_CHECKING([for bison version >= $bison_required_version]) + bison_version=`bison --version | head -n 1 | cut '-d ' -f 4` + AC_DEFINE_UNQUOTED([BISON_VERSION], [$bison_version], [Defines bison version]) + if test "$bison_version" \< "$bison_required_version" ; then + BISON=: + AC_MSG_RESULT([no]) + AC_MSG_ERROR([Bison version 2.6 or higher must be installed on the system!]) + else + AC_MSG_RESULT([yes]) + BISON=bison + AC_SUBST(BISON) + + #Verify automake version 1.11 headers for yy files are .h, > 1.12 uses .hh + automake_version=`automake --version | head -n 1 | cut '-d ' -f 4` + AC_DEFINE_UNQUOTED([AUTOMAKE_VERSION], [$automake_version], [Defines automake version]) + + if test "$automake_version" \< "1.12" ; then + #Use *.h extension for parser header file + bison_use_parser_h_extension=true + echo "Automake version < 1.12" + AC_DEFINE([BISON_USE_PARSER_H_EXTENSION], [1], [Use *.h extension for parser header file]) + fi + fi +else + BISON=: + AC_MSG_RESULT([NO]) +fi + +AM_CONDITIONAL([BISON_USE_PARSER_H_EXTENSION], [test x$bison_use_parser_h_extension = xtrue]) +AC_SUBST(BISON) +]) -- cgit v1.2.1