summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in27
-rw-r--r--libmysqld/Makefile.am2
-rw-r--r--sql/.cvsignore1
-rw-r--r--sql/Makefile.am2
-rw-r--r--sql/sql_lex.h6
5 files changed, 34 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index e4618f58a91..5e19a65bc17 100644
--- a/configure.in
+++ b/configure.in
@@ -22,7 +22,7 @@ AC_CANONICAL_SYSTEM
AM_INIT_AUTOMAKE([1.9 tar-ustar])
AC_PROG_LIBTOOL
-AM_CONFIG_HEADER([include/config.h])
+AC_CONFIG_HEADERS([include/config.h])
# Request support for automake silent-rules if available.
# Default to verbose output. One can use the configure-time
@@ -269,6 +269,31 @@ AC_SUBST(LIBTOOL)dnl
AC_SUBST(NM)dnl
+##############################################################################
+# In automake 1.12, the extension on generated yacc/bison header files changed
+##############################################################################
+
+YACC_HEXT="h"
+MAKEFILE_1ST=`head -1 "$srcdir/Makefile.in"`
+AMAKE_MAJOR=`expr "$MAKEFILE_1ST" : '.*generated by automake \([[0-9]]*\).*'`
+if test $? -eq "0" ; then
+ if test "$AMAKE_MAJOR" -gt "1" ; then
+ YACC_HEXT="hh"
+ CXXFLAGS="$CXXFLAGS -DYACC_HEXT_HH"
+ elif test "$AMAKE_MAJOR" -eq "1" ; then
+ AMAKE_MINOR=`expr "$MAKEFILE_1ST" : '.*generated by automake 1.\([[0-9]]*\).*'`
+ if test $? -eq "0" ; then
+ if test "$AMAKE_MINOR" -ge "12" ; then
+ YACC_HEXT="hh"
+ CXXFLAGS="$CXXFLAGS -DYACC_HEXT_HH"
+ fi
+ fi
+ fi
+fi
+AC_SUBST(YACC_HEXT)
+
+##############################################################################
+
# NM= "$NM -X64"
#archive_expsym_cmds= `echo "$archive_expsym_cmds" | sed -e '/"$(CC)"//'`
#archive_expsym_cmds= "$CC -q64 $archive_expsym_cmds"
diff --git a/libmysqld/Makefile.am b/libmysqld/Makefile.am
index 5b8255031ff..f40dd9a227d 100644
--- a/libmysqld/Makefile.am
+++ b/libmysqld/Makefile.am
@@ -90,7 +90,7 @@ storageobjects = @condition_dependent_plugin_objects@
storagesourceslinks = @condition_dependent_plugin_links@
# automake misses these
-sql_yacc.cc sql_yacc.h: $(top_srcdir)/sql/sql_yacc.yy
+sql_yacc.cc sql_yacc.$(YACC_HEXT): $(top_srcdir)/sql/sql_yacc.yy
# The following libraries should be included in libmysqld.a
INC_LIB= $(top_builddir)/regex/libregex.a \
diff --git a/sql/.cvsignore b/sql/.cvsignore
index 3e2f44f5a10..7fcd82ab952 100644
--- a/sql/.cvsignore
+++ b/sql/.cvsignore
@@ -9,4 +9,5 @@ mysqlbinlog
mysqlbinlog
mysqld
sql_yacc.cc
+sql_yacc.hh
sql_yacc.h
diff --git a/sql/Makefile.am b/sql/Makefile.am
index 2336faf4e31..6c2e7079a51 100644
--- a/sql/Makefile.am
+++ b/sql/Makefile.am
@@ -146,7 +146,7 @@ DEFS = -DMYSQL_SERVER \
-DHAVE_EVENT_SCHEDULER \
@DEFS@
-BUILT_MAINT_SRC = sql_yacc.cc sql_yacc.h
+BUILT_MAINT_SRC = sql_yacc.cc sql_yacc.$(YACC_HEXT)
BUILT_SOURCES = $(BUILT_MAINT_SRC) lex_hash.h link_sources
EXTRA_DIST = udf_example.c udf_example.def $(BUILT_MAINT_SRC) \
nt_servc.cc nt_servc.h \
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index d512190eecc..99cbd420607 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -47,7 +47,11 @@ class Event_parse_data;
#else
#include "lex_symbol.h"
#if MYSQL_LEX
-#include "sql_yacc.h"
+# if YACC_HEXT_HH
+# include "sql_yacc.hh"
+# else
+# include "sql_yacc.h"
+# endif
#define LEX_YYSTYPE YYSTYPE *
#else
#define LEX_YYSTYPE void *