Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (238636 => 238637)
--- trunk/Source/_javascript_Core/ChangeLog 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-11-28 22:07:20 UTC (rev 238637)
@@ -1,5 +1,60 @@
2018-11-28 Keith Rollin <krol...@apple.com>
+ Revert print_all_generated_files work in r238008; tighten up target specifications
+ https://bugs.webkit.org/show_bug.cgi?id=192025
+ <rdar://problem/46284301>
+
+ Reviewed by Alex Christensen.
+
+ In r238008, I added a facility for DerivedSources.make makefiles to
+ print out the list of files that they generate. This output was used
+ in the generation of .xcfilelist files used to specify the output of
+ the associated Generate Derived Sources build phases in Xcode. This
+ approach worked, but it meant that people would need to follow a
+ specific convention to keep this mechanism working.
+
+ Instead of continuing this approach, I'm going to implement a new
+ facility based on the output of `make` when passed the -d flag (which
+ prints dependency information). This new mechanism is completely
+ automatic and doesn't need maintainers to follow a convention. To that
+ end, remove most of the work performed in r238008 that supports the
+ print_all_generated_files target.
+
+ At the same time, it's important for the sets of targets and their
+ dependencies to be complete and correct. Therefore, also include
+ changes to bring those up-to-date. As part of that, you'll see
+ prevalent use of a particular technique. Here's an example:
+
+ BYTECODE_FILES = \
+ Bytecodes.h \
+ BytecodeIndices.h \
+ BytecodeStructs.h \
+ InitBytecodes.asm \
+ #
+ BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
+
+ all : $(BYTECODE_FILES)
+
+ $(BYTECODE_FILES_PATTERNS): $(wildcard $(_javascript_Core)/generator/*.rb) $(_javascript_Core)/bytecode/BytecodeList.rb
+ ...
+
+ These lines indicate a set of generated files (those specified in
+ BYTECODE_FILES). These files are generated by the BytecodeList.rb
+ tool. But, as opposed to the normal rule where a single foo.output is
+ generated by foo.input plus some additional dependencies, this rule
+ produces multiple output files from a tool whose connection to the
+ output files is not immediately clear. A special approach is needed
+ where a single rule produces multiple output files. The normal way to
+ implement this is to use an .INTERMEDIATE target. However, we used
+ this approach in the past and ran into a problem with it, addressing
+ it with an alternate approach in r210507. The above example shows this
+ approach. The .'s in the list of target files are replaced with %'s,
+ and the result is used as the left side of the dependency rule.
+
+ * DerivedSources.make:
+
+2018-11-28 Keith Rollin <krol...@apple.com>
+
Remove Postprocess Headers dependencies
https://bugs.webkit.org/show_bug.cgi?id=192023
<rdar://problem/46283377>
Modified: trunk/Source/_javascript_Core/DerivedSources.make (238636 => 238637)
--- trunk/Source/_javascript_Core/DerivedSources.make 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/_javascript_Core/DerivedSources.make 2018-11-28 22:07:20 UTC (rev 238637)
@@ -46,12 +46,24 @@
DELETE = rm -f
endif
-ALL_GENERATED_FILES =
+# --------
-all : real_all
+.PHONY : all
+all : \
+ udis86_itab.h \
+ InjectedScriptSource.h \
+ IntlCanonicalizeLanguage.h \
+ JSCBuiltins.h \
+ Lexer.lut.h \
+ KeywordLookup.h \
+ RegExpJitTables.h \
+ UnicodePatternTables.h \
+ yarr/YarrCanonicalizeUnicode.cpp \
+ WasmOps.h \
+ WasmValidateInlines.h \
+ WasmB3IRGeneratorInlines.h \
+#
-# --------
-
# _javascript_ builtins.
BUILTINS_GENERATOR_SCRIPTS = \
@@ -116,7 +128,6 @@
_javascript_Core_BUILTINS_DEPENDENCIES_LIST : $(_javascript_Core_SCRIPTS_DIR)/UpdateContents.py DerivedSources.make
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/UpdateContents.py '$(_javascript_Core_BUILTINS_SOURCES) $(BUILTINS_GENERATOR_SCRIPTS)' $@
-ALL_GENERATED_FILES += JSCBuiltins.h
JSCBuiltins.h: $(BUILTINS_GENERATOR_SCRIPTS) $(_javascript_Core_BUILTINS_SOURCES) _javascript_Core_BUILTINS_DEPENDENCIES_LIST
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/generate-js-builtins.py --combined --output-directory . --framework _javascript_Core $(_javascript_Core_BUILTINS_SOURCES)
@@ -178,27 +189,22 @@
WebAssemblyTablePrototype.lut.h \
#
-ALL_GENERATED_FILES += $(OBJECT_LUT_HEADERS)
$(OBJECT_LUT_HEADERS): %.lut.h : %.cpp $(_javascript_Core)/create_hash_table
$(PERL) $(_javascript_Core)/create_hash_table $< > $@
-ALL_GENERATED_FILES += Lexer.lut.h
Lexer.lut.h: Keywords.table $(_javascript_Core)/create_hash_table
$(PERL) $(_javascript_Core)/create_hash_table $< > $@
# character tables for Yarr
-ALL_GENERATED_FILES += RegExpJitTables.h
RegExpJitTables.h: yarr/create_regex_tables
$(PYTHON) $^ > $@
-ALL_GENERATED_FILES += KeywordLookup.h
KeywordLookup.h: KeywordLookupGenerator.py Keywords.table
$(PYTHON) $^ > $@
# udis86 instruction tables
-ALL_GENERATED_FILES += udis86_itab.h
udis86_itab.h: $(_javascript_Core)/disassembler/udis86/ud_itab.py $(_javascript_Core)/disassembler/udis86/optable.xml
$(PYTHON) $(_javascript_Core)/disassembler/udis86/ud_itab.py $(_javascript_Core)/disassembler/udis86/optable.xml .
@@ -212,13 +218,14 @@
#
BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
-ALL_GENERATED_FILES += $(BYTECODE_FILES)
+all : $(BYTECODE_FILES)
+
$(BYTECODE_FILES_PATTERNS): $(wildcard $(_javascript_Core)/generator/*.rb) $(_javascript_Core)/bytecode/BytecodeList.rb
$(RUBY) $(_javascript_Core)/generator/main.rb $(_javascript_Core)/bytecode/BytecodeList.rb --bytecode_structs_h BytecodeStructs.h --init_bytecodes_asm InitBytecodes.asm --bytecodes_h Bytecodes.h --bytecode_indices_h BytecodeIndices.h
# Inspector interfaces
-INSPECTOR_DOMAINS = \
+INSPECTOR_DOMAINS := \
$(_javascript_Core)/inspector/protocol/ApplicationCache.json \
$(_javascript_Core)/inspector/protocol/CSS.json \
$(_javascript_Core)/inspector/protocol/Canvas.json \
@@ -288,6 +295,8 @@
#
INSPECTOR_DISPATCHER_FILES_PATTERNS = $(subst .,%,$(INSPECTOR_DISPATCHER_FILES))
+all : $(INSPECTOR_DISPATCHER_FILES)
+
# The combined JSON file depends on the actual set of domains and their file contents, so that
# adding, modifying, or removing domains will trigger regeneration of inspector files.
@@ -299,11 +308,9 @@
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/generate-combined-inspector-json.py $(INSPECTOR_DOMAINS) > ./CombinedDomains.json
# Inspector Backend Dispatchers, Frontend Dispatchers, Type Builders
-ALL_GENERATED_FILES += $(INSPECTOR_DISPATCHER_FILES)
-$(INSPECTOR_DISPATCHER_FILES_PATTERNS) : CombinedDomains.json $(INSPECTOR_GENERATOR_SCRIPTS) inspector
+$(INSPECTOR_DISPATCHER_FILES_PATTERNS) : CombinedDomains.json $(INSPECTOR_GENERATOR_SCRIPTS)
$(PYTHON) $(_javascript_Core)/inspector/scripts/generate-inspector-protocol-bindings.py --framework _javascript_Core --outputDir inspector ./CombinedDomains.json
-ALL_GENERATED_FILES += InjectedScriptSource.h
InjectedScriptSource.h : inspector/InjectedScriptSource.js $(_javascript_Core_SCRIPTS_DIR)/jsmin.py $(_javascript_Core_SCRIPTS_DIR)/xxd.pl
echo "//# sourceURL=__InjectedScript_InjectedScriptSource.js" > ./InjectedScriptSource.min.js
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/jsmin.py < $(_javascript_Core)/inspector/InjectedScriptSource.js >> ./InjectedScriptSource.min.js
@@ -317,43 +324,31 @@
#
AIR_OPCODE_FILES_PATTERNS = $(subst .,%,$(AIR_OPCODE_FILES))
-ALL_GENERATED_FILES += $(AIR_OPCODE_FILES)
+all : $(AIR_OPCODE_FILES)
+
$(AIR_OPCODE_FILES_PATTERNS) : $(_javascript_Core)/b3/air/opcode_generator.rb $(_javascript_Core)/b3/air/AirOpcode.opcodes
$(RUBY) $^
-ALL_GENERATED_FILES += UnicodePatternTables.h
UnicodePatternTables.h: $(_javascript_Core)/yarr/generateYarrUnicodePropertyTables.py $(_javascript_Core)/yarr/hasher.py $(_javascript_Core)/ucd/DerivedBinaryProperties.txt $(_javascript_Core)/ucd/DerivedCoreProperties.txt $(_javascript_Core)/ucd/DerivedNormalizationProps.txt $(_javascript_Core)/ucd/PropList.txt $(_javascript_Core)/ucd/PropertyAliases.txt $(_javascript_Core)/ucd/PropertyValueAliases.txt $(_javascript_Core)/ucd/ScriptExtensions.txt $(_javascript_Core)/ucd/Scripts.txt $(_javascript_Core)/ucd/UnicodeData.txt $(_javascript_Core)/ucd/emoji-data.txt
$(PYTHON) $(_javascript_Core)/yarr/generateYarrUnicodePropertyTables.py $(_javascript_Core)/ucd ./UnicodePatternTables.h
-ALL_GENERATED_FILES += yarr/YarrCanonicalizeUnicode.cpp
yarr/YarrCanonicalizeUnicode.cpp: $(_javascript_Core)/yarr/generateYarrCanonicalizeUnicode $(_javascript_Core)/ucd/CaseFolding.txt
$(PYTHON) $(_javascript_Core)/yarr/generateYarrCanonicalizeUnicode $(_javascript_Core)/ucd/CaseFolding.txt ./yarr/YarrCanonicalizeUnicode.cpp
-ALL_GENERATED_FILES += IntlCanonicalizeLanguage.h
IntlCanonicalizeLanguage.h: $(_javascript_Core)/Scripts/generateIntlCanonicalizeLanguage.py $(_javascript_Core)/ucd/language-subtag-registry.txt
$(PYTHON) $(_javascript_Core)/Scripts/generateIntlCanonicalizeLanguage.py $(_javascript_Core)/ucd/language-subtag-registry.txt ./IntlCanonicalizeLanguage.h
-ALL_GENERATED_FILES += WasmOps.h
WasmOps.h: $(_javascript_Core)/wasm/generateWasmOpsHeader.py $(_javascript_Core)/wasm/generateWasm.py $(_javascript_Core)/wasm/wasm.json
$(PYTHON) $(_javascript_Core)/wasm/generateWasmOpsHeader.py $(_javascript_Core)/wasm/wasm.json ./WasmOps.h
-ALL_GENERATED_FILES += WasmValidateInlines.h
WasmValidateInlines.h: $(_javascript_Core)/wasm/generateWasmValidateInlinesHeader.py $(_javascript_Core)/wasm/generateWasm.py $(_javascript_Core)/wasm/wasm.json
$(PYTHON) $(_javascript_Core)/wasm/generateWasmValidateInlinesHeader.py $(_javascript_Core)/wasm/wasm.json ./WasmValidateInlines.h
-ALL_GENERATED_FILES += WasmB3IRGeneratorInlines.h
WasmB3IRGeneratorInlines.h: $(_javascript_Core)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(_javascript_Core)/wasm/generateWasm.py $(_javascript_Core)/wasm/wasm.json
$(PYTHON) $(_javascript_Core)/wasm/generateWasmB3IRGeneratorInlinesHeader.py $(_javascript_Core)/wasm/wasm.json ./WasmB3IRGeneratorInlines.h
-# --------
+# Dynamically-defined targets are listed below. Static targets belong up top.
-.PHONY : all real_all print_all_generated_files
-
-real_all : $(ALL_GENERATED_FILES)
-
-print_all_generated_files :
- @for target in $(ALL_GENERATED_FILES); \
- do \
- echo $${target}; \
- done
-
+all : \
+ $(OBJECT_LUT_HEADERS) \
+#
Modified: trunk/Source/WebCore/ChangeLog (238636 => 238637)
--- trunk/Source/WebCore/ChangeLog 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/WebCore/ChangeLog 2018-11-28 22:07:20 UTC (rev 238637)
@@ -1,3 +1,60 @@
+2018-11-28 Keith Rollin <krol...@apple.com>
+
+ Revert print_all_generated_files work in r238008; tighten up target specifications
+ https://bugs.webkit.org/show_bug.cgi?id=192025
+ <rdar://problem/46284301>
+
+ Reviewed by Alex Christensen.
+
+ In r238008, I added a facility for DerivedSources.make makefiles to
+ print out the list of files that they generate. This output was used
+ in the generation of .xcfilelist files used to specify the output of
+ the associated Generate Derived Sources build phases in Xcode. This
+ approach worked, but it meant that people would need to follow a
+ specific convention to keep this mechanism working.
+
+ Instead of continuing this approach, I'm going to implement a new
+ facility based on the output of `make` when passed the -d flag (which
+ prints dependency information). This new mechanism is completely
+ automatic and doesn't need maintainers to follow a convention. To that
+ end, remove most of the work performed in r238008 that supports the
+ print_all_generated_files target.
+
+ At the same time, it's important for the sets of targets and their
+ dependencies to be complete and correct. Therefore, also include
+ changes to bring those up-to-date. As part of that, you'll see
+ prevalent use of a particular technique. Here's an example:
+
+ BYTECODE_FILES = \
+ Bytecodes.h \
+ BytecodeIndices.h \
+ BytecodeStructs.h \
+ InitBytecodes.asm \
+ #
+ BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
+
+ all : $(BYTECODE_FILES)
+
+ $(BYTECODE_FILES_PATTERNS): $(wildcard $(_javascript_Core)/generator/*.rb) $(_javascript_Core)/bytecode/BytecodeList.rb
+ ...
+
+ These lines indicate a set of generated files (those specified in
+ BYTECODE_FILES). These files are generated by the BytecodeList.rb
+ tool. But, as opposed to the normal rule where a single foo.output is
+ generated by foo.input plus some additional dependencies, this rule
+ produces multiple output files from a tool whose connection to the
+ output files is not immediately clear. A special approach is needed
+ where a single rule produces multiple output files. The normal way to
+ implement this is to use an .INTERMEDIATE target. However, we used
+ this approach in the past and ran into a problem with it, addressing
+ it with an alternate approach in r210507. The above example shows this
+ approach. The .'s in the list of target files are replaced with %'s,
+ and the result is used as the left side of the dependency rule.
+
+ No new tests -- no changed functionality.
+
+ * DerivedSources.make:
+
2018-11-28 Alex Christensen <achristen...@webkit.org>
Remove dead code from an earlier attempt at implementing safe browsing
Modified: trunk/Source/WebCore/DerivedSources.make (238636 => 238637)
--- trunk/Source/WebCore/DerivedSources.make 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/WebCore/DerivedSources.make 2018-11-28 22:07:20 UTC (rev 238637)
@@ -508,7 +508,6 @@
$(WebCore)/css/WebKitCSSMatrix.idl \
$(WebCore)/css/WebKitCSSViewportRule.idl \
$(WebCore)/dom/AbortController.idl \
- $(WebCore)/dom/AbortController.idl \
$(WebCore)/dom/AbortSignal.idl \
$(WebCore)/dom/AnimationEvent.idl \
$(WebCore)/dom/Attr.idl \
@@ -1072,11 +1071,6 @@
else
DELETE = rm -f
endif
-
-ALL_GENERATED_FILES =
-
-all : real_all
-
# --------
ifeq ($(OS),MACOS)
@@ -1131,16 +1125,6 @@
endif
endif
-# Items on ADDITIONAL_BINDING_IDLS get added to JS_BINDING_IDLS and are copied
-# into the current directory.
-#
-# TODO: Determine why they don't need to have full path information prepended
-# to them like the other items in JS_BINDING_IDLS. Perhaps related to the vpath
-# specification set up for *.idl files? Also look into why DocumentTouch.idl,
-# et al, get added to JS_BINDING_IDLS by virtual of ADDITIONAL_BINDING_IDLS
-# getting added to it, and also later on when they are explicitly added to
-# JS_BINDING_IDLS by hand with the full paths.
-
ADDITIONAL_BINDING_IDLS =
ifeq ($(findstring ENABLE_MAC_GESTURE_EVENTS,$(FEATURE_DEFINES)), ENABLE_MAC_GESTURE_EVENTS)
ADDITIONAL_BINDING_IDLS += GestureEvent.idl
@@ -1150,8 +1134,6 @@
ADDITIONAL_BINDING_IDLS += GestureEvent.idl
endif
-# TODO: Determine if the two levels of protection hear are necessary. If so, do
-# they also need to be applied to the parallel files below?
ifeq ($(WTF_PLATFORM_IOS_FAMILY), 1)
ifeq ($(findstring ENABLE_IOS_TOUCH_EVENTS,$(FEATURE_DEFINES)), ENABLE_IOS_TOUCH_EVENTS)
ADDITIONAL_BINDING_IDLS += \
@@ -1162,20 +1144,14 @@
endif
endif # IOS
-# TODO: Check places that use .in files; there seems to be inconsistent use of
-# full paths and partial paths.
vpath %.in $(WEBKITADDITIONS_HEADER_SEARCH_PATHS)
-# TODO: These don't seem to be used. I see that Andreas carefully added these as
-# "extention points", but I'm not seeing how they're actually used.
ADDITIONAL_EVENT_NAMES =
ADDITIONAL_EVENT_TARGET_FACTORY =
JS_BINDING_IDLS += $(ADDITIONAL_BINDING_IDLS)
-# TODO: Is this needed? Down below, we say "all : ALL_GENERATED_FILES", which
-# includes JS_DOM_HEADERS, which includes ADDITIONAL_BINDING_IDLS.
-# all : $(ADDITIONAL_BINDING_IDLS:%.idl=JS%.h)
+all : $(ADDITIONAL_BINDING_IDLS:%.idl=JS%.h)
vpath %.idl $(BUILT_PRODUCTS_DIR)/usr/local/include $(SDKROOT)/usr/local/include
@@ -1192,6 +1168,8 @@
$(WebCore)/dom/TouchList.idl
endif
+.PHONY : all
+
JS_DOM_CLASSES=$(basename $(notdir $(JS_BINDING_IDLS)))
JS_DOM_HEADERS=$(filter-out JSEventListener.h, $(JS_DOM_CLASSES:%=JS%.h))
@@ -1199,7 +1177,54 @@
WEB_DOM_HEADERS :=
-ALL_GENERATED_FILES += $(JS_DOM_HEADERS) $(JS_DOM_IMPLEMENTATIONS) $(WEB_DOM_HEADERS)
+all : \
+ $(JS_DOM_HEADERS) \
+ $(JS_DOM_IMPLEMENTATIONS) \
+ $(WEB_DOM_HEADERS) \
+ \
+ CSSPropertyNames.cpp \
+ CSSPropertyNames.h \
+ CSSValueKeywords.cpp \
+ CSSValueKeywords.h \
+ ColorData.cpp \
+ DOMJITAbstractHeapRepository.h \
+ EventInterfaces.h \
+ EventTargetInterfaces.h \
+ HTMLElementFactory.cpp \
+ HTMLElementFactory.h \
+ HTMLElementTypeHelpers.h \
+ HTMLEntityTable.cpp \
+ HTMLNames.cpp \
+ HTMLNames.h \
+ JSHTMLElementWrapperFactory.cpp \
+ JSHTMLElementWrapperFactory.h \
+ JSMathMLElementWrapperFactory.cpp \
+ JSMathMLElementWrapperFactory.h \
+ JSSVGElementWrapperFactory.cpp \
+ JSSVGElementWrapperFactory.h \
+ PlugInsResources.h \
+ SVGElementFactory.cpp \
+ SVGElementFactory.h \
+ SVGElementTypeHelpers.h \
+ SVGNames.cpp \
+ SVGNames.h \
+ SelectorPseudoClassAndCompatibilityElementMap.cpp \
+ SelectorPseudoElementTypeMap.cpp \
+ StyleBuilder.cpp \
+ StylePropertyShorthandFunctions.cpp \
+ StylePropertyShorthandFunctions.h \
+ UserAgentStyleSheets.h \
+ WebKitFontFamilyNames.cpp \
+ WebKitFontFamilyNames.h \
+ XLinkNames.cpp \
+ XMLNSNames.cpp \
+ XMLNames.cpp \
+ MathMLElementFactory.cpp \
+ MathMLElementFactory.h \
+ MathMLElementTypeHelpers.h \
+ MathMLNames.cpp \
+ MathMLNames.h \
+#
# --------
@@ -1232,7 +1257,7 @@
#
CSS_PROPERTY_NAME_FILES_PATTERNS = $(subst .,%,$(CSS_PROPERTY_NAME_FILES))
-ALL_GENERATED_FILES += $(CSS_PROPERTY_NAME_FILES)
+all : $(CSS_PROPERTY_NAME_FILES)
$(CSS_PROPERTY_NAME_FILES_PATTERNS) : $(WEBCORE_CSS_PROPERTY_NAMES) css/makeprop.pl $(PLATFORM_FEATURE_DEFINES)
$(PERL) -pe '' $(WEBCORE_CSS_PROPERTY_NAMES) > CSSProperties.json
$(PERL) "$(WebCore)/css/makeprop.pl" --defines "$(FEATURE_AND_PLATFORM_DEFINES)"
@@ -1243,7 +1268,7 @@
#
CSS_VALUE_KEYWORD_FILES_PATTERNS = $(subst .,%,$(CSS_VALUE_KEYWORD_FILES))
-ALL_GENERATED_FILES += $(CSS_VALUE_KEYWORD_FILES)
+all : $(CSS_VALUE_KEYWORD_FILES)
$(CSS_VALUE_KEYWORD_FILES_PATTERNS) : $(WEBCORE_CSS_VALUE_KEYWORDS) css/makevalues.pl bindings/scripts/preprocessor.pm $(PLATFORM_FEATURE_DEFINES)
$(PERL) -pe '' $(WEBCORE_CSS_VALUE_KEYWORDS) > CSSValueKeywords.in
$(PERL) "$(WebCore)/css/makevalues.pl" --defines "$(FEATURE_AND_PLATFORM_DEFINES)"
@@ -1252,11 +1277,9 @@
# CSS Selector pseudo type name to value map.
-ALL_GENERATED_FILES += SelectorPseudoClassAndCompatibilityElementMap.cpp
SelectorPseudoClassAndCompatibilityElementMap.cpp : $(WebCore)/css/makeSelectorPseudoClassAndCompatibilityElementMap.py $(WebCore)/css/SelectorPseudoClassAndCompatibilityElementMap.in
$(PYTHON) "$(WebCore)/css/makeSelectorPseudoClassAndCompatibilityElementMap.py" $(WebCore)/css/SelectorPseudoClassAndCompatibilityElementMap.in gperf "$(FEATURE_DEFINES)"
-ALL_GENERATED_FILES += SelectorPseudoElementTypeMap.cpp
SelectorPseudoElementTypeMap.cpp : $(WebCore)/css/makeSelectorPseudoElementsMap.py $(WebCore)/css/SelectorPseudoElementTypeMap.in
$(PYTHON) "$(WebCore)/css/makeSelectorPseudoElementsMap.py" $(WebCore)/css/SelectorPseudoElementTypeMap.in gperf "$(FEATURE_DEFINES)"
@@ -1264,7 +1287,8 @@
# DOMJIT Abstract Heap
-ALL_GENERATED_FILES += DOMJITAbstractHeapRepository.h
+all : DOMJITAbstractHeapRepository.h
+
DOMJITAbstractHeapRepository.h : $(WebCore)/domjit/generate-abstract-heap.rb $(WebCore)/domjit/DOMJITAbstractHeapRepository.yaml
$(RUBY) "$(WebCore)/domjit/generate-abstract-heap.rb" $(WebCore)/domjit/DOMJITAbstractHeapRepository.yaml ./DOMJITAbstractHeapRepository.h
@@ -1272,7 +1296,8 @@
# XMLViewer CSS
-ALL_GENERATED_FILES += XMLViewerCSS.h
+all : XMLViewerCSS.h
+
XMLViewerCSS.h : xml/XMLViewer.css
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/cssmin.py <"$(WebCore)/xml/XMLViewer.css" > ./XMLViewer.min.css
$(PERL) $(_javascript_Core_SCRIPTS_DIR)/xxd.pl XMLViewer_css ./XMLViewer.min.css XMLViewerCSS.h
@@ -1282,7 +1307,8 @@
# XMLViewer JS
-ALL_GENERATED_FILES += XMLViewerJS.h
+all : XMLViewerJS.h
+
XMLViewerJS.h : xml/XMLViewer.js
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/jsmin.py <"$(WebCore)/xml/XMLViewer.js" > ./XMLViewer.min.js
$(PERL) $(_javascript_Core_SCRIPTS_DIR)/xxd.pl XMLViewer_js ./XMLViewer.min.js XMLViewerJS.h
@@ -1292,7 +1318,6 @@
# HTML entity names
-ALL_GENERATED_FILES += HTMLEntityTable.cpp
HTMLEntityTable.cpp : html/parser/HTMLEntityNames.in $(WebCore)/html/parser/create-html-entity-table
$(PYTHON) $(WebCore)/html/parser/create-html-entity-table -o HTMLEntityTable.cpp $(WebCore)/html/parser/HTMLEntityNames.in
@@ -1307,7 +1332,7 @@
#
HTTP_HEADER_NAMES_FILES_PATTERNS = $(subst .,%,$(HTTP_HEADER_NAMES_FILES))
-ALL_GENERATED_FILES += $(HTTP_HEADER_NAMES_FILES)
+all : $(HTTP_HEADER_NAMES_FILES)
$(HTTP_HEADER_NAMES_FILES_PATTERNS) : platform/network/HTTPHeaderNames.in $(WebCore)/platform/network/create-http-header-name-table
$(PYTHON) $(WebCore)/platform/network/create-http-header-name-table $(WebCore)/platform/network/HTTPHeaderNames.in gperf
@@ -1315,7 +1340,6 @@
# color names
-ALL_GENERATED_FILES += ColorData.cpp
ColorData.cpp : platform/ColorData.gperf $(WebCore)/make-hash-tools.pl
$(PERL) $(WebCore)/make-hash-tools.pl . $(WebCore)/platform/ColorData.gperf
@@ -1353,7 +1377,6 @@
USER_AGENT_STYLE_SHEETS += $(WebCore)/html/shadow/meterElementShadow.css
endif
-ALL_GENERATED_FILES += UserAgentStyleSheets.h
UserAgentStyleSheets.h : css/make-css-file-arrays.pl bindings/scripts/preprocessor.pm $(USER_AGENT_STYLE_SHEETS) $(PLATFORM_FEATURE_DEFINES)
$(PERL) $< --defines "$(FEATURE_AND_PLATFORM_DEFINES)" $@ UserAgentStyleSheetsData.cpp $(USER_AGENT_STYLE_SHEETS)
@@ -1374,7 +1397,8 @@
#
USER_AGENT_SCRIPTS_FILES_PATTERNS = $(subst .,%,$(USER_AGENT_SCRIPTS_FILES))
-ALL_GENERATED_FILES += $(USER_AGENT_SCRIPTS_FILES)
+all : $(USER_AGENT_SCRIPTS_FILES)
+
$(USER_AGENT_SCRIPTS_FILES_PATTERNS) : $(_javascript_Core_SCRIPTS_DIR)/make-js-file-arrays.py $(USER_AGENT_SCRIPTS)
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/make-js-file-arrays.py -n WebCore $(USER_AGENT_SCRIPTS_FILES) $(USER_AGENT_SCRIPTS)
endif
@@ -1385,7 +1409,6 @@
PLUG_INS_RESOURCES = $(WebCore)/Resources/plugIns.js
-ALL_GENERATED_FILES += PlugInsResources.h
PlugInsResources.h : css/make-css-file-arrays.pl bindings/scripts/preprocessor.pm $(PLUG_INS_RESOURCES) $(PLATFORM_FEATURE_DEFINES)
$(PERL) $< --defines "$(FEATURE_AND_PLATFORM_DEFINES)" $@ PlugInsResourcesData.cpp $(PLUG_INS_RESOURCES)
@@ -1397,7 +1420,7 @@
#
WEBKIT_FONT_FAMILY_NAME_FILES_PATTERNS = $(subst .,%,$(WEBKIT_FONT_FAMILY_NAME_FILES))
-ALL_GENERATED_FILES += $(WEBKIT_FONT_FAMILY_NAME_FILES)
+all : $(WEBKIT_FONT_FAMILY_NAME_FILES)
$(WEBKIT_FONT_FAMILY_NAME_FILES_PATTERNS): dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm css/WebKitFontFamilyNames.in
$(PERL) $< --fonts $(WebCore)/css/WebKitFontFamilyNames.in
@@ -1446,15 +1469,14 @@
#
HTML_TAG_FILES_PATTERNS = $(subst .,%,$(HTML_TAG_FILES))
-ALL_GENERATED_FILES += $(HTML_TAG_FILES)
+all : $(HTML_TAG_FILES)
+
$(HTML_TAG_FILES_PATTERNS) : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm html/HTMLTagNames.in html/HTMLAttributeNames.in
$(PERL) $< --tags $(WebCore)/html/HTMLTagNames.in --attrs $(WebCore)/html/HTMLAttributeNames.in --factory --wrapperFactory $(if $(HTML_FLAGS), --extraDefines "$(HTML_FLAGS)")
-ALL_GENERATED_FILES += XMLNSNames.cpp
XMLNSNames.cpp : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm xml/xmlnsattrs.in
$(PERL) $< --attrs $(WebCore)/xml/xmlnsattrs.in
-ALL_GENERATED_FILES += XMLNames.cpp
XMLNames.cpp : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm xml/xmlattrs.in
$(PERL) $< --attrs $(WebCore)/xml/xmlattrs.in
@@ -1479,11 +1501,11 @@
#
SVG_TAG_FILES_PATTERNS = $(subst .,%,$(SVG_TAG_FILES))
-ALL_GENERATED_FILES += $(SVG_TAG_FILES)
+all : $(SVG_TAG_FILES)
+
$(SVG_TAG_FILES_PATTERNS) : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm svg/svgtags.in svg/svgattrs.in
$(PERL) $< --tags $(WebCore)/svg/svgtags.in --attrs $(WebCore)/svg/svgattrs.in --factory --wrapperFactory $(if $(SVG_FLAGS), --extraDefines "$(SVG_FLAGS)")
-ALL_GENERATED_FILES += XLinkNames.cpp
XLinkNames.cpp : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm svg/xlinkattrs.in
$(PERL) $< --attrs $(WebCore)/svg/xlinkattrs.in
@@ -1500,7 +1522,7 @@
#
EVENT_FACTORY_PATTERNS = $(subst .,%,$(EVENT_FACTORY_FILES))
-ALL_GENERATED_FILES += $(EVENT_FACTORY_FILES)
+all : $(EVENT_FACTORY_FILES)
$(EVENT_FACTORY_PATTERNS) : dom/make_event_factory.pl $(EVENT_NAMES)
$(PERL) $< $(addprefix --input , $(filter-out $(WebCore)/dom/make_event_factory.pl, $^))
@@ -1513,7 +1535,7 @@
#
EVENT_TARGET_FACTORY_PATTERNS = $(subst .,%,$(EVENT_TARGET_FACTORY_FILES))
-ALL_GENERATED_FILES += $(EVENT_TARGET_FACTORY_FILES)
+all : $(EVENT_TARGET_FACTORY_FILES)
$(EVENT_TARGET_FACTORY_PATTERNS) : dom/make_event_factory.pl $(EVENT_TARGET_FACTORY)
$(PERL) $< $(addprefix --input , $(filter-out $(WebCore)/dom/make_event_factory.pl, $^))
@@ -1532,7 +1554,7 @@
#
MATH_ML_GENERATED_PATTERNS = $(subst .,%,$(MATH_ML_GENERATED_FILES))
-ALL_GENERATED_FILES += $(MATH_ML_GENERATED_FILES)
+all : $(MATH_ML_GENERATED_FILES)
$(MATH_ML_GENERATED_PATTERNS) : dom/make_names.pl bindings/scripts/Hasher.pm bindings/scripts/StaticString.pm mathml/mathtags.in mathml/mathattrs.in
$(PERL) $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory
@@ -1550,7 +1572,7 @@
GENERATE_SETTINGS_FILES = $(basename $(notdir $(GENERATE_SETTINGS_TEMPLATES)))
GENERATE_SETTINGS_PATTERNS = $(subst .,%,$(GENERATE_SETTINGS_FILES))
-ALL_GENERATED_FILES += $(GENERATE_SETTINGS_FILES)
+all : $(GENERATE_SETTINGS_FILES)
$(GENERATE_SETTINGS_PATTERNS) : $(WebCore)/Scripts/GenerateSettings.rb $(GENERATE_SETTINGS_TEMPLATES) page/Settings.yaml
$(RUBY) $< --input $(WebCore)/page/Settings.yaml
@@ -1597,16 +1619,15 @@
JS_BINDINGS_SCRIPTS = $(COMMON_BINDINGS_SCRIPTS) bindings/scripts/CodeGeneratorJS.pm
-# TODO: These next six files get created, and so should probably go into the xcfilelist
-SUPPLEMENTAL_DEPENDENCY_FILE = ./SupplementalDependencies.txt
-SUPPLEMENTAL_MAKEFILE_DEPS = ./SupplementalDependencies.dep
-WINDOW_CONSTRUCTORS_FILE = ./DOMWindowConstructors.idl
-WORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./WorkerGlobalScopeConstructors.idl
-DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./DedicatedWorkerGlobalScopeConstructors.idl
-SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./ServiceWorkerGlobalScopeConstructors.idl
-WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE = ./WorkletGlobalScopeConstructors.idl
-PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE = ./PaintWorkletGlobalScopeConstructors.idl
-IDL_FILES_TMP = ./idl_files.tmp
+SUPPLEMENTAL_DEPENDENCY_FILE = SupplementalDependencies.txt
+SUPPLEMENTAL_MAKEFILE_DEPS = SupplementalDependencies.dep
+WINDOW_CONSTRUCTORS_FILE = DOMWindowConstructors.idl
+WORKERGLOBALSCOPE_CONSTRUCTORS_FILE = WorkerGlobalScopeConstructors.idl
+DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = DedicatedWorkerGlobalScopeConstructors.idl
+SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ServiceWorkerGlobalScopeConstructors.idl
+WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE = WorkletGlobalScopeConstructors.idl
+PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE = PaintWorkletGlobalScopeConstructors.idl
+IDL_FILES_TMP = idl_files.tmp
IDL_ATTRIBUTES_FILE = $(WebCore)/bindings/scripts/IDLAttributes.json
# The following lines get a newline character stored in a variable.
@@ -1616,25 +1637,46 @@
endef
-$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(JS_BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES) DerivedSources.make
+
+IDL_INTERMEDIATE_FILES = \
+ $(SUPPLEMENTAL_MAKEFILE_DEPS) \
+ $(SUPPLEMENTAL_DEPENDENCY_FILE) \
+ $(WINDOW_CONSTRUCTORS_FILE) \
+ $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) \
+ $(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) \
+ $(SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) \
+ $(WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) \
+ $(PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE)
+#
+IDL_INTERMEDIATE_PATTERNS = $(subst .,%,$(IDL_INTERMEDIATE_FILES))
+
+$(IDL_INTERMEDIATE_PATTERNS) : $(PREPROCESS_IDLS_SCRIPTS) $(JS_BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES) DerivedSources.make
$(foreach f,$(JS_BINDING_IDLS),@echo $(f)>>$(IDL_FILES_TMP)$(NL))
$(PERL) $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "$(FEATURE_AND_PLATFORM_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --windowConstructorsFile $(WINDOW_CONSTRUCTORS_FILE) --workerGlobalScopeConstructorsFile $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --dedicatedWorkerGlobalScopeConstructorsFile $(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --serviceWorkerGlobalScopeConstructorsFile $(SERVICEWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --workletGlobalScopeConstructorsFile $(WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) --paintWorkletGlobalScopeConstructorsFile $(PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) --supplementalMakefileDeps $@
$(DELETE) $(IDL_FILES_TMP)
-JS%.cpp JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE) $(WINDOW_CONSTRUCTORS_FILE) $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) $(WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) $(PLATFORM_FEATURE_DEFINES)
+JS%.cpp JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE) $(IDL_INTERMEDIATE_FILES) $(PLATFORM_FEATURE_DEFINES)
$(PERL) $(WebCore)/bindings/scripts/generate-bindings.pl $(IDL_COMMON_ARGS) --defines "$(FEATURE_AND_PLATFORM_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT" --generator JS --idlAttributesFile $(IDL_ATTRIBUTES_FILE) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) $<
+ifneq ($(NO_SUPPLEMENTAL_FILES),1)
-include $(SUPPLEMENTAL_MAKEFILE_DEPS)
+endif
+ifneq ($(NO_SUPPLEMENTAL_FILES),1)
+-include $(JS_DOM_HEADERS:.h=.dep)
+endif
+
# Inspector interfaces
-ALL_GENERATED_FILES += InspectorOverlayPage.h
+all : InspectorOverlayPage.h
+
InspectorOverlayPage.h : InspectorOverlayPage.html InspectorOverlayPage.css InspectorOverlayPage.js
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/inline-and-minify-stylesheets-and-scripts.py $(WebCore)/inspector/InspectorOverlayPage.html ./InspectorOverlayPage.combined.html
$(PERL) $(_javascript_Core_SCRIPTS_DIR)/xxd.pl InspectorOverlayPage_html ./InspectorOverlayPage.combined.html InspectorOverlayPage.h
$(DELETE) InspectorOverlayPage.combined.html
-ALL_GENERATED_FILES += CommandLineAPIModuleSource.h
+all : CommandLineAPIModuleSource.h
+
CommandLineAPIModuleSource.h : CommandLineAPIModuleSource.js
echo "//# sourceURL=__InjectedScript_CommandLineAPIModuleSource.js" > ./CommandLineAPIModuleSource.min.js
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/jsmin.py <$(WebCore)/inspector/CommandLineAPIModuleSource.js >> ./CommandLineAPIModuleSource.min.js
@@ -1641,8 +1683,6 @@
$(PERL) $(_javascript_Core_SCRIPTS_DIR)/xxd.pl CommandLineAPIModuleSource_js ./CommandLineAPIModuleSource.min.js CommandLineAPIModuleSource.h
$(DELETE) CommandLineAPIModuleSource.min.js
--include $(JS_DOM_HEADERS:.h=.dep)
-
# WebCore JS Builtins
WebCore_BUILTINS_SOURCES = \
@@ -1704,27 +1744,7 @@
%Builtins.h: %.js $(BUILTINS_GENERATOR_SCRIPTS) WebCore_BUILTINS_DEPENDENCIES_LIST
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/generate-js-builtins.py --output-directory . --framework WebCore $<
-ALL_GENERATED_FILES += $(notdir $(WebCore_BUILTINS_SOURCES:%.js=%Builtins.h)) $(WebCore_BUILTINS_WRAPPERS)
+all : $(notdir $(WebCore_BUILTINS_SOURCES:%.js=%Builtins.h)) $(WebCore_BUILTINS_WRAPPERS)
# ------------------------
-.PHONY : all real_all print_all_generated_files
-
-# TODO: The first three prerequisites should probably not be here. Some of the
-# file-generation rules use them; *those* rules should be dependent on these
-# script (and then 'all' will transitively be dependent on them).
-real_all : \
- $(SUPPLEMENTAL_DEPENDENCY_FILE) \
- $(WINDOW_CONSTRUCTORS_FILE) \
- $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) \
- $(WORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) \
- $(PAINTWORKLETGLOBALSCOPE_CONSTRUCTORS_FILE) \
- $(ALL_GENERATED_FILES) \
-#
-
-print_all_generated_files :
- @for target in $(ALL_GENERATED_FILES); \
- do \
- echo $${target}; \
- done
-
Modified: trunk/Source/WebKit/ChangeLog (238636 => 238637)
--- trunk/Source/WebKit/ChangeLog 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/WebKit/ChangeLog 2018-11-28 22:07:20 UTC (rev 238637)
@@ -1,3 +1,58 @@
+2018-11-28 Keith Rollin <krol...@apple.com>
+
+ Revert print_all_generated_files work in r238008; tighten up target specifications
+ https://bugs.webkit.org/show_bug.cgi?id=192025
+ <rdar://problem/46284301>
+
+ Reviewed by Alex Christensen.
+
+ In r238008, I added a facility for DerivedSources.make makefiles to
+ print out the list of files that they generate. This output was used
+ in the generation of .xcfilelist files used to specify the output of
+ the associated Generate Derived Sources build phases in Xcode. This
+ approach worked, but it meant that people would need to follow a
+ specific convention to keep this mechanism working.
+
+ Instead of continuing this approach, I'm going to implement a new
+ facility based on the output of `make` when passed the -d flag (which
+ prints dependency information). This new mechanism is completely
+ automatic and doesn't need maintainers to follow a convention. To that
+ end, remove most of the work performed in r238008 that supports the
+ print_all_generated_files target.
+
+ At the same time, it's important for the sets of targets and their
+ dependencies to be complete and correct. Therefore, also include
+ changes to bring those up-to-date. As part of that, you'll see
+ prevalent use of a particular technique. Here's an example:
+
+ BYTECODE_FILES = \
+ Bytecodes.h \
+ BytecodeIndices.h \
+ BytecodeStructs.h \
+ InitBytecodes.asm \
+ #
+ BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
+
+ all : $(BYTECODE_FILES)
+
+ $(BYTECODE_FILES_PATTERNS): $(wildcard $(_javascript_Core)/generator/*.rb) $(_javascript_Core)/bytecode/BytecodeList.rb
+ ...
+
+ These lines indicate a set of generated files (those specified in
+ BYTECODE_FILES). These files are generated by the BytecodeList.rb
+ tool. But, as opposed to the normal rule where a single foo.output is
+ generated by foo.input plus some additional dependencies, this rule
+ produces multiple output files from a tool whose connection to the
+ output files is not immediately clear. A special approach is needed
+ where a single rule produces multiple output files. The normal way to
+ implement this is to use an .INTERMEDIATE target. However, we used
+ this approach in the past and ran into a problem with it, addressing
+ it with an alternate approach in r210507. The above example shows this
+ approach. The .'s in the list of target files are replaced with %'s,
+ and the result is used as the left side of the dependency rule.
+
+ * DerivedSources.make:
+
2018-11-28 Daniel Bates <daba...@apple.com>
[iOS] Page not defocused when Find-in-page becomes first responder
Modified: trunk/Source/WebKit/DerivedSources.make (238636 => 238637)
--- trunk/Source/WebKit/DerivedSources.make 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Source/WebKit/DerivedSources.make 2018-11-28 22:07:20 UTC (rev 238637)
@@ -93,10 +93,6 @@
DELETE = rm -f
endif
-ALL_GENERATED_FILES =
-
-all : real_all
-
MESSAGE_RECEIVERS = \
AuthenticationManager \
CacheStorageEngineConnection \
@@ -204,15 +200,13 @@
-include WebKitDerivedSourcesAdditions.make
-# Message Receivers
+.PHONY : all
-MESSAGE_RECEIVERS_FILES = \
+all : \
$(MESSAGE_RECEIVERS:%=%MessageReceiver.cpp) \
$(MESSAGE_RECEIVERS:%=%Messages.h) \
#
-ALL_GENERATED_FILES += $(MESSAGE_RECEIVERS_FILES)
-
%MessageReceiver.cpp : %.messages.in $(SCRIPTS)
@echo Generating message receiver for $*...
@python $(WebKit2)/Scripts/generate-message-receiver.py $< > $@
@@ -221,8 +215,6 @@
@echo Generating messages header for $*...
@python $(WebKit2)/Scripts/generate-messages-header.py $< > $@
-# Sandbox Profiles
-
TEXT_PREPROCESSOR_FLAGS=-E -P -w
ifneq ($(SDKROOT),)
@@ -239,14 +231,12 @@
com.apple.WebKit.plugin-common.sb \
com.apple.WebKit.NetworkProcess.sb
-ALL_GENERATED_FILES += $(SANDBOX_PROFILES)
+all : $(SANDBOX_PROFILES)
%.sb : %.sb.in
@echo Pre-processing $* sandbox profile...
grep -o '^[^;]*' $< | $(CC) $(SDK_FLAGS) $(TARGET_TRIPLE_FLAGS) $(TEXT_PREPROCESSOR_FLAGS) $(FRAMEWORK_FLAGS) $(HEADER_FLAGS) -include "wtf/Platform.h" - > $@
-# JSON-RPC Frontend Dispatchers, Backend Dispatchers, Type Builders
-
AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS = \
$(_javascript_Core_SCRIPTS_DIR)/cpp_generator_templates.py \
$(_javascript_Core_SCRIPTS_DIR)/cpp_generator.py \
@@ -266,8 +256,6 @@
$(WebKit2)/UIProcess/Automation/Automation.json \
#
-# TODO: Is there some way to not hardcode this? Can we get it from
-# generate-inspector-protocol-bindings.py and ./Automation.json?
AUTOMATION_PROTOCOL_OUTPUT_FILES = \
AutomationBackendDispatchers.h \
AutomationBackendDispatchers.cpp \
@@ -286,14 +274,12 @@
endif
endif # MACOS
+# JSON-RPC Frontend Dispatchers, Backend Dispatchers, Type Builders
$(AUTOMATION_PROTOCOL_OUTPUT_PATTERNS) : $(AUTOMATION_PROTOCOL_INPUT_FILES) $(AUTOMATION_PROTOCOL_GENERATOR_SCRIPTS)
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/generate-inspector-protocol-bindings.py --framework WebKit $(AUTOMATION_BACKEND_PLATFORM_ARGUMENTS) --backend --outputDir . $(AUTOMATION_PROTOCOL_INPUT_FILES)
-#
-ALL_GENERATED_FILES += $(AUTOMATION_PROTOCOL_OUTPUT_FILES)
+all : $(AUTOMATION_PROTOCOL_OUTPUT_FILES)
-# *ScriptSource generation
-
%ScriptSource.h : %.js $(_javascript_Core_SCRIPTS_DIR)/jsmin.py $(_javascript_Core_SCRIPTS_DIR)/xxd.pl
echo "//# sourceURL=__InjectedScript_$(notdir $<)" > $(basename $(notdir $<)).min.js
$(PYTHON) $(_javascript_Core_SCRIPTS_DIR)/jsmin.py < $< >> $(basename $(notdir $<)).min.js
@@ -300,11 +286,8 @@
$(PERL) $(_javascript_Core_SCRIPTS_DIR)/xxd.pl $(basename $(notdir $<))ScriptSource $(basename $(notdir $<)).min.js $@
$(DELETE) $(basename $(notdir $<)).min.js
-SCRIPT_SOURCE_FILES = \
- WebAutomationSessionProxyScriptSource.h
+all : WebAutomationSessionProxyScriptSource.h
-ALL_GENERATED_FILES += $(SCRIPT_SOURCE_FILES)
-
# WebPreferences generation
WEB_PREFERENCES_TEMPLATES = \
@@ -319,18 +302,7 @@
WEB_PREFERENCES_FILES = $(basename $(notdir $(WEB_PREFERENCES_TEMPLATES)))
WEB_PREFERENCES_PATTERNS = $(subst .,%,$(WEB_PREFERENCES_FILES))
-ALL_GENERATED_FILES += $(WEB_PREFERENCES_FILES)
+all : $(WEB_PREFERENCES_FILES)
$(WEB_PREFERENCES_PATTERNS) : $(WebKit2)/Scripts/GeneratePreferences.rb $(WEB_PREFERENCES_TEMPLATES) $(WebKit2)/Shared/WebPreferences.yaml
$(RUBY) $< --input $(WebKit2)/Shared/WebPreferences.yaml
-
-
-.PHONY : all real_all print_all_generated_files
-
-real_all : $(ALL_GENERATED_FILES)
-
-print_all_generated_files :
- @for target in $(ALL_GENERATED_FILES); \
- do \
- echo $${target}; \
- done
Modified: trunk/Tools/ChangeLog (238636 => 238637)
--- trunk/Tools/ChangeLog 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Tools/ChangeLog 2018-11-28 22:07:20 UTC (rev 238637)
@@ -1,3 +1,59 @@
+2018-11-28 Keith Rollin <krol...@apple.com>
+
+ Revert print_all_generated_files work in r238008; tighten up target specifications
+ https://bugs.webkit.org/show_bug.cgi?id=192025
+ <rdar://problem/46284301>
+
+ Reviewed by Alex Christensen.
+
+ In r238008, I added a facility for DerivedSources.make makefiles to
+ print out the list of files that they generate. This output was used
+ in the generation of .xcfilelist files used to specify the output of
+ the associated Generate Derived Sources build phases in Xcode. This
+ approach worked, but it meant that people would need to follow a
+ specific convention to keep this mechanism working.
+
+ Instead of continuing this approach, I'm going to implement a new
+ facility based on the output of `make` when passed the -d flag (which
+ prints dependency information). This new mechanism is completely
+ automatic and doesn't need maintainers to follow a convention. To that
+ end, remove most of the work performed in r238008 that supports the
+ print_all_generated_files target.
+
+ At the same time, it's important for the sets of targets and their
+ dependencies to be complete and correct. Therefore, also include
+ changes to bring those up-to-date. As part of that, you'll see
+ prevalent use of a particular technique. Here's an example:
+
+ BYTECODE_FILES = \
+ Bytecodes.h \
+ BytecodeIndices.h \
+ BytecodeStructs.h \
+ InitBytecodes.asm \
+ #
+ BYTECODE_FILES_PATTERNS = $(subst .,%,$(BYTECODE_FILES))
+
+ all : $(BYTECODE_FILES)
+
+ $(BYTECODE_FILES_PATTERNS): $(wildcard $(_javascript_Core)/generator/*.rb) $(_javascript_Core)/bytecode/BytecodeList.rb
+ ...
+
+ These lines indicate a set of generated files (those specified in
+ BYTECODE_FILES). These files are generated by the BytecodeList.rb
+ tool. But, as opposed to the normal rule where a single foo.output is
+ generated by foo.input plus some additional dependencies, this rule
+ produces multiple output files from a tool whose connection to the
+ output files is not immediately clear. A special approach is needed
+ where a single rule produces multiple output files. The normal way to
+ implement this is to use an .INTERMEDIATE target. However, we used
+ this approach in the past and ran into a problem with it, addressing
+ it with an alternate approach in r210507. The above example shows this
+ approach. The .'s in the list of target files are replaced with %'s,
+ and the result is used as the left side of the dependency rule.
+
+ * DumpRenderTree/DerivedSources.make:
+ * WebKitTestRunner/DerivedSources.make:
+
2018-11-28 Aakash Jain <aakash_j...@apple.com>
[ews-app] Add support to get list of Bugzilla patches needing review
Modified: trunk/Tools/DumpRenderTree/DerivedSources.make (238636 => 238637)
--- trunk/Tools/DumpRenderTree/DerivedSources.make 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Tools/DumpRenderTree/DerivedSources.make 2018-11-28 22:07:20 UTC (rev 238637)
@@ -40,21 +40,13 @@
IDL_ATTRIBUTES_FILE = $(WebCoreScripts)/IDLAttributes.json
-.PHONY : all print_all_generated_files
+.PHONY : all
JS%.h JS%.cpp : %.idl $(SCRIPTS) $(IDL_ATTRIBUTES_FILE)
@echo Generating bindings for $*...
@perl -I $(WebCoreScripts) -I $(UISCRIPTCONTEXT_DIR) -I $(DumpRenderTree)/Bindings $(WebCoreScripts)/generate-bindings.pl --defines "" --include $(UISCRIPTCONTEXT_DIR) --outputDir . --generator DumpRenderTree --idlAttributesFile $(IDL_ATTRIBUTES_FILE) $<
-ALL_GENERATED_FILES = \
+all : \
$(UICONTEXT_INTERFACES:%=JS%.h) \
$(UICONTEXT_INTERFACES:%=JS%.cpp) \
#
-
-all : $(ALL_GENERATED_FILES)
-
-print_all_generated_files :
- @for target in $(ALL_GENERATED_FILES); \
- do \
- echo $${target}; \
- done
Modified: trunk/Tools/WebKitTestRunner/DerivedSources.make (238636 => 238637)
--- trunk/Tools/WebKitTestRunner/DerivedSources.make 2018-11-28 21:59:51 UTC (rev 238636)
+++ trunk/Tools/WebKitTestRunner/DerivedSources.make 2018-11-28 22:07:20 UTC (rev 238637)
@@ -50,23 +50,15 @@
IDL_ATTRIBUTES_FILE = $(WebCoreScripts)/IDLAttributes.json
-.PHONY : all print_all_generated_files
+.PHONY : all
JS%.h JS%.cpp : %.idl $(SCRIPTS) $(IDL_ATTRIBUTES_FILE)
@echo Generating bindings for $*...
@perl -I $(WebCoreScripts) -I $(WebKitTestRunner)/InjectedBundle/Bindings -I $(WebKitTestRunner)/UIScriptContext/Bindings $(WebCoreScripts)/generate-bindings.pl --defines "" --include InjectedBundle/Bindings --include UIScriptContext/Bindings --outputDir . --generator TestRunner --idlAttributesFile $(IDL_ATTRIBUTES_FILE) $<
-ALL_GENERATED_FILES = \
+all : \
$(INJECTED_BUNDLE_INTERFACES:%=JS%.h) \
$(INJECTED_BUNDLE_INTERFACES:%=JS%.cpp) \
$(UICONTEXT_INTERFACES:%=JS%.h) \
$(UICONTEXT_INTERFACES:%=JS%.cpp) \
#
-
-all : $(ALL_GENERATED_FILES)
-
-print_all_generated_files :
- @for target in $(ALL_GENERATED_FILES); \
- do \
- echo $${target}; \
- done