Title: [161497] trunk/Source
Revision
161497
Author
[email protected]
Date
2014-01-08 07:13:06 -0800 (Wed, 08 Jan 2014)

Log Message

[Automake] Scripts for generated build targets do not necessarily produce their output
https://bugs.webkit.org/show_bug.cgi?id=126378

Reviewed by Carlos Garcia Campos.

Source/_javascript_Core: 

* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
input. This assures the build targets are up-to-date and can't be older that their dependencies,
which would result in constant regeneration at every build.

Source/WebCore: 

* GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
assure the output is generated every time the script is invoked, most commonly due to unchanged
* bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
instead of copying it if the contents differ and removing it. This again ensures that the output
file is always newer than its dependencies, even if the input hasn't changed.

Source/WebKit2: 

* GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
directories to actual source directories. This doesn't replace the original symbolic link,
which can lead to the actual link being older than its dependencies and subsequent constant
relinking at every build.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (161496 => 161497)


--- trunk/Source/_javascript_Core/ChangeLog	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-01-08 15:13:06 UTC (rev 161497)
@@ -1,3 +1,15 @@
+2014-01-08  Zan Dobersek  <[email protected]>
+
+        [Automake] Scripts for generated build targets do not necessarily produce their output
+        https://bugs.webkit.org/show_bug.cgi?id=126378
+
+        Reviewed by Carlos Garcia Campos.
+
+        * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
+        assure the output is generated every time the script is invoked, most commonly due to unchanged
+        input. This assures the build targets are up-to-date and can't be older that their dependencies,
+        which would result in constant regeneration at every build.
+
 2014-01-07  Filip Pizlo  <[email protected]>
 
         DFG fixup phase should be responsible for inserting ValueToInt32's as needed and it should use Phantom to keep the original values alive in case of OSR exit

Modified: trunk/Source/_javascript_Core/GNUmakefile.am (161496 => 161497)


--- trunk/Source/_javascript_Core/GNUmakefile.am	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/_javascript_Core/GNUmakefile.am	2014-01-08 15:13:06 UTC (rev 161497)
@@ -95,11 +95,13 @@
 
 DerivedSources/_javascript_Core/LLIntDesiredOffsets.h: $(_javascript_core_sources) $(llint_nosources) $(offlineasm_nosources)
 	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/_javascript_Core/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/_javascript_Core/llint/LowLevelInterpreter.asm $@
