From d266da8d47161d02ddd068f7f5b9acfabe92a192 Mon Sep 17 00:00:00 2001 From: Richard Kreckel Date: Sun, 11 Aug 2013 13:16:15 +0200 Subject: [PATCH] [build] fix ginsh build for automake <=1.11. automake <=1.11 and automake >=1.12 have different conventions for naming C++ header files made by yacc. To work with both, we write our own rule rather than using automake's. --- configure.ac | 4 ++-- ginsh/Makefile.am | 8 ++++++-- ginsh/ginsh_parser.ypp | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index 63f6594a..9992133f 100644 --- a/configure.ac +++ b/configure.ac @@ -32,9 +32,9 @@ AM_PROG_LIBTOOL AC_PROG_LEX AC_PROG_YACC AC_PATH_PROG(YACCEXE, $YACC, "") -AS_IF([test "x$LEX" = "x:" -a ! -f $srcdir/ginsh/ginsh_lexer.cc], +AS_IF([test "x$LEX" = "x:" -a ! -f $srcdir/ginsh/ginsh_lexer.cpp], [GINAC_WARNING([ginsh will not compile, because lex/flex is missing])]) -AS_IF([test -z "$YACCEXE" -a ! -f $srcdir/ginsh/ginsh_parser.h], +AS_IF([test -z "$YACCEXE" -a ! -f $srcdir/ginsh/ginsh_parser.hpp], [GINAC_WARNING([ginsh will not compile, because yacc/bison is missing])]) dnl Switch to C++ language mode for the following libraries and headers. diff --git a/ginsh/Makefile.am b/ginsh/Makefile.am index 2de56d45..72a48e86 100644 --- a/ginsh/Makefile.am +++ b/ginsh/Makefile.am @@ -6,7 +6,6 @@ ginsh_SOURCES = ginsh_parser.ypp ginsh_lexer.lpp ginsh.h ginsh_extensions.h ginsh_LDADD = ../ginac/libginac.la $(GINSH_LIBS) AM_CPPFLAGS = -I$(srcdir)/../ginac -I../ginac -DIN_GINAC -AM_YFLAGS = -d man_MANS = ginsh.1 @@ -20,4 +19,9 @@ ginsh_fcn_help.h: ginsh.1.in $(srcdir)/ginsh_fcn_help.py ginsh_op_help.h: ginsh.1 $(srcdir)/ginsh_op_help.py $(PYTHON) $(srcdir)/ginsh_op_help.py -o $@ $< -ginsh_parser.o: ginsh_fcn_help.h ginsh_op_help.h ginsh_parser.cpp +# automake <=1.11 and automake >=1.12 have different conventions for naming C++ header files +# made by yacc. To work with both, we write our own rule rather than using automake's. +ginsh_parser.cpp ginsh_parser.hpp: ginsh_parser.ypp + $(YACC) $(YFLAGS) -o ginsh_parser.cpp --defines=ginsh_parser.hpp $< + +ginsh_parser.o: ginsh_fcn_help.h ginsh_op_help.h ginsh_parser.hpp diff --git a/ginsh/ginsh_parser.ypp b/ginsh/ginsh_parser.ypp index 88aa9843..c16c35cf 100644 --- a/ginsh/ginsh_parser.ypp +++ b/ginsh/ginsh_parser.ypp @@ -1,4 +1,4 @@ -/** @file ginsh_parser.yy +/** @file ginsh_parser.ypp * * Input grammar definition for ginsh. * This file must be processed with yacc/bison. */ -- 2.47.0