diff options
-rw-r--r-- | Documentation/process/changes.rst | 25 | ||||
-rw-r--r-- | scripts/Makefile.lib | 20 |
2 files changed, 42 insertions, 3 deletions
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst index 560beaef5a7c..81cdb528ad46 100644 --- a/Documentation/process/changes.rst +++ b/Documentation/process/changes.rst | |||
@@ -32,6 +32,8 @@ you probably needn't concern yourself with isdn4k-utils. | |||
32 | GNU C 3.2 gcc --version | 32 | GNU C 3.2 gcc --version |
33 | GNU make 3.81 make --version | 33 | GNU make 3.81 make --version |
34 | binutils 2.20 ld -v | 34 | binutils 2.20 ld -v |
35 | flex 2.5.35 flex --version | ||
36 | bison 2.0 bison --version | ||
35 | util-linux 2.10o fdformat --version | 37 | util-linux 2.10o fdformat --version |
36 | module-init-tools 0.9.10 depmod -V | 38 | module-init-tools 0.9.10 depmod -V |
37 | e2fsprogs 1.41.4 e2fsck -V | 39 | e2fsprogs 1.41.4 e2fsck -V |
@@ -79,6 +81,19 @@ The build system has, as of 4.13, switched to using thin archives (`ar T`) | |||
79 | rather than incremental linking (`ld -r`) for built-in.o intermediate steps. | 81 | rather than incremental linking (`ld -r`) for built-in.o intermediate steps. |
80 | This requires binutils 2.20 or newer. | 82 | This requires binutils 2.20 or newer. |
81 | 83 | ||
84 | Flex | ||
85 | ---- | ||
86 | |||
87 | Since Linux 4.16, the build system generates lexical analyzers | ||
88 | during build. This requires flex 2.5.35 or later. | ||
89 | |||
90 | |||
91 | Bison | ||
92 | ----- | ||
93 | |||
94 | Since Linux 4.16, the build system generates parsers | ||
95 | during build. This requires bison 2.0 or later. | ||
96 | |||
82 | Perl | 97 | Perl |
83 | ---- | 98 | ---- |
84 | 99 | ||
@@ -333,6 +348,16 @@ Binutils | |||
333 | 348 | ||
334 | - <https://www.kernel.org/pub/linux/devel/binutils/> | 349 | - <https://www.kernel.org/pub/linux/devel/binutils/> |
335 | 350 | ||
351 | Flex | ||
352 | ---- | ||
353 | |||
354 | - <https://github.com/westes/flex/releases> | ||
355 | |||
356 | Bison | ||
357 | ----- | ||
358 | |||
359 | - <ftp://ftp.gnu.org/gnu/bison/> | ||
360 | |||
336 | OpenSSL | 361 | OpenSSL |
337 | ------- | 362 | ------- |
338 | 363 | ||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index ee528e30f80f..0f9ef3fbbaf5 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
@@ -186,8 +186,6 @@ $(foreach m, $(notdir $1), \ | |||
186 | $(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s))))))) | 186 | $(addprefix $(obj)/, $(foreach s, $3, $($(m:%$(strip $2)=%$(s))))))) |
187 | endef | 187 | endef |
188 | 188 | ||
189 | ifdef REGENERATE_PARSERS | ||
190 | |||
191 | # LEX | 189 | # LEX |
192 | # --------------------------------------------------------------------------- | 190 | # --------------------------------------------------------------------------- |
193 | LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) | 191 | LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) |
@@ -195,9 +193,15 @@ LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) | |||
195 | quiet_cmd_flex = LEX $@ | 193 | quiet_cmd_flex = LEX $@ |
196 | cmd_flex = $(LEX) -o$@ -L -P $(LEX_PREFIX) $< | 194 | cmd_flex = $(LEX) -o$@ -L -P $(LEX_PREFIX) $< |
197 | 195 | ||
196 | ifdef REGENERATE_PARSERS | ||
198 | .PRECIOUS: $(src)/%.lex.c_shipped | 197 | .PRECIOUS: $(src)/%.lex.c_shipped |
199 | $(src)/%.lex.c_shipped: $(src)/%.l | 198 | $(src)/%.lex.c_shipped: $(src)/%.l |
200 | $(call cmd,flex) | 199 | $(call cmd,flex) |
200 | endif | ||
201 | |||
202 | .PRECIOUS: $(obj)/%.lex.c | ||
203 | $(filter %.lex.c,$(targets)): $(obj)/%.lex.c: $(src)/%.l FORCE | ||
204 | $(call if_changed,flex) | ||
201 | 205 | ||
202 | # YACC | 206 | # YACC |
203 | # --------------------------------------------------------------------------- | 207 | # --------------------------------------------------------------------------- |
@@ -206,19 +210,29 @@ YACC_PREFIX = $(if $(YACC_PREFIX_${baseprereq}),$(YACC_PREFIX_${baseprereq}),yy) | |||
206 | quiet_cmd_bison = YACC $@ | 210 | quiet_cmd_bison = YACC $@ |
207 | cmd_bison = $(YACC) -o$@ -t -l -p $(YACC_PREFIX) $< | 211 | cmd_bison = $(YACC) -o$@ -t -l -p $(YACC_PREFIX) $< |
208 | 212 | ||
213 | ifdef REGENERATE_PARSERS | ||
209 | .PRECIOUS: $(src)/%.tab.c_shipped | 214 | .PRECIOUS: $(src)/%.tab.c_shipped |
210 | $(src)/%.tab.c_shipped: $(src)/%.y | 215 | $(src)/%.tab.c_shipped: $(src)/%.y |
211 | $(call cmd,bison) | 216 | $(call cmd,bison) |
217 | endif | ||
218 | |||
219 | .PRECIOUS: $(obj)/%.tab.c | ||
220 | $(filter %.tab.c,$(targets)): $(obj)/%.tab.c: $(src)/%.y FORCE | ||
221 | $(call if_changed,bison) | ||
212 | 222 | ||
213 | quiet_cmd_bison_h = YACC $@ | 223 | quiet_cmd_bison_h = YACC $@ |
214 | cmd_bison_h = bison -o/dev/null --defines=$@ -t -l -p $(YACC_PREFIX) $< | 224 | cmd_bison_h = bison -o/dev/null --defines=$@ -t -l -p $(YACC_PREFIX) $< |
215 | 225 | ||
226 | ifdef REGENERATE_PARSERS | ||
216 | .PRECIOUS: $(src)/%.tab.h_shipped | 227 | .PRECIOUS: $(src)/%.tab.h_shipped |
217 | $(src)/%.tab.h_shipped: $(src)/%.y | 228 | $(src)/%.tab.h_shipped: $(src)/%.y |
218 | $(call cmd,bison_h) | 229 | $(call cmd,bison_h) |
219 | |||
220 | endif | 230 | endif |
221 | 231 | ||
232 | .PRECIOUS: $(obj)/%.tab.h | ||
233 | $(filter %.tab.h,$(targets)): $(obj)/%.tab.h: $(src)/%.y FORCE | ||
234 | $(call if_changed,bison_h) | ||
235 | |||
222 | # Shipped files | 236 | # Shipped files |
223 | # =========================================================================== | 237 | # =========================================================================== |
224 | 238 | ||