+2007-06-12 Dave Hyatt <hyatt@apple.com>
+
+ Add Windows checkout/build instructions to the website.
+
+ * building/build.html:
+ * building/checkout.html:
+ * building/debug.html:
+ * building/tools.html: Added.
+ * building/run.html:
+ * css/main.css:
+ * index.html:
+ * nav.inc:
+
2007-06-10 Geoffrey Garen <ggaren@apple.com>
Reviewed by Beth Dakin.
<h2>Building WebKit</h2>
-<p>Building WebKit requires a <a href="checkout.html">WebKit source tree</a> and <a href="http://developer.apple.com/tools/xcode/">Xcode</a> version 2.3 or greater.<p>
+Building WebKit requires that you have the proper <a href="tools.html">developer tools
+installed</a> and that you have a copy of the <a href="checkout">WebKit source tree.</a>.
<ol>
<li><p>Type this command to build WebKit:</p>
</li>
</ol>
-<p>By default, <tt>build-webkit</tt> places build products in WebKit/WebKitBuild. If your Xcode preferences specify a custom build products location, <tt>build-webkit</tt> places build products there.</p>
-<p>More information about building WebKit is available on the <a href="http://trac.webkit.org/projects/webkit/wiki">WebKit Wiki</a>.</p>
+<p>By default, <tt>build-webkit</tt> places build products in <tt>WebKit/WebKitBuild</tt>. You can specify a different build
+location on Mac in your Xcode preferences. On Windows, the <tt>WEBKITOUTPUTDIR</tt> environment variable can be used to
+set a different build products location. If you have set up a custom build location, then <tt>build-webkit</tt> will
+place the build products there.</p>
<h2>Setting a Default Configuration</h2>
<ol>
<hr>
<p>It's handy to put <tt>WebKit/WebKitTools/Scripts</tt> in your shell path so you can type commands like <tt>build-webkit</tt> without specifying a full path.</p>
+<p>Once your build has finished, you can <A href="run.html">run it inside Safari.</a></p>
+
<?php
include("../footer.inc");
?>
<p>To browse the source code online, visit <a href="http://trac.webkit.org/projects/webkit/browser">WebKit Trac</a>.
<h2>Checking Out</h2>
-<p>To check out the WebKit source tree:</p>
+<p>To work with the WebKit source tree, you will need a Subversion client installed.
+See <a href="tools.html">Installing Developer Tools</a> for information on how
+to install Subversion.</p>
+<div class="mac-instructions">
+<h4>Mac OS X</h4>
<ol>
<li><p>Install a Subversion Client</p>
<p>Subversion (svn) is the source code management tool used by the WebKit Open Source Project. A <a href="http://homepage.mac.com/hiirem/svkbuilds.html">Subversion 1.4 client for Mac OS X 10.4</a> is available.</p>
<li><p>Open Terminal</p>
<p>Terminal resides in /Applications/Utilities. The Finder Go menu provides a quick way to navigate there.</p>
+</ol>
+</div>
+
+<div class="windows-instructions">
+<h4>Windows</h4>
+<ol>
+<li><p>Open a Cygwin Shell</p>
+<p>Double-click the Cygwin icon on your Desktop to launch a new shell.
+</ol>
+</div>
+
+<ol>
<li><p>Type this command to check out the WebKit source tree:</p>
<p class="code">svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit</p>
+<p>Alternatively you can download a snapshot of the WebKit source tree from
+<a href="http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2">http://nightly.webkit.org/files/WebKit-SVN-source.tar.bz2</a>. It is updated every six hours.</p>
</li>
</ol>
-<p>Once the checkout has finished, the next step is
+
+<div class="windows-instructions">
+<h4>Windows</h4>
+<li><p>Install the WebKit Support Libraries</p>
+<p>Download the <a href="http://developer.apple.com/opensource/internet/webkit_sptlib_agree.html">WebKit Support Libraries</a> to the root of your source tree (<tt>C:\cygwin\home\<username>\WebKit</tt>).</p>
+<p>If the file is incorrectly named, rename it to <tt>WebKitSupportLibrary.zip</tt>. Do not extract its contents.</p>
+</div>
+
+<ol>
+<li><p>Type this command to update your source tree:</p>
+<p class="code">WebKit/WebKitTools/Scripts/update-webkit</p>
+<p>If you downloaded the tarball, this will bring it up to date. Windows users
+must always execute this command after first obtaining the code, since it will
+download additional libraries that are needed to build.</p>
+</ol>
+
+<p>Once you have a current tree, the next step is
<a href="build.html">building WebKit</a>.</p>
<h2>Keeping up to Date</h2>
-<p>Type this command to update your source tree:</p>
+<p>At any time, you can retype the <tt>update-webkit</tt> command to update your source tree:</p>
<p class="code">WebKit/WebKitTools/Scripts/update-webkit</p>
<hr>
include("../header.inc");
?>
-<h2>Debugging WebKit</h2>
+<div class="mac-instructions">
+<h2>Debugging on Mac OS X</h2>
<ol>
<li><p>Open a project</p>
<p>Each WebKit component -- JavaScriptCore, WebCore, and WebKit -- contains its own Xcode project. Open the project belonging to the component you want to debug.</p>
<img src="debug.png">
</li>
</ol>
+</div>
+<div class="windows-instructions">
+<h2>Debugging on Windows</h2>
+<p>
+You can launch the Visual Studio development environment with the following
+command:</p>
+<p class="code">devenv /debugexe Safari.exe [args to safari]</p>
+<p>The arguments to Safari should be the same ones that <tt>run-safari</tt> uses,
+namely the <tt>/frameworkPath</tt> switch (to point to the path at which the updated
+WebKit can be found) and <tt>debug</tt> if the WebKit you built is a debug version.</p>
+</div>
<?php
include("../footer.inc");
<p class="code">WebKit/WebKitTools/Scripts/run-safari --debug</p>
</li>
</ol>
+
+<div class="mac-instructions">
+<h4>Mac OS X</h4>
<p>The <tt>run-safari</tt> script sets the <tt>DYLD_FRAMEWORK_PATH</tt> environment variable to point to your build products,
and then launches /Applications/Safari.app. <tt>DYLD_FRAMEWORK_PATH</tt> tells the system loader to prefer your build products over the frameworks installed in /System/Library/Frameworks.</p>
+</div>
+<div class="windows-instructions">
+<h4>Windows</h4>
+<p>The <tt>run-safari</tt> script launches the Safari executable with the <tt>/frameworkPath</tt> command line switch set to point to your build products. The <tt>/debug</tt> command line switch will be set if you pass --debug to run-safari.</p>
+</div>
<hr>
<p>It's handy to put <tt>WebKit/WebKitTools/Scripts</tt> in your shell path so you can type commands like <tt>run-safari</tt> without specifying a full path.</p>
--- /dev/null
+<?php
+$title = "Installing Developer Tools";
+include("../header.inc");
+?>
+<h2>Installing the Developer Tools</h2>
+<div class="mac-instructions">
+<h4>Mac OS X</h4>
+<ol>
+<li><p>Install the Xcode Tools package</p>
+<p>Install the Xcode Tools package from <a target="installtools" href="http://connect.apple.com/">http://connect.apple.com</a>. Xcode 2.3 or later is required to build.</p>
+<li><p>Install a Subversion Client</p>
+<p>Subversion (svn) is the source code management tool used by the WebKit Open Source Project. A <a target="installtools" href="http://homepage.mac.com/hiirem/svkbuilds.html">Subversion 1.4 client for Mac OS X 10.4</a> is available.</p>
+</ol>
+</div>
+
+<div class="windows-instructions">
+<h4>Windows</h4>
+<ol>
+<li><p>If you own Visual Studio 2005:</p>
+<p>Install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?familyid=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&displaylang=en">Microsoft Visual Studio 2005 Team Suite Service Pack 1</a>.</p>
+<p>If you are building from Vista, install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displaylang=en">Service Pack 1 Update for Windows Vista</a>.</p>
+<p>Use the default options for these installations.</p>
+<li><p>If not, you can use Visual C++ Express 2005:</p>
+<p>Install <a target="installtools" href="http://msdn.microsoft.com/vstudio/express/visualc/">Visual C++ 2005 Express</a>.</p>
+<p>Install <a target="installtools" href="http://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/VS80sp1-KB926748-X86-INTL.exe">Microsoft Visual C++ Express 2005 Service Pack 1</a>.</p>
+<p>If you are building from Vista, install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=90e2942d-3ad1-4873-a2ee-4acc0aace5b6&displaylang=en">Service Pack 1 Update for Windows Vista</a>.</p>
+<p>Install the <a target="installtools" href="http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/">Windows Platform SDK</a>. Only steps 2 and 3 are required.</p>
+<p>Use the default options for all installations.</p>
+<p>In addition to the paths specified in step 3 of the Platform SDK installation instructions, you must also add the following include path. Update the Visual C++ directories in the Projects and Solutions section in the Options dialog box:</p>
+<p style="font-size:10px">C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc</p>
+
+<li><p>Install Cygwin</p>
+<p>Cygwin is a collection of utilities for Windows that includes not only a Subversion
+client, but also additional tools that are required to build the WebKit source. We
+have made a downloader available that automatically collects all of the required
+packages.
+<p>Download <a
+href="cygwin-downloader.zip">cygwin-downloader.zip</a>.</p>
+<p>Right-click <tt>cygwin-downloader.zip</tt> and choose <b>Extract All...</b>.
+Keep all the default options and click <b>Next</b> until the file is extracted and the cygwin-downloader folder opens.</p>
+<p>Double-click <tt>cygwin-downloader.exe</tt>. This will download all the Cygwin packages you need.</p>
+<p>When all the packages have finished downloading, the Cygwin installer will launch. Choose <b>Install from Local Directory</b>, then click <b>Next</b> until the install is complete. If you are running Vista, the installer won't be able to launch automatically, so you will have to manually launch Cygwin's Setup.exe.</p>
+<P>Vista may warn you that Cywgin did not install correctly. Ignore this warning and tell Vista that the install was successful.</p>
+<p>If you are running Vista, click on the Start menu, enter the following command, and press Enter:</p>
+<p class="code">C:\cygwin\bin\ash -c /bin/rebaseall</p>
+</ol>
+</div>
+
+<p>Once you have installed your developer tools, the next step is
+<a href="checkout.html">getting the code</a>.</p>
+<?php>
+include("../footer.inc");
+?>
font-size: 90%;
line-height: initial;
}
+
+.mac-instructions, .windows-instructions {
+ border: 1px solid black;
+ background-color: white;
+ -webkit-border-radius: 5px;
+ padding: 0 1em;
+ margin: 1em 0;
+}
\ No newline at end of file
<h2>Getting involved</h2>
<a href="http://nightly.webkit.org/"><img src="images/download.png" id="download" alt="download nightly" width="189" height="65"></a>
-<p>There are many ways in which you can get involved with the project. You can:</p>
+<p>There are many ways to get involved. You can:</p>
<ul>
- <li><a href="building/checkout.html">check out</a> and <a href="building/build.html">build the source code</a></li>
- <li><a href="http://nightly.webkit.org/">download the latest nightly build</a></li>
+ <li><a href="http://nightly.webkit.org/">download the latest nightly build</a></li>
+ <li><a href="building/tools.html">install developer tools</a> and then <a href="building/checkout.html">check out</a> and <a href="building/build.html">build the source code</a></li>
</ul>
<p>Once you have either of these, you can help by:</p>
<ul>
<li class="subtitle">Working with the Code</li>
+ <li><a href="/building/tools.html">Installing Developer Tools</a></li>
<li><a href="/building/checkout.html">Getting the Code</a></li>
<li><a href="/building/build.html">Building WebKit</a></li>
<li><a href="/building/run.html">Running WebKit</a></li>