1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
From b4953c24746af418aa005c4f64c80623af1c68ad Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Wed, 29 Jul 2020 18:18:18 +0200
Subject: [PATCH] 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
---
ChangeLog | 7 +++++++
modules/parse-datetime | 18 ++++++++++++------
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/modules/parse-datetime b/modules/parse-datetime
index b4375fda43..39aaf6c592 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"
--
2.30.2
From c6e65c2e9fc89cc1a3b743d370f69d222fbdb6bb Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sat, 1 Aug 2020 16:02:16 +0200
Subject: [PATCH] parse-datetime: Fix wrong #line statements.
* modules/parse-datetime (Makefile.am): Correct #line statements also in
parse-datetime-gen.h.
---
ChangeLog | 6 ++++++
modules/parse-datetime | 3 ++-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/modules/parse-datetime b/modules/parse-datetime
index 39aaf6c592..fb49ebb353 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -49,7 +49,8 @@ parse-datetime.c: 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"|' \
+ && sed -e 's|".*/parse-datetime\.y"|"parse-datetime.y"|' \
+ -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-tmp $(srcdir)/parse-datetime.c \
--
2.30.2
From 8002ca7b56acb46b42eeac4a343e112a8ee283cf Mon Sep 17 00:00:00 2001
From: Bruno Haible <bruno@clisp.org>
Date: Sun, 13 Sep 2020 22:03:16 +0200
Subject: [PATCH] parse-datetime: Make the build rule work with parallel
'make'.
Reported by Daiki Ueno <ueno@gnu.org> in
<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
* modules/parse-datetime (Makefile.am): Use a phony target and the
general idiom for rules that produce multiple files.
---
ChangeLog | 8 ++++++++
modules/parse-datetime | 12 +++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
2020-09-13 Ben Pfaff <blp@cs.stanford.edu>
getpass: Check for nonnull prompt argument while avoiding warnings.
diff --git a/modules/parse-datetime b/modules/parse-datetime
index 14675194eb..a16b90f7d5 100644
--- a/modules/parse-datetime
+++ b/modules/parse-datetime
@@ -43,7 +43,10 @@ Makefile.am:
# 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
+# Since this is a rule that produces multiple files, we apply the idiom from
+# <https://lists.gnu.org/archive/html/bug-make/2020-09/msg00008.html>, so that
+# it works also in parallel 'make'.
+generate-parse-datetime:
$(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"|' \
@@ -57,6 +60,13 @@ parse-datetime.c: parse-datetime.y
&& mv parse-datetime.c-tmp $(srcdir)/parse-datetime.c \
&& mv parse-datetime-gen.h-tmp $(srcdir)/parse-datetime-gen.h; \
}
+.PHONY: generate-parse-datetime
+# The above rule will generate files with time stamp order
+# parse-datetime.y <= parse-datetime.c <= parse-datetime-gen.h.
+parse-datetime.c: parse-datetime.y
+ @{ test -f $(srcdir)/parse-datetime.c && test ! $(srcdir)/parse-datetime.c -ot $(srcdir)/parse-datetime.y; } || $(MAKE) generate-parse-datetime
+parse-datetime-gen.h: parse-datetime.c
+ @{ test -f $(srcdir)/parse-datetime-gen.h && test ! $(srcdir)/parse-datetime-gen.h -ot $(srcdir)/parse-datetime.c; } || $(MAKE) generate-parse-datetime
lib_SOURCES += parse-datetime.y
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
--
2.30.2
|