[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
parse-datetime: Fix compilation error with bison 3.7
From: |
Bruno Haible |
Subject: |
parse-datetime: Fix compilation error with bison 3.7 |
Date: |
Wed, 29 Jul 2020 18:22:40 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-186-generic; KDE/5.18.0; x86_64; ; ) |
With bison 3.7, the module 'parse-datetime' does not build any more:
gcc -DHAVE_CONFIG_H -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1 -g -O2
-MT parse-datetime.o -MD -MP -MF .deps/parse-datetime.Tpo -c -o
parse-datetime.o ../../gllib/parse-datetime.c
parse-datetime.tab.c:646:32: fatal error: parse-datetime.tab.h: No such file or
directory
This is caused by a documented change in bison-3.7
<https://lists.gnu.org/archive/html/info-gnu/2020-07/msg00006.html>
that breaks backward-compatibility.
This patch fixes it.
2020-07-28 Bruno Haible <bruno@clisp.org>
parse-datetime: Fix compilation error with bison 3.7.
* modules/parse-datetime (Makefile.am): Create a generated header file
parse-datetime-gen.h in the source directory. Correct #include and
#line statements during preprocessing.
diff --git a/modules/parse-datetime b/modules/parse-datetime
index b4375fd..39aaf6c 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -45,15 +45,21 @@ Makefile.am:
parse-datetime.c: parse-datetime.y
$(AM_V_YACC)$(PARSE_DATETIME_BISON) -d $(YFLAGS) $(AM_YFLAGS)
$(srcdir)/parse-datetime.y \
&& test ':' = '$(PARSE_DATETIME_BISON)' || { \
- sed -e 's|".*/parse-datetime.y"|"parse-datetime.y"|' <
parse-datetime.tab.c > parse-datetime.c-t \
+ sed -e 's|".*/parse-datetime\.y"|"parse-datetime.y"|' \
+ -e 's|"parse-datetime\.tab\.c"|"parse-datetime.c"|' \
+ -e 's|"parse-datetime\.tab\.h"|"parse-datetime-gen.h"|' \
+ < parse-datetime.tab.c > parse-datetime.c-tmp \
+ && sed -e 's|"parse-datetime\.tab\.h"|"parse-datetime-gen.h"|' \
+ < parse-datetime.tab.h > parse-datetime-gen.h-tmp \
&& rm -f parse-datetime.tab.c parse-datetime.tab.h \
- && mv parse-datetime.c-t $(srcdir)/parse-datetime.c; \
+ && mv parse-datetime.c-tmp $(srcdir)/parse-datetime.c \
+ && mv parse-datetime-gen.h-tmp $(srcdir)/parse-datetime-gen.h; \
}
lib_SOURCES += parse-datetime.y
-BUILT_SOURCES += parse-datetime.c
-MOSTLYCLEANFILES += parse-datetime.tab.c parse-datetime.tab.h
parse-datetime.c-t
-MAINTAINERCLEANFILES += parse-datetime.c
-EXTRA_DIST += parse-datetime.c
+BUILT_SOURCES += parse-datetime.c parse-datetime-gen.h
+MOSTLYCLEANFILES += parse-datetime.tab.c parse-datetime.tab.h
parse-datetime.c-tmp parse-datetime-gen.h-tmp
+MAINTAINERCLEANFILES += parse-datetime.c parse-datetime-gen.h
+EXTRA_DIST += parse-datetime.c parse-datetime-gen.h
Include:
"parse-datetime.h"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- parse-datetime: Fix compilation error with bison 3.7,
Bruno Haible <=