<!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>[182164] trunk/Source/WebCore</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/182164">182164</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2015-03-30 16:59:02 -0700 (Mon, 30 Mar 2015)</dd>
</dl>

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

Reviewed by Brent Fulgham.

* AVFoundationSupport.py: Renamed from Source/WebCore/WebCore.vcxproj/MigrateScripts.
Move logic from DerivedSources.make to its own script
(lookFor):
* DerivedSources.make: Paths like /usr/bin don't exist on Windows.
Windows uses del instead of rm -f
Windows doesn't have printf
* WebCore.vcxproj/WebCoreGenerated.make: Pass the CC executable to
build-generated-files.pl
* WebCore.vcxproj/build-generated-files.pl: Export the CC executable as an environment
variable. Don't use /usr/bin.
* WebCore.vcxproj/migrate-scripts.pl: Deleted the MigrateScripts makefile. We don't
need a whole Makefile just to copy 5 files. Moved this logic into migrate-scripts.pl.
(copyFile):
* bindings/scripts/preprocessor.pm:
(applyPreprocessor): Support passing preprocessing flags to the Visual Studio
compiler.
* dom/make_names.pl: Ditto.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreDerivedSourcesmake">trunk/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojWebCoreGeneratedmake">trunk/Source/WebCore/WebCore.vcxproj/WebCoreGenerated.make</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojbuildgeneratedfilespl">trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.pl</a></li>
<li><a href="#trunkSourceWebCoreWebCorevcxprojmigratescriptspl">trunk/Source/WebCore/WebCore.vcxproj/migrate-scripts.pl</a></li>
<li><a href="#trunkSourceWebCorebindingsscriptspreprocessorpm">trunk/Source/WebCore/bindings/scripts/preprocessor.pm</a></li>
<li><a href="#trunkSourceWebCoredommake_namespl">trunk/Source/WebCore/dom/make_names.pl</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreAVFoundationSupportpy">trunk/Source/WebCore/AVFoundationSupport.py</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreWebCorevcxprojMigrateScripts">trunk/Source/WebCore/WebCore.vcxproj/MigrateScripts</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreAVFoundationSupportpyfromrev182163trunkSourceWebCoreWebCorevcxprojMigrateScripts"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebCore/AVFoundationSupport.py (from rev 182163, trunk/Source/WebCore/WebCore.vcxproj/MigrateScripts) (0 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/AVFoundationSupport.py                                (rev 0)
+++ trunk/Source/WebCore/AVFoundationSupport.py        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+#!/usr/bin/python
+
+# Copyright (C) 2015 Apple Inc.  All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+# 3.  Neither the name of Apple puter, Inc. (&quot;Apple&quot;) nor the names of
+#     its contributors may be used to endorse or promote products derived
+#     from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+import sys
+import os
+
+
+def lookFor(relativePath):
+    return os.path.isfile(os.environ['WEBKIT_LIBRARIES'] + relativePath) or os.path.isfile(os.environ['WEBKITLIBRARIESDIR'] + relativePath)
+
+print &quot;/* Identifying AVFoundation Support */&quot;
+if lookFor(&quot;/include/AVFoundationCF/AVCFBase.h&quot;):
+    print &quot;#define HAVE_AVCF 1&quot;
+if lookFor(&quot;/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h&quot;):
+    print &quot;#define HAVE_AVCF_LEGIBLE_OUTPUT 1&quot;
+if lookFor(&quot;/include/AVFoundationCF/AVCFAssetResourceLoader.h&quot;):
+    print &quot;#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1&quot;
</ins></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/ChangeLog        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2015-03-30  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        Allow building on Windows without Cygwin
+        https://bugs.webkit.org/show_bug.cgi?id=143219
+
+        Reviewed by Brent Fulgham.
+
+        * AVFoundationSupport.py: Renamed from Source/WebCore/WebCore.vcxproj/MigrateScripts.
+        Move logic from DerivedSources.make to its own script
+        (lookFor):
+        * DerivedSources.make: Paths like /usr/bin don't exist on Windows.
+        Windows uses del instead of rm -f
+        Windows doesn't have printf
+        * WebCore.vcxproj/WebCoreGenerated.make: Pass the CC executable to
+        build-generated-files.pl
+        * WebCore.vcxproj/build-generated-files.pl: Export the CC executable as an environment
+        variable. Don't use /usr/bin.
+        * WebCore.vcxproj/migrate-scripts.pl: Deleted the MigrateScripts makefile. We don't
+        need a whole Makefile just to copy 5 files. Moved this logic into migrate-scripts.pl.
+        (copyFile):
+        * bindings/scripts/preprocessor.pm:
+        (applyPreprocessor): Support passing preprocessing flags to the Visual Studio
+        compiler.
+        * dom/make_names.pl: Ditto.
+
</ins><span class="cx"> 2015-03-30  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Build fix.
</span></span></pre></div>
<a id="trunkSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/DerivedSources.make (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/DerivedSources.make        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/DerivedSources.make        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -682,13 +682,13 @@
</span><span class="cx">     $(WebCore)/svg/SVGZoomEvent.idl
</span><span class="cx"> #
</span><span class="cx"> 
</span><del>-# Windows has specific needs for specifying the path to its interpreters
</del><ins>+PYTHON = python
+PERL = perl
+
</ins><span class="cx"> ifeq ($(OS),Windows_NT)
</span><del>-    PYTHON = /usr/bin/python
-    PERL = /usr/bin/perl
</del><ins>+    DELETE = cmd //C del
</ins><span class="cx"> else
</span><del>-    PYTHON = python
-    PERL = perl
</del><ins>+    DELETE = rm -f
</ins><span class="cx"> endif
</span><span class="cx"> # --------
</span><span class="cx"> 
</span><span class="lines">@@ -881,7 +881,7 @@
</span><span class="cx"> XMLViewerCSS.h : xml/XMLViewer.css
</span><span class="cx">         $(PYTHON) $(InspectorScripts)/cssmin.py &lt;&quot;$(WebCore)/xml/XMLViewer.css&quot; &gt; ./XMLViewer.min.css
</span><span class="cx">         $(PERL) $(InspectorScripts)/xxd.pl XMLViewer_css ./XMLViewer.min.css XMLViewerCSS.h
</span><del>-        rm -f ./XMLViewer.min.css
</del><ins>+        $(DELETE) XMLViewer.min.css
</ins><span class="cx"> 
</span><span class="cx"> # --------
</span><span class="cx"> 
</span><span class="lines">@@ -892,7 +892,7 @@
</span><span class="cx"> XMLViewerJS.h : xml/XMLViewer.js
</span><span class="cx">         $(PYTHON) $(InspectorScripts)/jsmin.py &lt;&quot;$(WebCore)/xml/XMLViewer.js&quot; &gt; ./XMLViewer.min.js
</span><span class="cx">         $(PERL) $(InspectorScripts)/xxd.pl XMLViewer_js ./XMLViewer.min.js XMLViewerJS.h
</span><del>-        rm -f ./XMLViewer.min.js
</del><ins>+        $(DELETE) XMLViewer.min.js
</ins><span class="cx"> 
</span><span class="cx"> # --------
</span><span class="cx"> 
</span><span class="lines">@@ -1169,15 +1169,17 @@
</span><span class="cx"> IDL_FILES_TMP = ./idl_files.tmp
</span><span class="cx"> IDL_ATTRIBUTES_FILE = $(WebCore)/bindings/scripts/IDLAttributes.txt
</span><span class="cx"> 
</span><del>-# The following two lines get a space character stored in a variable.
-# See &lt;http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html&gt;.
-space :=
-space +=
</del><ins>+# The following lines get a newline character stored in a variable.
+# See &lt;http://stackoverflow.com/questions/7039811/how-do-i-process-extremely-long-lists-of-files-in-a-make-recipe&gt;.
+define NL
</ins><span class="cx"> 
</span><ins>+
+endef
+
</ins><span class="cx"> $(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES) DerivedSources.make
</span><del>-        printf &quot;$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS)))&quot; &gt; $(IDL_FILES_TMP)
</del><ins>+        $(foreach f,$(BINDING_IDLS),echo $(f)&gt;&gt;$(IDL_FILES_TMP)$(NL))
</ins><span class="cx">         $(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines &quot;$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT&quot; --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --windowConstructorsFile $(WINDOW_CONSTRUCTORS_FILE) --workerGlobalScopeConstructorsFile $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --dedicatedWorkerGlobalScopeConstructorsFile $(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --supplementalMakefileDeps $@
</span><del>-        rm -f $(IDL_FILES_TMP)
</del><ins>+        $(DELETE) $(IDL_FILES_TMP)
</ins><span class="cx"> 
</span><span class="cx"> JS%.h : %.idl $(JS_BINDINGS_SCRIPTS) $(IDL_ATTRIBUTES_FILE) $(WINDOW_CONSTRUCTORS_FILE) $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) $(PLATFORM_FEATURE_DEFINES)
</span><span class="cx">         $(call generator_script, $(JS_BINDINGS_SCRIPTS)) $(IDL_COMMON_ARGS) --defines &quot;$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT&quot; --generator JS --idlAttributesFile $(IDL_ATTRIBUTES_FILE) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) $&lt;
</span><span class="lines">@@ -1191,7 +1193,7 @@
</span><span class="cx"> InspectorOverlayPage.h : InspectorOverlayPage.html InspectorOverlayPage.css InspectorOverlayPage.js
</span><span class="cx">         $(PYTHON) $(InspectorScripts)/inline-and-minify-stylesheets-and-scripts.py $(WebCore)/inspector/InspectorOverlayPage.html ./InspectorOverlayPage.combined.html
</span><span class="cx">         $(PERL) $(InspectorScripts)/xxd.pl InspectorOverlayPage_html ./InspectorOverlayPage.combined.html InspectorOverlayPage.h
</span><del>-        rm -f ./InspectorOverlayPage.combined.html
</del><ins>+        $(DELETE) InspectorOverlayPage.combined.html
</ins><span class="cx"> 
</span><span class="cx"> all : CommandLineAPIModuleSource.h
</span><span class="cx"> 
</span><span class="lines">@@ -1199,7 +1201,7 @@
</span><span class="cx">         echo &quot;//# sourceURL=__WebInspectorCommandLineAPIModuleSource__&quot; &gt; ./CommandLineAPIModuleSource.min.js
</span><span class="cx">         $(PYTHON) $(InspectorScripts)/jsmin.py &lt;$(WebCore)/inspector/CommandLineAPIModuleSource.js &gt;&gt; ./CommandLineAPIModuleSource.min.js
</span><span class="cx">         $(PERL) $(InspectorScripts)/xxd.pl CommandLineAPIModuleSource_js ./CommandLineAPIModuleSource.min.js CommandLineAPIModuleSource.h
</span><del>-        rm -f ./CommandLineAPIModuleSource.min.js
</del><ins>+        $(DELETE) CommandLineAPIModuleSource.min.js
</ins><span class="cx"> 
</span><span class="cx"> # Web Replay inputs generator
</span><span class="cx"> 
</span><span class="lines">@@ -1269,10 +1271,7 @@
</span><span class="cx"> 
</span><span class="cx"> all : WebCoreHeaderDetection.h
</span><span class="cx"> 
</span><del>-WebCoreHeaderDetection.h : DerivedSources.make
-        echo &quot;/* Identifying AVFoundation Support */&quot; &gt; $@
-        if [ -f &quot;$(WEBKIT_LIBRARIES)/include/AVFoundationCF/AVCFBase.h&quot; ]||[ -f &quot;$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFBase.h&quot; ]; then echo &quot;#define HAVE_AVCF 1&quot; &gt;&gt; $@; else echo &gt;&gt; $@; fi
-        if [ -f &quot;$(WEBKIT_LIBRARIES)/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h&quot; ]||[ -f &quot;$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h&quot; ]; then echo &quot;#define HAVE_AVCF_LEGIBLE_OUTPUT 1&quot; &gt;&gt; $@; else echo &gt;&gt; $@; fi
-        if [ -f &quot;$(WEBKIT_LIBRARIES)/include/AVFoundationCF/AVCFAssetResourceLoader.h&quot; ]||[ -f &quot;$(WEBKITLIBRARIESDIR)/include/AVFoundationCF/AVCFAssetResourceLoader.h&quot; ]; then echo &quot;#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1&quot; &gt;&gt; $@; else echo &gt;&gt; $@; fi
</del><ins>+WebCoreHeaderDetection.h : $(WebCore)/AVFoundationSupport.py DerivedSources.make
+        $(PYTHON) $(WebCore)/AVFoundationSupport.py &gt; $@
</ins><span class="cx"> 
</span><span class="cx"> endif # Windows_NT
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojMigrateScripts"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/WebCore.vcxproj/MigrateScripts (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/MigrateScripts        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/WebCore.vcxproj/MigrateScripts        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-# Copyright (C) 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#
-# 1.  Redistributions of source code must retain the above copyright
-#     notice, this list of conditions and the following disclaimer. 
-# 2.  Redistributions in binary form must reproduce the above copyright
-#     notice, this list of conditions and the following disclaimer in the
-#     documentation and/or other materials provided with the distribution. 
-# 3.  Neither the name of Apple Inc. (&quot;Apple&quot;) nor the names of
-#     its contributors may be used to endorse or promote products derived
-#     from this software without specific prior written permission. 
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; AND ANY
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-.PHONY : all
-all : \
-    $(WEBKIT_OUTPUT)/CodeGenerator.pm \
-    $(WEBKIT_OUTPUT)/IDLParser.pm \
-    $(WEBKIT_OUTPUT)/generate-bindings.pl \
-    $(WEBKIT_OUTPUT)/preprocessor.pm \
-    $(WEBKIT_OUTPUT)/preprocess-idls.pl \
-#
-
-MIGRATE_CMD = cp $&lt; $@
-
-# Migrate generation scripts
-$(WEBKIT_OUTPUT)/% : $(WEBCORE)/bindings/scripts/%
-        $(MIGRATE_CMD)
</del></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojWebCoreGeneratedmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCoreGenerated.make (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/WebCoreGenerated.make        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCoreGenerated.make        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx">     @if errorlevel 1 exit 1
</span><span class="cx">     @echo XXWebCoreGeneratedXX &gt; &quot;%ConfigurationBuildDir%\buildfailed&quot;
</span><span class="cx"> 
</span><del>-    perl build-generated-files.pl &quot;%ConfigurationBuildDir%&quot; &quot;%WebKit_Libraries%&quot; windows &quot;%PlatformArchitecture%&quot;
</del><ins>+    perl build-generated-files.pl &quot;%ConfigurationBuildDir%&quot; &quot;%WebKit_Libraries%&quot; windows &quot;%PlatformArchitecture%&quot; &quot;$(CC)&quot;
</ins><span class="cx">     perl migrate-scripts.pl &quot;%ConfigurationBuildDir%\obj%PlatformArchitecture%\WebCore\scripts&quot;
</span><span class="cx">     @cmd /C copyForwardingHeaders.cmd cg cf
</span><span class="cx">     @cmd /C copyWebCoreResourceFiles.cmd
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojbuildgeneratedfilespl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.pl (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.pl        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/WebCore.vcxproj/build-generated-files.pl        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> use strict;
</span><span class="cx"> use Cwd;
</span><ins>+use Config;
</ins><span class="cx"> use File::Path qw(make_path);
</span><span class="cx"> use File::Spec;
</span><span class="cx"> 
</span><span class="lines">@@ -80,5 +81,11 @@
</span><span class="cx">     $ENV{'PLATFORM_FEATURE_DEFINES'} = File::Spec-&gt;catfile($SDKROOT, 'tools', 'vsprops', 'FeatureDefines.props');
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+if ($Config{osname} eq 'MSWin32') {
+    my $ccPath = `where $ARGV[4]`;
+    chomp($ccPath);
+    $ENV{CC} = $ccPath;
+}
+
</ins><span class="cx"> my $DERIVED_SOURCES_MAKEFILE = File::Spec-&gt;catfile($XSRCROOT, 'DerivedSources.make');
</span><del>-system('/usr/bin/make', '-f', $DERIVED_SOURCES_MAKEFILE, '-j', $NUMCPUS) and die &quot;Failed to build $DERIVED_SOURCES_MAKEFILE: $!&quot;;
</del><ins>+system('make', '-f', $DERIVED_SOURCES_MAKEFILE, '-j', $NUMCPUS) and die &quot;Failed to build $DERIVED_SOURCES_MAKEFILE: $!&quot;;
</ins></span></pre></div>
<a id="trunkSourceWebCoreWebCorevcxprojmigratescriptspl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.vcxproj/migrate-scripts.pl (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.vcxproj/migrate-scripts.pl        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/WebCore.vcxproj/migrate-scripts.pl        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> use strict;
</span><span class="cx"> use Cwd;
</span><ins>+use File::Copy;
</ins><span class="cx"> use File::Path qw(make_path);
</span><span class="cx"> use File::Spec;
</span><span class="cx"> 
</span><span class="lines">@@ -60,5 +61,17 @@
</span><span class="cx"> $ENV{'WebCore'} = $XSRCROOT;
</span><span class="cx"> $ENV{'WEBKIT_OUTPUT'} = $XDSTROOT;
</span><span class="cx"> 
</span><del>-my $MIGRATE_SCRIPTS_MAKEFILE = File::Spec-&gt;catfile($XSRCROOT, 'WebCore.vcxproj', 'MigrateScripts');
-system('/usr/bin/make', '-f', $MIGRATE_SCRIPTS_MAKEFILE, '-j', $NUMCPUS) and die &quot;Failed to build $MIGRATE_SCRIPTS_MAKEFILE: $!&quot;;
</del><ins>+sub copyFile {
+    my $filename = shift;
+    my $source = File::Spec-&gt;catfile($XSRCROOT, &quot;bindings&quot;, &quot;scripts&quot;, $filename);
+    my $destination = File::Spec-&gt;catfile($XDSTROOT, $filename);
+    if (! -e $destination || (stat($source))[9] &gt; (stat($destination))[9]) { # 9th element is file modification time
+        copy($source, $destination);
+    }
+}
+
+copyFile(&quot;CodeGenerator.pm&quot;);
+copyFile(&quot;IDLParser.pm&quot;);
+copyFile(&quot;generate-bindings.pl&quot;);
+copyFile(&quot;preprocessor.pm&quot;);
+copyFile(&quot;preprocess-idls.pl&quot;);
</ins></span></pre></div>
<a id="trunkSourceWebCorebindingsscriptspreprocessorpm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/scripts/preprocessor.pm (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/scripts/preprocessor.pm        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/bindings/scripts/preprocessor.pm        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -54,7 +54,11 @@
</span><span class="cx">         } else {
</span><span class="cx">             $preprocessor = &quot;/usr/bin/gcc&quot;;
</span><span class="cx">         }
</span><del>-        push(@args, qw(-E -P -x c++));
</del><ins>+        if ($Config::Config{&quot;osname&quot;} eq &quot;MSWin32&quot;) {
+            push(@args, qw(/EP));
+        } else {
+            push(@args, qw(-E -P -x c++));
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if ($Config::Config{&quot;osname&quot;} eq &quot;darwin&quot;) {
</span><span class="lines">@@ -71,7 +75,7 @@
</span><span class="cx">     @macros = map { &quot;-D$_&quot; } @macros;
</span><span class="cx"> 
</span><span class="cx">     my $pid = 0;
</span><del>-    if ($Config{osname} eq &quot;cygwin&quot; || $Config{osname} eq 'MSWin32') {
</del><ins>+    if ($Config{osname} eq &quot;cygwin&quot;) {
</ins><span class="cx">         # This call can fail if Windows rebases cygwin, so retry a few times until it succeeds.
</span><span class="cx">         for (my $tries = 0; !$pid &amp;&amp; ($tries &lt; 20); $tries++) {
</span><span class="cx">             eval {
</span><span class="lines">@@ -84,6 +88,8 @@
</span><span class="cx">                 sleep 1;
</span><span class="cx">             }
</span><span class="cx">         };
</span><ins>+    } elsif ($Config::Config{&quot;osname&quot;} eq &quot;MSWin32&quot;) {
+        $pid = open2(\*PP_OUT, \*PP_IN, $preprocessor, @args, @macros, $fileName);
</ins><span class="cx">     } else {
</span><span class="cx">         $pid = open2(\*PP_OUT, \*PP_IN, split(' ', $preprocessor), @args, @macros, $fileName);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoredommake_namespl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/dom/make_names.pl (182163 => 182164)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/dom/make_names.pl        2015-03-30 23:54:01 UTC (rev 182163)
+++ trunk/Source/WebCore/dom/make_names.pl        2015-03-30 23:59:02 UTC (rev 182164)
</span><span class="lines">@@ -62,18 +62,24 @@
</span><span class="cx"> 
</span><span class="cx"> require Config;
</span><span class="cx"> 
</span><del>-my $gccLocation = &quot;&quot;;
</del><ins>+my $ccLocation = &quot;&quot;;
</ins><span class="cx"> if ($ENV{CC}) {
</span><del>-    $gccLocation = $ENV{CC};
</del><ins>+    $ccLocation = $ENV{CC};
</ins><span class="cx"> } elsif (($Config::Config{&quot;osname&quot;}) =~ /solaris/i) {
</span><del>-    $gccLocation = &quot;/usr/sfw/bin/gcc&quot;;
</del><ins>+    $ccLocation = &quot;/usr/sfw/bin/gcc&quot;;
</ins><span class="cx"> } elsif ($Config::Config{&quot;osname&quot;} eq &quot;darwin&quot; &amp;&amp; $ENV{SDKROOT}) {
</span><del>-    chomp($gccLocation = `xcrun -find cc -sdk '$ENV{SDKROOT}'`);
</del><ins>+    chomp($ccLocation = `xcrun -find cc -sdk '$ENV{SDKROOT}'`);
</ins><span class="cx"> } else {
</span><del>-    $gccLocation = &quot;/usr/bin/cc&quot;;
</del><ins>+    $ccLocation = &quot;/usr/bin/cc&quot;;
</ins><span class="cx"> }
</span><del>-my $preprocessor = $gccLocation . &quot; -E -x c++&quot;;
</del><span class="cx"> 
</span><ins>+my $preprocessor = &quot;&quot;;
+if ($Config::Config{&quot;osname&quot;} eq &quot;MSWin32&quot;) {
+    $preprocessor = &quot;\&quot;$ccLocation\&quot; /EP&quot;;
+} else {
+    $preprocessor = $ccLocation . &quot; -E -x c++&quot;;
+}
+
</ins><span class="cx"> GetOptions(
</span><span class="cx">     'tags=s' =&gt; \$tagsFile, 
</span><span class="cx">     'attrs=s' =&gt; \$attrsFile,
</span></span></pre>
</div>
</div>

</body>
</html>