<!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>[182089] trunk</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/182089">182089</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2015-03-27 16:08:01 -0700 (Fri, 27 Mar 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Support building WTF on Windows without Cygwin
https://bugs.webkit.org/show_bug.cgi?id=143084

Reviewed by Brent Fulgham.

Tools:
Windows without Cygwin doesn't have curl, unzip, or grep. Luckily, Perl does all of these things.
This patch also migrates to using File::Spec-&gt;catfile() for directory separators.

* Scripts/update-webkit-dependency:
(wanted):
* Scripts/update-webkit-support-libs:
(wanted):
(downloadExpectedVersionNumber):
(zipFileVersion):
(toUnixPath): Deleted.
* Scripts/webkitdirs.pm:
(determineSourceDir):
(windowsSourceSourceDir):
(windowsLibrariesDir):
(windowsOutputDir):
(checkInstalledTools):
(buildVisualStudioProject):

Source/WTF:
Windows doesn't have &quot;touch&quot;.

* WTF.vcxproj/WTFGenerated.make:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFWTFvcxprojWTFGeneratedmake">trunk/Source/WTF/WTF.vcxproj/WTFGenerated.make</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptsupdatewebkitdependency">trunk/Tools/Scripts/update-webkit-dependency</a></li>
<li><a href="#trunkToolsScriptsupdatewebkitsupportlibs">trunk/Tools/Scripts/update-webkit-support-libs</a></li>
<li><a href="#trunkToolsScriptswebkitdirspm">trunk/Tools/Scripts/webkitdirs.pm</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Source/WTF/ChangeLog        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2015-03-27  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Support building WTF on Windows without Cygwin
+        https://bugs.webkit.org/show_bug.cgi?id=143084
+
+        Reviewed by Brent Fulgham.
+
+        Windows doesn't have &quot;touch&quot;.
+
+        * WTF.vcxproj/WTFGenerated.make:
+
</ins><span class="cx"> 2015-03-26  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Progress towards CMake on Mac.
</span></span></pre></div>
<a id="trunkSourceWTFWTFvcxprojWTFGeneratedmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/WTF.vcxproj/WTFGenerated.make (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/WTF.vcxproj/WTFGenerated.make        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Source/WTF/WTF.vcxproj/WTFGenerated.make        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> all: WTFHeaderDetection.h
</span><del>-    @touch &quot;%ConfigurationBuildDir%\buildfailed&quot;
</del><ins>+    @type NUL &gt; &quot;%ConfigurationBuildDir%\buildfailed&quot;
</ins><span class="cx">     @perl build-generated-files.pl &quot;%ConfigurationBuildDir%&quot; &quot;$(WEBKIT_LIBRARIES)&quot; &quot;$(DEBUGSUFFIX)&quot; &quot;%PlatformArchitecture%&quot;
</span><span class="cx"> !IF &quot;$(OFFICIAL_BUILD)&quot;!=&quot;1&quot;
</span><span class="cx">     -@python2.7 work-around-vs-dependency-tracking-bugs.py
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Tools/ChangeLog        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2015-03-27  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Support building WTF on Windows without Cygwin
+        https://bugs.webkit.org/show_bug.cgi?id=143084
+
+        Reviewed by Brent Fulgham.
+
+        Windows without Cygwin doesn't have curl, unzip, or grep. Luckily, Perl does all of these things.
+        This patch also migrates to using File::Spec-&gt;catfile() for directory separators.
+
+        * Scripts/update-webkit-dependency:
+        (wanted):
+        * Scripts/update-webkit-support-libs:
+        (wanted):
+        (downloadExpectedVersionNumber):
+        (zipFileVersion):
+        (toUnixPath): Deleted.
+        * Scripts/webkitdirs.pm:
+        (determineSourceDir):
+        (windowsSourceSourceDir):
+        (windowsLibrariesDir):
+        (windowsOutputDir):
+        (checkInstalledTools):
+        (buildVisualStudioProject):
+
</ins><span class="cx"> 2015-03-27  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Fix WinCairo bot.
</span></span></pre></div>
<a id="trunkToolsScriptsupdatewebkitdependency"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/update-webkit-dependency (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/update-webkit-dependency        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Tools/Scripts/update-webkit-dependency        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -70,7 +70,7 @@
</span><span class="cx"> my $sourceDir = sourceDir();
</span><span class="cx"> my $file = getLibraryName($libsURL);
</span><span class="cx"> my $zipFile = &quot;$file.zip&quot;; 
</span><del>-my $webkitLibrariesDir = $ENV{'WEBKIT_LIBRARIES'} || &quot;$sourceDir/WebKitLibraries/win&quot;;
</del><ins>+my $webkitLibrariesDir = $ENV{'WEBKIT_LIBRARIES'} || File::Spec-&gt;catdir($sourceDir, &quot;WebKitLibraries&quot;, &quot;win&quot;);
</ins><span class="cx"> my $tmpRelativeDir = File::Temp::tempdir(&quot;webkitlibsXXXXXXX&quot;, TMPDIR =&gt; 1, CLEANUP =&gt; 1);
</span><span class="cx"> my $tmpAbsDir = File::Spec-&gt;rel2abs($tmpRelativeDir);
</span><span class="cx"> 
</span><span class="lines">@@ -80,7 +80,7 @@
</span><span class="cx"> 
</span><span class="cx"> if (defined $modified_time) {
</span><span class="cx"> 
</span><del>-    open NEW, &quot;&gt;&quot;, &quot;$tmpAbsDir/$file.headers&quot;;
</del><ins>+    open NEW, &quot;&gt;&quot;, File::Spec-&gt;catfile($tmpAbsDir, &quot;$file.headers&quot;);
</ins><span class="cx">     print NEW &quot;Last-Modified: &quot; . time2str($modified_time) . &quot;\n&quot;;
</span><span class="cx">     close NEW;
</span><span class="cx"> 
</span><span class="lines">@@ -91,14 +91,14 @@
</span><span class="cx">     my $headerURL = $libsURL;
</span><span class="cx">     $headerURL =~ s/\.zip$/\.headers/;
</span><span class="cx"> 
</span><del>-    my $result = getstore($headerURL, &quot;$tmpAbsDir/$file.headers&quot;);
</del><ins>+    my $result = getstore($headerURL, File::Spec-&gt;catfile($tmpAbsDir, &quot;$file.headers&quot;));
</ins><span class="cx"> 
</span><span class="cx">     if (!is_success($result)) {
</span><span class="cx">         print STDERR &quot;Couldn't check Last-Modified date of new $zipFile.\n&quot;;
</span><span class="cx">         print STDERR &quot;Please ensure that Perl can use LWP::Simple to connect to HTTPS urls, and that $libsURL is reachable.\n&quot;;
</span><span class="cx">         print STDERR &quot;You may have to run \$ cpan LWP::Protocol::https\n&quot;;
</span><span class="cx"> 
</span><del>-        if (! -f &quot;$webkitLibrariesDir/$file.headers&quot;) {
</del><ins>+        if (! -f File::Spec-&gt;catfile($webkitLibrariesDir, &quot;$file.headers&quot;)) {
</ins><span class="cx">             print STDERR &quot;Unable to check Last-Modified date and no version of $file to fall back to.\n&quot;;
</span><span class="cx">             exit 1;
</span><span class="cx">         }
</span><span class="lines">@@ -108,11 +108,11 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-if (open NEW, &quot;$tmpAbsDir/$file.headers&quot;) {
</del><ins>+if (open NEW, File::Spec-&gt;catfile($tmpAbsDir, &quot;$file.headers&quot;)) {
</ins><span class="cx">     my $new = lastModifiedToUnixTime(&lt;NEW&gt;);
</span><span class="cx">     close NEW;
</span><span class="cx"> 
</span><del>-    if (defined $new &amp;&amp; open OLD, &quot;$webkitLibrariesDir/$file.headers&quot;) {
</del><ins>+    if (defined $new &amp;&amp; open OLD, File::Spec-&gt;catfile($webkitLibrariesDir, &quot;$file.headers&quot;)) {
</ins><span class="cx">         my $old = lastModifiedToUnixTime(&lt;OLD&gt;);
</span><span class="cx">         close OLD;
</span><span class="cx">         if (defined $old &amp;&amp; abs($new - $old) &lt; $newnessThreshold) {
</span><span class="lines">@@ -124,10 +124,10 @@
</span><span class="cx"> 
</span><span class="cx"> print &quot;Downloading $zipFile...\n\n&quot;;
</span><span class="cx"> print &quot;$libsURL\n&quot;;
</span><del>-my $result = getstore($libsURL, &quot;$tmpAbsDir/$zipFile&quot;);
</del><ins>+my $result = getstore($libsURL, File::Spec-&gt;catfile($tmpAbsDir, $zipFile));
</ins><span class="cx"> die &quot;Couldn't download $zipFile!&quot; if is_error($result);
</span><span class="cx"> 
</span><del>-my $zip = Archive::Zip-&gt;new(&quot;$tmpAbsDir/$zipFile&quot;);
</del><ins>+my $zip = Archive::Zip-&gt;new(File::Spec-&gt;catfile($tmpAbsDir, $zipFile));
</ins><span class="cx"> $result = $zip-&gt;extractTree(&quot;&quot;, $tmpAbsDir);
</span><span class="cx"> die &quot;Couldn't unzip $zipFile.&quot; if $result != AZ_OK;
</span><span class="cx"> 
</span><span class="lines">@@ -135,8 +135,8 @@
</span><span class="cx"> 
</span><span class="cx"> sub wanted
</span><span class="cx"> {
</span><del>-    my $relativeName = File::Spec-&gt;abs2rel($File::Find::name, &quot;$tmpAbsDir/$file/$prefixInZip&quot;);
-    my $destination = &quot;$webkitLibrariesDir/$relativeName&quot;;
</del><ins>+    my $relativeName = File::Spec-&gt;abs2rel($File::Find::name, File::Spec-&gt;catdir($tmpAbsDir, $file, $prefixInZip));
+    my $destination = File::Spec-&gt;catfile($webkitLibrariesDir, $relativeName);
</ins><span class="cx"> 
</span><span class="cx">     if (-d $_) {
</span><span class="cx">         mkdir $destination;
</span><span class="lines">@@ -146,9 +146,9 @@
</span><span class="cx">     copy($_, $destination);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-File::Find::find(\&amp;wanted, &quot;$tmpAbsDir/$file&quot;);
</del><ins>+File::Find::find(\&amp;wanted, File::Spec-&gt;catfile($tmpAbsDir, $file));
</ins><span class="cx"> 
</span><del>-$result = move(&quot;$tmpAbsDir/$file.headers&quot;, $webkitLibrariesDir);
</del><ins>+$result = move(File::Spec-&gt;catfile($tmpAbsDir, &quot;$file.headers&quot;), $webkitLibrariesDir);
</ins><span class="cx"> print STDERR &quot;Couldn't move $file.headers to $webkitLibrariesDir&quot; . &quot;.\n&quot; if $result == 0;
</span><span class="cx"> 
</span><span class="cx"> print &quot;The $file has been sucessfully installed in\n $webkitLibrariesDir\n&quot;;
</span></span></pre></div>
<a id="trunkToolsScriptsupdatewebkitsupportlibs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/update-webkit-support-libs (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/update-webkit-support-libs        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Tools/Scripts/update-webkit-support-libs        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -32,11 +32,14 @@
</span><span class="cx"> use strict;
</span><span class="cx"> use warnings;
</span><span class="cx"> 
</span><ins>+use Archive::Zip qw( :ERROR_CODES );
+use File::Copy;
</ins><span class="cx"> use File::Find;
</span><span class="cx"> use File::Temp ();
</span><span class="cx"> use File::Spec;
</span><span class="cx"> use FindBin;
</span><span class="cx"> use lib $FindBin::Bin;
</span><ins>+use LWP::Simple;
</ins><span class="cx"> use webkitdirs;
</span><span class="cx"> 
</span><span class="cx"> use constant NOTAVERSION =&gt; &quot;-1&quot;;
</span><span class="lines">@@ -44,9 +47,9 @@
</span><span class="cx"> my $sourceDir = sourceDir();
</span><span class="cx"> my $file = &quot;WebKitSupportLibrary&quot;;
</span><span class="cx"> my $zipFile = &quot;$file.zip&quot;; 
</span><del>-my $zipDirectory = toUnixPath($ENV{'WEBKITSUPPORTLIBRARIESZIPDIR'}) || $sourceDir;
</del><ins>+my $zipDirectory = $ENV{'WEBKITSUPPORTLIBRARIESZIPDIR'} || $sourceDir;
</ins><span class="cx"> my $pathToZip = File::Spec-&gt;catfile($zipDirectory, $zipFile);
</span><del>-my $webkitLibrariesDir = toUnixPath($ENV{'WEBKIT_LIBRARIES'}) || &quot;$sourceDir/WebKitLibraries/win&quot;;
</del><ins>+my $webkitLibrariesDir = $ENV{'WEBKIT_LIBRARIES'} || File::Spec-&gt;catdir($sourceDir, &quot;WebKitLibraries&quot;, &quot;win&quot;);
</ins><span class="cx"> my $versionFile = $file . &quot;Version&quot;;
</span><span class="cx"> my $pathToVersionFile = File::Spec-&gt;catfile($webkitLibrariesDir, $versionFile);
</span><span class="cx"> my $tmpRelativeDir = File::Temp::tempdir(&quot;webkitlibsXXXXXXX&quot;, TMPDIR =&gt; 1, CLEANUP =&gt; 1);
</span><span class="lines">@@ -71,37 +74,30 @@
</span><span class="cx">     exit;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-my $result = system &quot;unzip&quot;, &quot;-q&quot;, &quot;-d&quot;, $tmpAbsDir, $pathToZip;
-die &quot;Couldn't unzip $zipFile.&quot; if $result;
</del><ins>+my $zip = Archive::Zip-&gt;new($pathToZip);
+my $result = $zip-&gt;extractTree(&quot;&quot;, $tmpAbsDir);
+die &quot;Couldn't unzip $zipFile.&quot; if $result != AZ_OK;
</ins><span class="cx"> 
</span><span class="cx"> print &quot;\nInstalling $file...\n&quot;;
</span><span class="cx"> 
</span><span class="cx"> sub wanted
</span><span class="cx"> {
</span><del>-    my $relativeName = File::Spec-&gt;abs2rel($File::Find::name, &quot;$tmpAbsDir/$file/win&quot;);
-    my $destination = &quot;$webkitLibrariesDir/$relativeName&quot;;
</del><ins>+    my $relativeName = File::Spec-&gt;abs2rel($File::Find::name, File::Spec-&gt;catdir($tmpAbsDir, &quot;$file&quot;, &quot;win&quot;));
+    my $destination = File::Spec-&gt;catfile($webkitLibrariesDir, $relativeName);
</ins><span class="cx"> 
</span><span class="cx">     if (-d $_) {
</span><span class="cx">         mkdir $destination;
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    system &quot;cp&quot;, $_, $destination;
</del><ins>+    copy($_, $destination);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-File::Find::find(\&amp;wanted, &quot;$tmpAbsDir/$file&quot;);
</del><ins>+File::Find::find(\&amp;wanted, File::Spec-&gt;catfile($tmpAbsDir, $file));
</ins><span class="cx"> 
</span><span class="cx"> print &quot;The $file has been sucessfully installed in\n $webkitLibrariesDir\n&quot;;
</span><span class="cx"> exit;
</span><span class="cx"> 
</span><del>-sub toUnixPath
-{
-    my $path = shift;
-    return unless $path;
-    chomp($path = `cygpath -u '$path'`);
-    return $path;
-}
-
</del><span class="cx"> sub extractedVersion
</span><span class="cx"> {
</span><span class="cx">     if (open VERSION, &quot;&lt;&quot;, $pathToVersionFile) {
</span><span class="lines">@@ -114,14 +110,15 @@
</span><span class="cx"> 
</span><span class="cx"> sub downloadExpectedVersionNumber
</span><span class="cx"> {
</span><del>-    chomp(my $expectedVersion = `curl -s --sslv3 -k $versionFileURL`);
-    return WEXITSTATUS($?) ? NOTAVERSION : $expectedVersion;
</del><ins>+    chomp(my $expectedVersion = get($versionFileURL));
+    return defined $expectedVersion ? $expectedVersion : NOTAVERSION;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub zipFileVersion
</span><span class="cx"> {
</span><span class="cx">     return NOTAVERSION unless -f $pathToZip;
</span><del>-    chomp(my $zipFileVersion = `unzip -p &quot;$pathToZip&quot; $file/win/$versionFile`);
</del><ins>+    my $zip = Archive::Zip-&gt;new($pathToZip);
+    chomp(my $zipFileVersion = $zip-&gt;contents(&quot;$file/win/$versionFile&quot;));
</ins><span class="cx">     return $zipFileVersion;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsScriptswebkitdirspm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitdirs.pm (182088 => 182089)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitdirs.pm        2015-03-27 23:01:37 UTC (rev 182088)
+++ trunk/Tools/Scripts/webkitdirs.pm        2015-03-27 23:08:01 UTC (rev 182089)
</span><span class="lines">@@ -144,14 +144,14 @@
</span><span class="cx"> 
</span><span class="cx">     # walks up path checking each directory to see if it is the main WebKit project dir, 
</span><span class="cx">     # defined by containing Sources, WebCore, and WebKit
</span><del>-    until ((-d &quot;$sourceDir/Source&quot; &amp;&amp; -d &quot;$sourceDir/Source/WebCore&quot; &amp;&amp; -d &quot;$sourceDir/Source/WebKit&quot;) || (-d &quot;$sourceDir/Internal&quot; &amp;&amp; -d &quot;$sourceDir/OpenSource&quot;))
</del><ins>+    until ((-d File::Spec-&gt;catdir($sourceDir, &quot;Source&quot;) &amp;&amp; -d File::Spec-&gt;catdir($sourceDir, &quot;Source&quot;, &quot;WebCore&quot;) &amp;&amp; -d File::Spec-&gt;catdir($sourceDir, &quot;Source&quot;, &quot;WebKit&quot;)) || (-d File::Spec-&gt;catdir($sourceDir, &quot;Internal&quot;) &amp;&amp; -d File::Spec-&gt;catdir($sourceDir, &quot;OpenSource&quot;)))
</ins><span class="cx">     {
</span><span class="cx">         if ($sourceDir !~ s|/[^/]+$||) {
</span><span class="cx">             die &quot;Could not find top level webkit directory above source directory using FindBin.\n&quot;;
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    $sourceDir = &quot;$sourceDir/OpenSource&quot; if -d &quot;$sourceDir/OpenSource&quot;;
</del><ins>+    $sourceDir = File::Spec-&gt;catdir($sourceDir, &quot;OpenSource&quot;) if -d File::Spec-&gt;catdir($sourceDir, &quot;OpenSource&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub currentPerlPath()
</span><span class="lines">@@ -1433,17 +1433,17 @@
</span><span class="cx"> 
</span><span class="cx"> sub windowsSourceSourceDir()
</span><span class="cx"> {
</span><del>-    return windowsSourceDir() . &quot;\\Source&quot;;
</del><ins>+    return File::Spec-&gt;catdir(windowsSourceDir(), &quot;Source&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub windowsLibrariesDir()
</span><span class="cx"> {
</span><del>-    return windowsSourceDir() . &quot;\\WebKitLibraries\\win&quot;;
</del><ins>+    return File::Spec-&gt;catdir(windowsSourceDir(), &quot;WebKitLibraries&quot;, &quot;win&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub windowsOutputDir()
</span><span class="cx"> {
</span><del>-    return windowsSourceDir() . &quot;\\WebKitBuild&quot;;
</del><ins>+    return File::Spec-&gt;catdir(windowsSourceDir(), &quot;WebKitBuild&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub fontExists($)
</span><span class="lines">@@ -1456,26 +1456,20 @@
</span><span class="cx"> 
</span><span class="cx"> sub checkInstalledTools()
</span><span class="cx"> {
</span><del>-    # SVN 1.7.10 is known to be compatible with current servers. SVN 1.8.x seems to be missing some authentication
-    # protocols we use for svn.webkit.org:
-    my $svnVersion = `svn --version 2&gt; NUL | grep &quot;\\sversion&quot;`;
-    chomp($svnVersion);
-    if (!$? and $svnVersion =~ /1\.8\./) {
-        print &quot;svn 1.7.10 is known to be compatible with our servers. You are running $svnVersion,\nwhich may not work properly.\n&quot;
-    }
-
</del><span class="cx">     # environment variables. Avoid until this is corrected.
</span><span class="cx">     my $pythonVer = `python --version 2&gt;&amp;1`;
</span><span class="cx">     die &quot;You must have Python installed to build WebKit.\n&quot; if ($?);
</span><span class="cx"> 
</span><span class="cx">     # cURL 7.34.0 has a bug that prevents authentication with opensource.apple.com (and other things using SSL3).
</span><del>-    my $curlVer = `curl --version 2&gt; NUL | grep &quot;curl&quot;`;
-    chomp($curlVer);
-    if (!$? and $curlVer =~ /libcurl\/7\.34\.0/) {
-        print &quot;cURL version 7.34.0 has a bug that prevents authentication with SSL v2 or v3.\n&quot;;
-        print &quot;cURL 7.33.0 is known to work. The cURL projects is preparing an update to\n&quot;;
-        print &quot;correct this problem.\n\n&quot;;
-        die &quot;Please install a working cURL and try again.\n&quot;;
</del><ins>+    my $curlVer = `curl --version 2&gt; NUL`;
+    if (!$? and $curlVer =~ &quot;(.*curl.*)&quot;) {
+        $curlVer = $1;
+        if ($curlVer =~ /libcurl\/7\.34\.0/) {
+            print &quot;cURL version 7.34.0 has a bug that prevents authentication with SSL v2 or v3.\n&quot;;
+            print &quot;cURL 7.33.0 is known to work. The cURL projects is preparing an update to\n&quot;;
+            print &quot;correct this problem.\n\n&quot;;
+            die &quot;Please install a working cURL and try again.\n&quot;;
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     # MathML requires fonts that do not ship with Windows (at least through Windows 8). Warn the user if they are missing
</span><span class="lines">@@ -1675,7 +1669,7 @@
</span><span class="cx"> 
</span><span class="cx">     my $platform = &quot;/p:Platform=&quot; . (isWin64() ? &quot;x64&quot; : &quot;Win32&quot;);
</span><span class="cx">     my $logPath = File::Spec-&gt;catdir($baseProductDir, $configuration);
</span><del>-    File::Path-&gt;make_path($logPath) unless -d $logPath or $logPath eq &quot;.&quot;;
</del><ins>+    make_path($logPath) unless -d $logPath or $logPath eq &quot;.&quot;;
</ins><span class="cx"> 
</span><span class="cx">     my $errorLogFile = File::Spec-&gt;catfile($logPath, &quot;webkit_errors.log&quot;);
</span><span class="cx">     chomp($errorLogFile = `cygpath -w &quot;$errorLogFile&quot;`) if isCygwin();
</span></span></pre>
</div>
</div>

</body>
</html>