<!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>[160594] 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/160594">160594</a></dd>
<dt>Author</dt> <dd>mrowe@apple.com</dd>
<dt>Date</dt> <dd>2013-12-14 02:13:51 -0800 (Sat, 14 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Build fix after <a href="http://trac.webkit.org/projects/webkit/changeset/160557">r160557</a>.

Source/JavaScriptCore:

<a href="http://trac.webkit.org/projects/webkit/changeset/160557">r160557</a> added the first generated header to JavaScriptCore that needs to be installed in to
the framework wrapper. Sadly JavaScriptCore's Derived Sources target was not set to generate
headers when invoked as part of the installhdrs action. This resulted in the build failing
due to Xcode being unable to find the header file to install. The fix for this is to configure
the Derived Sources target to use JavaScriptCore.xcconfig, which sets INSTALLHDRS_SCRIPT_PHASE
to YES and allows Xcode to generate derived sources during the installhdrs action.

Enabling INSTALLHDRS_SCRIPT_PHASE required tweaking the Generate Derived Sources script build
phase to skip running code related to offlineasm that depends on JSCLLIntOffsetExtractor
having been compiled, which isn't the case at installhdrs time.

* JavaScriptCore.xcodeproj/project.pbxproj:

Source/WebCore:

* Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
up the built version in production builds rather than the system version.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreConfigurationsWebCorexcconfig">trunk/Source/WebCore/Configurations/WebCore.xcconfig</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (160593 => 160594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2013-12-14 09:03:58 UTC (rev 160593)
+++ trunk/Source/JavaScriptCore/ChangeLog        2013-12-14 10:13:51 UTC (rev 160594)
</span><span class="lines">@@ -1,3 +1,20 @@
</span><ins>+2013-12-14  Mark Rowe  &lt;mrowe@apple.com&gt;
+
+        Build fix after r160557.
+
+        r160557 added the first generated header to JavaScriptCore that needs to be installed in to
+        the framework wrapper. Sadly JavaScriptCore's Derived Sources target was not set to generate
+        headers when invoked as part of the installhdrs action. This resulted in the build failing
+        due to Xcode being unable to find the header file to install. The fix for this is to configure
+        the Derived Sources target to use JavaScriptCore.xcconfig, which sets INSTALLHDRS_SCRIPT_PHASE
+        to YES and allows Xcode to generate derived sources during the installhdrs action.
+
+        Enabling INSTALLHDRS_SCRIPT_PHASE required tweaking the Generate Derived Sources script build
+        phase to skip running code related to offlineasm that depends on JSCLLIntOffsetExtractor
+        having been compiled, which isn't the case at installhdrs time.
+
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2013-12-13  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Some Set and Map prototype functions have incorrect function lengths
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (160593 => 160594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2013-12-14 09:03:58 UTC (rev 160593)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2013-12-14 10:13:51 UTC (rev 160594)
</span><span class="lines">@@ -5403,7 +5403,7 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                         shellPath = /bin/sh;
</span><del>-                        shellScript = &quot;mkdir -p \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\n\n/bin/ln -sfh \&quot;${SRCROOT}\&quot; JavaScriptCore\nexport JavaScriptCore=\&quot;JavaScriptCore\&quot;\nexport BUILT_PRODUCTS_DIR=\&quot;../..\&quot;\n\nmake --no-builtin-rules -f \&quot;JavaScriptCore/DerivedSources.make\&quot; -j `/usr/sbin/sysctl -n hw.ncpu` || exit 1\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb JavaScriptCore/llint/LowLevelInterpreter.asm ${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor LLIntAssembly.h || exit 1\n&quot;;
</del><ins>+                        shellScript = &quot;mkdir -p \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\ncd \&quot;${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\&quot;\n\n/bin/ln -sfh \&quot;${SRCROOT}\&quot; JavaScriptCore\nexport JavaScriptCore=\&quot;JavaScriptCore\&quot;\nexport BUILT_PRODUCTS_DIR=\&quot;../..\&quot;\n\nmake --no-builtin-rules -f \&quot;JavaScriptCore/DerivedSources.make\&quot; -j `/usr/sbin/sysctl -n hw.ncpu` || exit 1\n\nif [[ \&quot;${ACTION}\&quot; == \&quot;installhdrs\&quot; ]]; then\n    exit 0\nfi\n\n/usr/bin/env ruby JavaScriptCore/offlineasm/asm.rb JavaScriptCore/llint/LowLevelInterpreter.asm ${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor LLIntAssembly.h || exit 1\n&quot;;
</ins><span class="cx">                 };
</span><span class="cx">                 A55DEAA416703DF7003DB841 /* Check For Inappropriate Macros in External Headers */ = {
</span><span class="cx">                         isa = PBXShellScriptBuildPhase;
</span><span class="lines">@@ -6296,6 +6296,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 65FB3F7809D11EBD00F49DEB /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = &quot;Generate Derived Sources&quot;;
</span><span class="cx">                         };
</span><span class="lines">@@ -6303,6 +6304,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 65FB3F7909D11EBD00F49DEB /* Release */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = &quot;Generate Derived Sources&quot;;
</span><span class="cx">                         };
</span><span class="lines">@@ -6310,6 +6312,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 65FB3F7A09D11EBD00F49DEB /* Production */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = &quot;Generate Derived Sources&quot;;
</span><span class="cx">                         };
</span><span class="lines">@@ -6340,6 +6343,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 A76148400E6402F700E357FA /* Profiling */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><ins>+                        baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* JavaScriptCore.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = &quot;Generate Derived Sources&quot;;
</span><span class="cx">                         };
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (160593 => 160594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2013-12-14 09:03:58 UTC (rev 160593)
+++ trunk/Source/WebCore/ChangeLog        2013-12-14 10:13:51 UTC (rev 160594)
</span><span class="lines">@@ -1,3 +1,10 @@
</span><ins>+2013-12-14  Mark Rowe  &lt;mrowe@apple.com&gt;
+
+        Build fix after r160557.
+
+        * Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick
+        up the built version in production builds rather than the system version.
+
</ins><span class="cx"> 2013-12-14  Brendan Long  &lt;b.long@cablelabs.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GStreamer] Use GMutexLocker instead of g_mutex_lock
</span></span></pre></div>
<a id="trunkSourceWebCoreConfigurationsWebCorexcconfig"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Configurations/WebCore.xcconfig (160593 => 160594)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Configurations/WebCore.xcconfig        2013-12-14 09:03:58 UTC (rev 160593)
+++ trunk/Source/WebCore/Configurations/WebCore.xcconfig        2013-12-14 10:13:51 UTC (rev 160594)
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx"> JAVASCRIPTCORE_PRIVATE_HEADERS_DIR = $(JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
</span><span class="cx"> JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Release = $(JAVASCRIPTCORE_PRIVATE_HEADERS_engineering);
</span><span class="cx"> JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Debug = $(JAVASCRIPTCORE_PRIVATE_HEADERS_engineering);
</span><del>-JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production = $(PRODUCTION_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders;
</del><ins>+JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production = $(SDKROOT)$(PRODUCTION_FRAMEWORKS_DIR)/JavaScriptCore.framework/PrivateHeaders;
</ins><span class="cx"> JAVASCRIPTCORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/PrivateHeaders;
</span><span class="cx"> 
</span><span class="cx"> EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
</span></span></pre>
</div>
</div>

</body>
</html>