1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-08 17:22:05 +03:00

parse-datetime: Avoid warnings from bison versions >= 3.3.

Reported by Bernhard Voelker <mail@bernhard-voelker.de>.

* modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
This commit is contained in:
Bruno Haible
2019-07-20 00:51:26 +02:00
parent 56d28ccbbc
commit 3e75e00c40
2 changed files with 23 additions and 13 deletions

View File

@@ -1,3 +1,9 @@
2019-07-19 Bruno Haible <bruno@clisp.org>
parse-datetime: Avoid warnings from bison versions >= 3.3.
Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
* modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
2019-07-19 Bruno Haible <bruno@clisp.org>
parse-datetime: Require Bison 2.4 or newer.

View File

@@ -30,22 +30,26 @@ configure.ac:
gl_PARSE_DATETIME
Makefile.am:
# This rule overrides the Automake generated .y.c rule, to ensure that the
# parse-datetime.c file gets generated in the source directory, not in the
# build directory.
# The Automake generated .y.c rule is broken: When executed in a VPATH build,
# - The .c file gets generated in the build directory. But since it requires
# special tools to rebuild it, we need to distribute it in the tarballs,
# and by the GNU Coding Standards
# <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html>
# the file should be generated in the source directory.
# - The #line numbers in the .c file refer to a nonexistent file once it
# has been moved from the build directory to the source directory. This
# leads to error if 'lcov' is used later.
# Additionally, here we assume GNU Bison and therefore don't need the ylwrap
# script.
# Therefore we override this rule.
parse-datetime.c: parse-datetime.y
$(AM_V_GEN)$(SHELL) $(YLWRAP) $(srcdir)/parse-datetime.y \
y.tab.c parse-datetime.c \
y.tab.h parse-datetime.h \
y.output parse-datetime.output \
-- $(PARSE_DATETIME_BISON) -y -d $(YFLAGS) $(AM_YFLAGS) && \
sed -e 's|".*/parse-datetime.y"|"parse-datetime.y"|' \
< parse-datetime.c > parse-datetime.c-t && \
rm -f parse-datetime.c && \
mv parse-datetime.c-t $(srcdir)/parse-datetime.c
$(AM_V_YACC)$(PARSE_DATETIME_BISON) -d $(YFLAGS) $(AM_YFLAGS) $(srcdir)/parse-datetime.y \
&& sed -e 's|".*/parse-datetime.y"|"parse-datetime.y"|' < parse-datetime.tab.c > parse-datetime.c-t \
&& rm -f parse-datetime.tab.c parse-datetime.tab.h \
&& mv parse-datetime.c-t $(srcdir)/parse-datetime.c
lib_SOURCES += parse-datetime.y
BUILT_SOURCES += parse-datetime.c
MOSTLYCLEANFILES += parse-datetime.c-t
MOSTLYCLEANFILES += parse-datetime.tab.c parse-datetime.tab.h parse-datetime.c-t
MAINTAINERCLEANFILES += parse-datetime.c
EXTRA_DIST += parse-datetime.c