<!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>[164865] trunk/Tools</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/164865">164865</a></dd>
<dt>Author</dt> <dd>dbates@webkit.org</dd>
<dt>Date</dt> <dd>2014-02-28 09:53:30 -0800 (Fri, 28 Feb 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>[iOS] DumpRenderTree Perl Support may build against wrong SDK and toolchain
https://bugs.webkit.org/show_bug.cgi?id=129163

Reviewed by David Kilzer.

Fixes an issue where DumpRenderTree Perl Support may build with the specified
iOS Simulator SDK and toolchain instead of using the OS X SDK and toolchain.
This issue manifests itself in a build failure when building the IPhoneSimulatorNotification
bundle.

Currently we build DumpRenderTree Perl Support with respect to the variable SDKROOT,
which is specified either explicitly when building with MAKE(1) or implicitly by
build-{dumprendertree, webkit}. Instead we should always build Perl Support using
the OS X SDK and toolchain since the built products are only applicable to OS X.

* DumpRenderTree/ios/PerlSupport/Makefile:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsDumpRenderTreeiosPerlSupportMakefile">trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (164864 => 164865)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2014-02-28 17:46:12 UTC (rev 164864)
+++ trunk/Tools/ChangeLog        2014-02-28 17:53:30 UTC (rev 164865)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2014-02-28  Daniel Bates  &lt;dabates@apple.com&gt;
+
+        [iOS] DumpRenderTree Perl Support may build against wrong SDK and toolchain
+        https://bugs.webkit.org/show_bug.cgi?id=129163
+
+        Reviewed by David Kilzer.
+
+        Fixes an issue where DumpRenderTree Perl Support may build with the specified
+        iOS Simulator SDK and toolchain instead of using the OS X SDK and toolchain.
+        This issue manifests itself in a build failure when building the IPhoneSimulatorNotification
+        bundle.
+
+        Currently we build DumpRenderTree Perl Support with respect to the variable SDKROOT,
+        which is specified either explicitly when building with MAKE(1) or implicitly by
+        build-{dumprendertree, webkit}. Instead we should always build Perl Support using
+        the OS X SDK and toolchain since the built products are only applicable to OS X.
+
+        * DumpRenderTree/ios/PerlSupport/Makefile:
+
</ins><span class="cx"> 2014-02-28  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r164859.
</span></span></pre></div>
<a id="trunkToolsDumpRenderTreeiosPerlSupportMakefile"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile (164864 => 164865)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile        2014-02-28 17:46:12 UTC (rev 164864)
+++ trunk/Tools/DumpRenderTree/ios/PerlSupport/Makefile        2014-02-28 17:53:30 UTC (rev 164865)
</span><span class="lines">@@ -40,6 +40,13 @@
</span><span class="cx"> # FIXME: We shouldn't hard code these architectures. See &lt;rdar://problem/9047171&gt; for more discussion on why we have to.
</span><span class="cx"> ARCHS=i386 x86_64
</span><span class="cx"> 
</span><ins>+# The DumpRenderTreeSupport dylib and the IPhoneSimulatorNotification bundle are OS X-specific components that
+# are needed to run DumpRenderTree in iOS Simulator. We explicitly unexport environment variables SDKROOT and
+# TOOLCHAINS and then override them to use the OS X SDK and toolchain when building these components.
+unexport SDKROOT
+unexport TOOLCHAINS
+SDKROOT=macosx
+TOOLCHAINS=osx
</ins><span class="cx"> 
</span><span class="cx"> all: $(DYLIB) $(PERL_MODULE)
</span><span class="cx"> 
</span><span class="lines">@@ -51,7 +58,7 @@
</span><span class="cx">         cp DumpRenderTreeSupportPregenerated.pm $(PERL_MODULE)
</span><span class="cx"> 
</span><span class="cx"> $(DYLIB): DumpRenderTreeSupport.c $(WRAPPER)
</span><del>-        xcrun -sdk macosx clang -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, &quot; -arch &quot;, join(&quot; -arch &quot;, split(&quot; &quot;,$$ENV{ARCHS}))'` $^
</del><ins>+        xcrun clang -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, &quot; -arch &quot;, join(&quot; -arch &quot;, split(&quot; &quot;,$$ENV{ARCHS}))'` $^
</ins><span class="cx"> 
</span><span class="cx"> IPHONE_SIMULATOR_NOTIFCATION_BUNDLE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/auto/IPhoneSimulatorNotification/IPhoneSimulatorNotification.bundle
</span><span class="cx"> IPHONE_SIMULATOR_NOTIFCATION_MODULE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/IPhoneSimulatorNotification.pm
</span><span class="lines">@@ -59,7 +66,7 @@
</span><span class="cx"> all: $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE)
</span><span class="cx"> 
</span><span class="cx"> $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE): IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs IPhoneSimulatorNotification/Makefile.PL IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm IPhoneSimulatorNotification/ppport.h IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t
</span><del>-        cd IPhoneSimulatorNotification &amp;&amp; SDKROOT=iphonesimulator perl Makefile.PL INSTALL_BASE=$(OUTPUT_DIR) 
</del><ins>+        cd IPhoneSimulatorNotification &amp;&amp; perl Makefile.PL INSTALL_BASE=$(OUTPUT_DIR)
</ins><span class="cx">         make -C IPhoneSimulatorNotification test
</span><span class="cx">         make -C IPhoneSimulatorNotification install
</span><span class="cx">         make -C IPhoneSimulatorNotification realclean
</span></span></pre>
</div>
</div>

</body>
</html>