<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[161497] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/161497">161497</a></dd>
<dt>Author</dt> <dd>zandobersek@gmail.com</dd>
<dt>Date</dt> <dd>2014-01-08 07:13:06 -0800 (Wed, 08 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[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/JavaScriptCore: 

* 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.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreGNUmakefileam">trunk/Source/JavaScriptCore/GNUmakefile.am</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreGNUmakefileam">trunk/Source/WebCore/GNUmakefile.am</a></li>
<li><a href="#trunkSourceWebCorebindingsgobjectGNUmakefileam">trunk/Source/WebCore/bindings/gobject/GNUmakefile.am</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2GNUmakefileam">trunk/Source/WebKit2/GNUmakefile.am</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/JavaScriptCore/ChangeLog        2014-01-08 15:13:06 UTC (rev 161497)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-01-08  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        [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.
+
</ins><span class="cx"> 2014-01-07  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         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
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/GNUmakefile.am (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/GNUmakefile.am        2014-01-08 14:35:12 UTC (rev 161496)
+++ trunk/Source/JavaScriptCore/GNUmakefile.am        2014-01-08 15:13:06 UTC (rev 161497)
</span><span class="lines">@@ -95,11 +95,13 @@
</span><span class="cx"> 
</span><span class="cx"> DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h: $(javascriptcore_sources) $(llint_nosources) $(offlineasm_nosources)
</span><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm $@
</span><ins>+        $(AM_V_at)touch $@
</ins><span class="cx"> 
</span><span class="cx"> $(Programs_LLIntOffsetsExtractor_OBJECTS): DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h
</span><span class="cx"> 
</span><span class="cx"> DerivedSources/JavaScriptCore/LLIntAssembly.h: Programs/LLIntOffsetsExtractor$(EXEEXT)
</span><span class="cx">         $(AM_V_GEN)$(RUBY) $(srcdir)/Source/JavaScriptCore/offlineasm/asm.rb $(srcdir)/Source/JavaScriptCore/llint/LowLevelInterpreter.asm Programs/LLIntOffsetsExtractor$(EXEEXT) $@
</span><ins>+        $(AM_V_at)touch $@
</ins><span class="cx"> 
</span><span class="cx"> $(libjavascriptcoregtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_OBJECTS): DerivedSources/JavaScriptCore/LLIntAssembly.h
</span><span class="cx"> 
</span><span class="lines">@@ -235,6 +237,7 @@
</span><span class="cx"> # Copy generated header files to DerivedSources/JavaScriptCore/inspector so that WebCore's ForwardingHeader style of #include &lt;inspector/Foo.h&gt; will work.
</span><span class="cx"> DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.cpp: DerivedSources/JavaScriptCore/InspectorJS.json $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspectorStrings.py
</span><span class="cx">         $(AM_V_GEN)$(PYTHON) $(INSPECTOR_SCRIPTS_DIR)/CodeGeneratorInspector.py $&lt; --output_h_dir $(GENSOURCES_JAVASCRIPTCORE) --output_cpp_dir $(GENSOURCES_JAVASCRIPTCORE) --output_js_dir $(GENSOURCES_JAVASCRIPTCORE) --output_type JavaScript
</span><ins>+        $(AM_V_at)touch $@
</ins><span class="cx">         mkdir -p DerivedSources/JavaScriptCore/inspector
</span><span class="cx">         cp DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h DerivedSources/JavaScriptCore/InspectorJSFrontendDispatchers.h DerivedSources/JavaScriptCore/InspectorJSBackendDispatchers.h DerivedSources/JavaScriptCore/inspector
</span><span class="cx"> DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.h: DerivedSources/JavaScriptCore/InspectorJSTypeBuilders.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-01-08  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        [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.
+
</ins><span class="cx"> 2014-01-08  Frédéric Wang  &lt;fred.wang@free.fr&gt;
</span><span class="cx"> 
</span><span class="cx">         Remove invalid comments from mathtags.ing
</span></span></pre></div>
<a id="trunkSourceWebCoreGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/GNUmakefile.am (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -360,6 +360,7 @@
</span><span class="cx"> # All Web Inspector generated files are created with this one call to CodeGeneratorInspector.py
</span><span class="cx"> 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
</span><span class="cx">         $(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
</span><ins>+        $(AM_V_at)touch $@
</ins><span class="cx"> DerivedSources/WebCore/InspectorWebTypeBuilders.h: DerivedSources/WebCore/InspectorWebTypeBuilders.cpp
</span><span class="cx"> DerivedSources/WebCore/InspectorWebTypeBuilders.cpp: DerivedSources/WebCore/InspectorWebFrontendDispatchers.h
</span><span class="cx"> DerivedSources/WebCore/InspectorWebFrontendDispatchers.h: DerivedSources/WebCore/InspectorWebFrontendDispatchers.cpp
</span><span class="lines">@@ -446,6 +447,7 @@
</span><span class="cx">         $(AM_V_at)true &gt; $(idl_files_list)
</span><span class="cx">         $(AM_V_at)($(foreach idl, $(dom_binding_idls), echo $(idl) &amp;&amp;) true) &gt;&gt; $(idl_files_list)
</span><span class="cx">         $(AM_V_at)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/preprocess-idls.pl --defines &quot;LANGUAGE_JAVASCRIPT=1 $(feature_defines)&quot; --idlFilesList $(idl_files_list) --windowConstructorsFile $(window_constructors_file) --workerGlobalScopeConstructorsFile $(workerglobalscope_constructors_file) --sharedWorkerGlobalScopeConstructorsFile $(sharedworkerglobalscope_constructors_file) --dedicatedWorkerGlobalScopeConstructorsFile $(dedicatedworkerglobalscope_constructors_file) --supplementalDependencyFile $@
</span><ins>+        $(AM_V_at)touch $@
</ins><span class="cx"> 
</span><span class="cx"> .PHONY: $(window_constructors_file) $(workerglobalscope_constructors_file) $(sharedworkerglobalscope_constructors_file) $(dedicatedworkerglobalscope_constructors_file)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsgobjectGNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/gobject/GNUmakefile.am (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -501,8 +501,7 @@
</span><span class="cx"> DerivedSources/webkitdom/webkitdom.symbols: $(gdom_symbol_files) $(WebCore)/bindings/gobject/webkitdom.symbols $(WebCore)/bindings/scripts/gobject-run-api-break-test
</span><span class="cx">         $(AM_V_GEN)cat $(gdom_symbol_files) &gt; gdom-gen-symbols \
</span><span class="cx">         &amp;&amp; $(PYTHON) $(WebCore)/bindings/scripts/gobject-run-api-break-test $(WebCore)/bindings/gobject/webkitdom.symbols gdom-gen-symbols \
</span><del>-        &amp;&amp; (cmp -s gdom-gen-symbols $@ || cp gdom-gen-symbols $@) \
-        &amp;&amp; rm -f gdom-gen-symbols
</del><ins>+        &amp;&amp; mv gdom-gen-symbols $@
</ins><span class="cx"> 
</span><span class="cx"> EXTRA_DIST += \
</span><span class="cx">         $(WebCore)/bindings/gobject/WebKitDOMCustom.symbols \
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2014-01-08  Zan Dobersek  &lt;zdobersek@igalia.com&gt;
+
+        [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.
+
</ins><span class="cx"> 2014-01-07  Eric Carlson  &lt;eric.carlson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Teach MediaSessionManager to manage interruptions
</span></span></pre></div>
<a id="trunkSourceWebKit2GNUmakefileam"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/GNUmakefile.am (161496 => 161497)</h4>
<pre class="diff"><span>
<span class="info">--- 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)
</span><span class="lines">@@ -397,11 +397,11 @@
</span><span class="cx"> 
</span><span class="cx"> $(GENSOURCES_WEBKIT2)/webkit2gtk/include/webkit2: $(webkit2gtk_h_api)
</span><span class="cx">         $(AM_V_GEN)mkdir -p $(GENSOURCES_WEBKIT2)/webkit2gtk/include \
</span><del>-        &amp;&amp; ln -n -s -f ${shell pwd}/$(WebKit2)/UIProcess/API/gtk $@
</del><ins>+        &amp;&amp; ln -s -f ${shell pwd}/$(WebKit2)/UIProcess/API/gtk $@
</ins><span class="cx"> 
</span><span class="cx"> $(GENSOURCES_WEBKIT2)/webkit2extension/include/webkit2: $(webkit2gtk_h_api)
</span><span class="cx">         $(AM_V_GEN)mkdir -p $(GENSOURCES_WEBKIT2)/webkit2extension/include \
</span><del>-        &amp;&amp; ln -n -s -f ${shell pwd}/$(WebKit2)/WebProcess/InjectedBundle/API/gtk $@
</del><ins>+        &amp;&amp; ln -s -f ${shell pwd}/$(WebKit2)/WebProcess/InjectedBundle/API/gtk $@
</ins><span class="cx"> 
</span><span class="cx"> BUILT_SOURCES += \
</span><span class="cx">         $(GENSOURCES_WEBKIT2)/webkit2extension/include/webkit2 \
</span></span></pre>
</div>
</div>

</body>
</html>