summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/process/changes.rst25
-rw-r--r--scripts/Makefile.lib20
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.
32GNU C 3.2 gcc --version 32GNU C 3.2 gcc --version
33GNU make 3.81 make --version 33GNU make 3.81 make --version
34binutils 2.20 ld -v 34binutils 2.20 ld -v
35flex 2.5.35 flex --version
36bison 2.0 bison --version
35util-linux 2.10o fdformat --version 37util-linux 2.10o fdformat --version
36module-init-tools 0.9.10 depmod -V 38module-init-tools 0.9.10 depmod -V
37e2fsprogs 1.41.4 e2fsck -V 39e2fsprogs 1.41.4 e2fsck -V
@@ -79,6 +81,19 @@ The build system has, as of 4.13, switched to using thin archives (`ar T`)
79rather than incremental linking (`ld -r`) for built-in.o intermediate steps. 81rather than incremental linking (`ld -r`) for built-in.o intermediate steps.
80This requires binutils 2.20 or newer. 82This requires binutils 2.20 or newer.
81 83
84Flex
85----
86
87Since Linux 4.16, the build system generates lexical analyzers
88during build. This requires flex 2.5.35 or later.
89
90
91Bison
92-----
93
94Since Linux 4.16, the build system generates parsers
95during build. This requires bison 2.0 or later.
96
82Perl 97Perl
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
351Flex
352----
353
354- <https://github.com/westes/flex/releases>
355
356Bison
357-----
358
359- <ftp://ftp.gnu.org/gnu/bison/>
360
336OpenSSL 361OpenSSL
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)))))))
187endef 187endef
188 188
189ifdef REGENERATE_PARSERS
190
191# LEX 189# LEX
192# --------------------------------------------------------------------------- 190# ---------------------------------------------------------------------------
193LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy) 191LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy)
@@ -195,9 +193,15 @@ LEX_PREFIX = $(if $(LEX_PREFIX_${baseprereq}),$(LEX_PREFIX_${baseprereq}),yy)
195quiet_cmd_flex = LEX $@ 193quiet_cmd_flex = LEX $@
196 cmd_flex = $(LEX) -o$@ -L -P $(LEX_PREFIX) $< 194 cmd_flex = $(LEX) -o$@ -L -P $(LEX_PREFIX) $<
197 195
196ifdef 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)
200endif
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)
206quiet_cmd_bison = YACC $@ 210quiet_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
213ifdef 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)
217endif
218
219.PRECIOUS: $(obj)/%.tab.c
220$(filter %.tab.c,$(targets)): $(obj)/%.tab.c: $(src)/%.y FORCE
221 $(call if_changed,bison)
212 222
213quiet_cmd_bison_h = YACC $@ 223quiet_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
226ifdef 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
220endif 230endif
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