+	$(AM_V_at)touch $@
 
 $(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/_javascript_Core/LLIntDesiredOffsets.h
 
 DerivedSources/_javascript_Core/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
 	$(AM_V_GEN)$(RUBY) $(srcdir)/Source/_javascript_Core/offlineasm/asm.rb $(srcdir)/Source/_javascript_Core/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
+	$(AM_V_at)touch $@
 
 $(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/_javascript_Core/LLIntAssembly.h
 
@@ -235,6 +237,7 @@
 # Copy generated header files to DerivedSources/_javascript_Core/inspector so that WebCore's ForwardingHeader style of #include <inspector/Foo.h> will work.
 DerivedSources/_javascript_Core/InspectorJSBackendDispatchers.cpp: DerivedSources/_javascript_Core/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py
 	$(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $< --output_h_dir $(GENSOURCES_JAVASCRIPTCORE) --output_cpp_dir $(GENSOURCES_JAVASCRIPTCORE) --output_js_dir $(GENSOURCES_JAVASCRIPTCORE) --output_type _javascript_
+	$(AM_V_at)touch $@
 	mkdir -p DerivedSources/_javascript_Core/inspector
 	cp DerivedSources/_javascript_Core/InspectorJSTypeBuilders.h DerivedSources/_javascript_Core/InspectorJSFrontendDispatchers.h DerivedSources/_javascript_Core/InspectorJSBackendDispatchers.h DerivedSources/_javascript_Core/inspector
 DerivedSources/_javascript_Core/InspectorJSTypeBuilders.h: DerivedSources/_javascript_Core/InspectorJSTypeBuilders.cpp

Modified: trunk/Source/WebCore/ChangeLog (161496 => 161497)


--- trunk/Source/WebCore/ChangeLog	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/WebCore/ChangeLog	2014-01-08 15:13:06 UTC (rev 161497)
@@ -1,3 +1,16 @@
+2014-01-08  Zan Dobersek  <[email protected]>
+
+        [Automake] Scripts for generated build targets do not necessarily produce their output
+        https://bugs.webkit.org/show_bug.cgi?id=126378
+
+        Reviewed by Carlos Garcia Campos.
+
+        * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
+        assure the output is generated every time the script is invoked, most commonly due to unchanged
+        * bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
+        instead of copying it if the contents differ and removing it. This again ensures that the output
+        file is always newer than its dependencies, even if the input hasn't changed.
+
 2014-01-08  Frédéric Wang  <[email protected]>
 
         Remove invalid comments from mathtags.ing

Modified: trunk/Source/WebCore/GNUmakefile.am (161496 => 161497)


--- trunk/Source/WebCore/GNUmakefile.am	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/WebCore/GNUmakefile.am	2014-01-08 15:13:06 UTC (rev 161497)
@@ -360,6 +360,7 @@
 # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
 DerivedSources/WebCore/InspectorWebBackendDispatchers.cpp: $(GENSOURCES_WEBCORE)/InspectorWeb.json $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py $(GENSOURCES_JAVASCRIPTCORE)/InspectorJSTypeBuilders.h
 	$(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(GENSOURCES_WEBCORE)/InspectorWeb.json $(GENSOURCES_JAVASCRIPTCORE)/InspectorJS.json --output_h_dir $(GENSOURCES_WEBCORE) --output_cpp_dir $(GENSOURCES_WEBCORE) --output_js_dir $(GENSOURCES_WEBCORE) --output_type Web
+	$(AM_V_at)touch $@
 DerivedSources/WebCore/InspectorWebTypeBuilders.h: DerivedSources/WebCore/InspectorWebTypeBuilders.cpp
 DerivedSources/WebCore/InspectorWebTypeBuilders.cpp: DerivedSources/WebCore/InspectorWebFrontendDispatchers.h
 DerivedSources/WebCore/InspectorWebFrontendDispatchers.h: DerivedSources/WebCore/InspectorWebFrontendDispatchers.cpp
@@ -446,6 +447,7 @@
 	$(AM_V_at)true > $(idl_files_list)
 	$(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &&) true) >> $(idl_files_list)
 	$(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines "LANGUAGE_JAVASCRIPT=1 $(feature_defines)" --idlFilesList $(idl_files_list) --windowConstructorsFile $(window_constructors_file) --workerGlobalScopeConstructorsFile $(workerglobalscope_constructors_file) --sharedWorkerGlobalScopeConstructorsFile $(sharedworkerglobalscope_constructors_file) --dedicatedWorkerGlobalScopeConstructorsFile $(dedicatedworkerglobalscope_constructors_file) --supplementalDependencyFile $@
+	$(AM_V_at)touch $@
 
 .PHONY: $(window_constructors_file) $(workerglobalscope_constructors_file) $(sharedworkerglobalscope_constructors_file) $(dedicatedworkerglobalscope_constructors_file)
 

Modified: trunk/Source/WebCore/bindings/gobject/GNUmakefile.am (161496 => 161497)


--- trunk/Source/WebCore/bindings/gobject/GNUmakefile.am	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/WebCore/bindings/gobject/GNUmakefile.am	2014-01-08 15:13:06 UTC (rev 161497)
@@ -501,8 +501,7 @@
 DerivedSources/webkitdom/webkitdom.symbols: $(gdom_symbol_files) $(WebCore)/bindings/gobject/webkitdom.symbols $(WebCore)/bindings/scripts/gobject-run-api-break-test
 	$(AM_V_GEN)cat $(gdom_symbol_files) > gdom-gen-symbols \
 	&& $(PYTHON) $(WebCore)/bindings/scripts/gobject-run-api-break-test $(WebCore)/bindings/gobject/webkitdom.symbols gdom-gen-symbols \
-	&& (cmp -s gdom-gen-symbols $@ || cp gdom-gen-symbols $@) \
-	&& rm -f gdom-gen-symbols
+	&& mv gdom-gen-symbols $@
 
 EXTRA_DIST += \
 	$(WebCore)/bindings/gobject/WebKitDOMCustom.symbols \

Modified: trunk/Source/WebKit2/ChangeLog (161496 => 161497)


--- trunk/Source/WebKit2/ChangeLog	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/WebKit2/ChangeLog	2014-01-08 15:13:06 UTC (rev 161497)
@@ -1,3 +1,15 @@
+2014-01-08  Zan Dobersek  <[email protected]>
+
+        [Automake] Scripts for generated build targets do not necessarily produce their output
+        https://bugs.webkit.org/show_bug.cgi?id=126378
+
+        Reviewed by Carlos Garcia Campos.
+
+        * GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
+        directories to actual source directories. This doesn't replace the original symbolic link,
+        which can lead to the actual link being older than its dependencies and subsequent constant
+        relinking at every build.
+
 2014-01-07  Eric Carlson  <[email protected]>
 
         Teach MediaSessionManager to manage interruptions

Modified: trunk/Source/WebKit2/GNUmakefile.am (161496 => 161497)


--- trunk/Source/WebKit2/GNUmakefile.am	2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/WebKit2/GNUmakefile.am	2014-01-08 15:13:06 UTC (rev 161497)
@@ -397,11 +397,11 @@
 
 $(GENSOURCES_WEBKIT2)/webkit2gtk/include/webkit2: $(webkit2gtk_h_api)
 	$(AM_V_GEN)mkdir -p $(GENSOURCES_WEBKIT2)/webkit2gtk/include \
-	&& ln -n -s -f ${shell pwd}/$(WebKit2)/UIProcess/API/gtk $@
+	&& ln -s -f ${shell pwd}/$(WebKit2)/UIProcess/API/gtk $@
 
 $(GENSOURCES_WEBKIT2)/webkit2extension/include/webkit2: $(webkit2gtk_h_api)
 	$(AM_V_GEN)mkdir -p $(GENSOURCES_WEBKIT2)/webkit2extension/include \
-	&& ln -n -s -f ${shell pwd}/$(WebKit2)/WebProcess/InjectedBundle/API/gtk $@
+	&& ln -s -f ${shell pwd}/$(WebKit2)/WebProcess/InjectedBundle/API/gtk $@
 
 BUILT_SOURCES += \
 	$(GENSOURCES_WEBKIT2)/webkit2extension/include/webkit2 \
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to