Not reviewed: chromium baselines.
[WebKit-https.git] / Websites / webkit.org / building / tools.html
1 <?php
2 $title = "Installing Developer Tools";
3 include("../header.inc");
4 ?>
5 <h2>Installing the Developer Tools</h2>
6 <div class="mac-instructions">
7 <h4>Mac OS X</h4>
8 <ol>
9 <li><p>Install Xcode</p>
10 <p>Get Xcode from <a target="installtools" href="https://developer.apple.com/downloads">https://developer.apple.com/downloads</a>.  Xcode 3.1.4 or later is required to build.</p>
11 <li><p>Install the Xcode Command Line Tools (located under Xcode Preferences > Downloads)</p>
12   <p><b>Note:</b> Before you can use the Xcode 4.3.2 tools, you must either run <code>sudo xcode-select -switch /Applications/Xcode.app</code> or
13 set the environment variable DEVELOPER_DIR to <code>/Applications/Xcode.app/Contents/Developer</code>. See <a href="x-man-page://xcode-select">the <code>xcode-select</code> man page</a> for more details.</p>
14   <p><b>Note:</b> This step is not required for versions of Xcode earlier than 4.3.</p>
15 <li><p>Install Java for Mac OS X Developer Package</p>
16 <p>Download and install the latest OS-appropriate &ldquo;Java for Mac OS X Developer Package&rdquo; from <a target="installtools" href="https://developer.apple.com/downloads">https://developer.apple.com/downloads</a>.</p>
17 </ol>
18 </div>
19
20 <div class="windows-instructions">
21 <h4>Windows</h4>
22 <ol>
23 <li><p>If you own Visual Studio 2005 (newer versions of Visual Studio are currently unsupported):</p>
24 <p>Install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?familyid=BB4A75AB-E2D4-4C96-B39D-37BAF6B5B1DC&amp;displaylang=en">Microsoft Visual Studio 2005 Team Suite Service Pack 1</a>.</p>
25 <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&amp;displaylang=en">Service Pack 1 Update for Windows Vista</a>.</p>
26 <p>Install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7c8729dc-06a2-4538-a90d-ff9464dc0197&amp;displaylang=en">Visual Studio 2005 Service Pack 1 ATL Security Update</a>.</p>
27 <p>Install the following hotfixes to improve Visual Studio's performance and responsiveness:</p>
28 <ol style="list-style-type: lower-alpha">
29 <li><a target="installtools" href="http://code.msdn.microsoft.com/KB918559">KB918559</a></li>
30 <li><a target="installtools" href="http://code.msdn.microsoft.com/KB935225">KB935225</a></li>
31 <li><a target="installtools" href="http://code.msdn.microsoft.com/KB943969">KB943969</a></li>
32 <li><a target="installtools" href="http://code.msdn.microsoft.com/KB947315">KB947315</a></li>
33 </ol>
34 <p>Use the default options for these installations.</p>
35 <li><p>If not, you can use Visual C++ Express 2005 (newer versions of Visual C++ Express Edition are currently unsupported):</p>
36 <p>Install <a target="installtools" href="http://go.microsoft.com/fwlink/?LinkId=51410">Visual C++ 2005 Express</a>.</p>
37 <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>
38 <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&amp;displaylang=en">Service Pack 1 Update for Windows Vista</a>.</p>
39 <p>Install <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7c8729dc-06a2-4538-a90d-ff9464dc0197&amp;displaylang=en">Visual Studio 2005 Service Pack 1 ATL Security Update</a>.</p>
40 <p>Install the <a target="installtools" href="http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;displaylang=en">Windows Server 2003 R2 Platform SDK</a>, then follow steps 2 and 3 of &ldquo;<a target="installtools" href="http://msdn.microsoft.com/en-us/library/ms235626(VS.80).aspx">How to: Use Visual C++ Express Edition with the Microsoft Platform SDK</a>.&rdquo;</p>
41 <p>Use the default options for all installations.</p>
42 <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>
43 <p style="font-size:10px">C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\mfc</p>
44
45 <li><p>Install Cygwin</p>
46 <p>Cygwin is a collection of utilities for Windows that includes not only a Subversion
47 client, but also additional tools that are required to build the WebKit source.  We
48 have made a downloader available that automatically collects all of the required
49 packages.
50 <p>Download <a
51 href="http://svn.webkit.org/repository/webkit/trunk/Tools/CygwinDownloader/cygwin-downloader.zip">cygwin-downloader.zip</a>.</p>
52 <p>Extract the content of the archive to some folder and start <code>cygwin-downloader.exe</code> from that folder.
53 This will download all the Cygwin packages you need.</p>
54 <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
55 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>
56 <p><b>Note:</b> If you are behind a proxy you need to set the <code>http_proxy</code> environment variable to the URL of the proxy. This would
57 likely match this pattern: <code>http[s]://[username[:password]@]somehost.com[:port]</code>. Where the square brackets ([]) are not part of the url but enclose url elements that are optional indicating that those elements might be missing in your case together with their enclosed delimiter such as @ and :.</p>
58 <p><b>Note:</b> Vista may warn you that Cygwin did not install correctly. Ignore this warning and tell Vista that the install was successful.</p>
59 <p><b>Warning:</b> If you are running Vista or Windows 7, Cygwin may have trouble with implementing <code>fork</code>
60 (the POSIX function frequently used to start child processes, needed by many of the WebKit build tools).
61 In order to enable <code>cygwin1.dll</code> to implement fork successfully it is better if no DLL loaded in the parent process is relocated at runtime.
62 One way to achive this is to rebase all cygwin dlls except <code>cyglsa64.dll</code> and <code>cygwin1.dll</code> to base addresses that cause them to not overlap in memory.
63 <p>In order to rebase all cygwin dlls a <code>rebaseall</code> script is provided in the cygwin installation's <code>bin</code> directory
64 (usually <code>C:\cygwin\bin</code>).
65 This script must be run from <code>ash.exe</code> (found in the same directory) while no other cygwin application is running.<br>
66 <code>ash.exe</code> has very limited command line editing features so cutting and pasting to the commandline is recommended.<br>
67 The <code>PATH</code> environment variable may not contain the <code>/bin</code> directory by default
68 thus the script should be launched as <code>/bin/rebaseall</code>.<br>
69 If <code>rebaseall</code> is complaining about failure to write to a Windows Temp directory (i.e. <code>/cygdrive/c/Users/you/AppData/Local/Temp</code>),
70 fix the permissions on that folder (i.e. <code>/bin/chown you /cygdrive/c/Users/you/AppData/Local/Temp</code>) or
71 change the TMP environment variable to point to a directory with the appropriate permission flags (i.e.: <code>export TMP=/tmp</code>).
72 <p><b>Note:</b> The rebase process may need to be repeated to include any new libraries added later to cygwin by listing these libraries by full cygwin path in a file 
73 and passing the file to <code>rebaseall</code> via the <code>-T fileName</code> commandline argument.
74 The dlls under <code>LayoutTests/http/conf</code> are a relevant use case.</p>
75 <p>Remove the following lines from <code>/home/[username]/.bashrc</code> (if present):
76 <p class=code>
77 <div>unset TMP</div>
78 <div>unset TEMP</div>
79 </p>
80 Those lines would prevent picking up the Windows TMP and TEMP environment variables.</p>
81 <p>If you are behind a proxy you need to do the following to allow cygwin svn to get through the proxy (similar steps are available for your Windows svn):
82 <ul><li>In bash (Cygwin) run: <code>svn help</code>. This will create in your cygwin home directory the file .subversion/servers.</li>
83 <li>Edit the file mentioned above and follow the instructions in the file to set up your proxy settings.</li></ul></p>
84 <li><p>Install QuickTime SDK</p>
85 <p>Download QuickTime SDK for Windows from <a href="http://developer.apple.com/quicktime/download/">http://developer.apple.com/quicktime/download/</a> and install it to the default location (\Program Files\QuickTime SDK). This is needed for media support.
86
87 <li><p>Install DirectX SDK</p>
88 <p>Download the <a href="http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15">February 2010 DirectX SDK</a> (newer versions do not support Visual Studio 2005).  This is needed for accelerated compositing.</p>
89 </p>
90
91 <li><p>Optional: Install the 32-bit version of Debugging Tools for Windows</p>
92 <p>Debugging Tools for Windows includes many useful debugging tools such as WinDbg and NTSD. Some of WebKit&rsquo;s tests and scripts use these tools. Follow the <a target="installtools" href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#b">instructions for installing the 32-bit version of Debugging Tools for Windows</a>.</p>
93 <li><p>Optional: Hotfix for 64-bit Windows to disable the user-mode callback filter for exceptions</p>
94 <p>Without the <a href="http://support.microsoft.com/kb/976038">976038 hotfix</a>, exceptions may be thrown in callback routines that do not cause a crash but leave the application in an inconsistent state that might cause a crash later. You will need to click on "View and request hotfix downloads" and fill out the form. A link to download the hotfix and a password will be emailed to you.</p>
95 </ol>
96 </div>
97
98 <div class="gtk-instructions">
99 <h4>GTK</h4>
100 Follow the instructions on the <a href="http://trac.webkit.org/wiki/BuildingGtk">BuildingGTK</a> wiki page.
101 </div>
102
103 <div class="qt-instructions">
104 <h4>QT</h4>
105 Follow the instructions on the <a href="http://trac.webkit.org/wiki/QtWebKit">QtWebKit</a> wiki page.
106 </div>
107
108 <div class="efl-instructions">
109 <h4>EFL</h4>
110 Follow the instructions on the <a href="http://trac.webkit.org/wiki/EFLWebKit">EFLWebKit</a> wiki page.
111 </div>
112
113 <p>Once you have installed your developer tools, the next step is
114 <a href="checkout.html">getting the code</a>.</p>
115 <?php
116 include("../footer.inc");
117 ?>