<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to BuildInstructions</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>Recent changes to BuildInstructions</description><atom:link href="https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 25 May 2017 11:57:04 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/feed" rel="self" type="application/rss+xml"/><item><title>BuildInstructions modified by Tobias Netzel</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -35,7 +35,7 @@
 * install ruby 2.1

     sudo port install ruby21
-    sudo port ruby select ruby21
+    sudo port select ruby ruby21

 * install Perl 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Netzel</dc:creator><pubDate>Thu, 25 May 2017 11:57:04 -0000</pubDate><guid>https://sourceforge.net1095bb35bee7088b6f5802515550775f7dd2d4e8</guid></item><item><title>BuildInstructions modified by Tobias Netzel</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v4
+++ v5
@@ -1,4 +1,4 @@
-Build instructions for WebKit 601 and later are not available yet - the main difference is the switch to a modified version of GCC 6.1 .
+Build instructions for WebKit 601 and later are not available yet - the main difference is the switch to a modified version of GCC 6.

 # Requirements

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Netzel</dc:creator><pubDate>Sat, 20 May 2017 09:28:08 -0000</pubDate><guid>https://sourceforge.net3b77f53ad5849be1b71f50e88ac1d5e55a2ac440</guid></item><item><title>BuildInstructions modified by Tobias Netzel</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -32,10 +32,10 @@

     sudo port install apple-gcc42 +gpl3

-* install ruby 1.9 
+* install ruby 2.1 

-    sudo port install ruby19
-    sudo port ruby select ruby19
+    sudo port install ruby21
+    sudo port ruby select ruby21

 * install Perl 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Netzel</dc:creator><pubDate>Sat, 20 May 2017 09:27:21 -0000</pubDate><guid>https://sourceforge.net8a325f3602fccc494375dcb732cfbb4f1b677c66</guid></item><item><title>BuildInstructions modified by Tobias Netzel</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,3 +1,5 @@
+Build instructions for WebKit 601 and later are not available yet - the main difference is the switch to a modified version of GCC 6.1 .
+
 # Requirements

 * [MacPorts](http://www.macports.org) is the recommended way to get the following necessary tools 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Netzel</dc:creator><pubDate>Fri, 01 Jul 2016 17:54:25 -0000</pubDate><guid>https://sourceforge.neteb02ff2590d46fdd6094ccb205fe1c93407ebb67</guid></item><item><title>BuildInstructions modified by Tobias Netzel</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,23 +1,23 @@
 # Requirements

-  * [MacPorts](http://www.macports.org) is the recommended way to get the following necessary tools 
-  * gcc 4.2.4 Apple build 5666.3  
+* [MacPorts](http://www.macports.org) is the recommended way to get the following necessary tools 
+* gcc 4.2.4 Apple build 5666.3  
 _for Blocks support and additional bugfixes missing in Apple's 4.2.1_
-  * ruby &amp;gt;=1.9  
+* ruby &amp;gt;=1.9  
 _for building the Offline Assembler and the Low Level Interpreter for the JavaScript engine_
-  * Python &amp;gt;=2.6 
-  * JSON library for Python 
-  * Perl &amp;gt;=5.10 
-  * flex &amp;gt;=2.5.35 
-  * developer_cmds &amp;gt;=58 
-  * subversion 
+* Python &amp;gt;=2.6 
+* JSON library for Python 
+* Perl &amp;gt;=5.10 
+* flex &amp;gt;=2.5.35 
+* developer_cmds &amp;gt;=58 
+* subversion 

 # Preparing the toolchain

 Here the steps to prepare the build environment using MacPorts: 

-  1. [install MacPorts](http://www.macports.org/install.php) as described 
-  2. install Python 2.7 which already includes a JSON library 
+1. [install MacPorts](http://www.macports.org/install.php) as described 
+* install Python 2.7 which already includes a JSON library 

     sudo port install python27

@@ -87,7 +87,7 @@

 It is recommended to avoid checking out and updating the whole test suite as it is not needed for building anyway. 

-  1. Check out the root directory and the immediate childs of the WebKit SVN repository (inserting i.e. "Safari-536.25" as the version tag)  
+1. Check out the root directory and the immediate childs of the WebKit SVN repository (inserting i.e. "Safari-536.25" as the version tag)  
 _15 GB disk space is needed for building all four architectures._

     cd {destination path}
@@ -118,7 +118,7 @@

 Issue the following commands from within the root directory of the source tree: 

-  * Release build  
+* Release build  
 _You can choose to add to ARCHS any of i386, x86_64, ppc, ppc64, ppc7400, ppc970_  

@@ -141,7 +141,7 @@

 Issue the following commands from within the root directory of the source tree: 

-  * Run Safari in the gdb debugger 
+* Run Safari in the gdb debugger 

     Tools/Scripts/debug-safari

@@ -157,7 +157,7 @@

 In order to update your source tree to a newer tag, issue the following commands from within the root directory of the source tree: 

-  1. Undo the previous patchset and remove non-versioned files and directories 
+1. Undo the previous patchset and remove non-versioned files and directories 

     svn revert -R .
     svn status | grep ^\? | cut -c9- | tr '\n' '\0' | xargs -0 rm -r
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tobias Netzel</dc:creator><pubDate>Thu, 12 Mar 2015 19:31:14 -0000</pubDate><guid>https://sourceforge.net398f2a02d9d0c46b47176bea7ad3f5a2b3c1f99d</guid></item><item><title>BuildInstructions modified by Anonymous</title><link>https://sourceforge.net/p/leopard-webkit/wiki/BuildInstructions/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="requirements"&gt;Requirements&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="" href="http://www.macports.org" rel="nofollow"&gt;MacPorts&lt;/a&gt; is the recommended way to get the following necessary tools &lt;/li&gt;
&lt;li&gt;gcc 4.2.4 Apple build 5666.3&lt;br /&gt;
&lt;em&gt;for Blocks support and additional bugfixes missing in Apple's 4.2.1&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;ruby &amp;gt;=1.9&lt;br /&gt;
&lt;em&gt;for building the Offline Assembler and the Low Level Interpreter for the JavaScript engine&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Python &amp;gt;=2.6 &lt;/li&gt;
&lt;li&gt;JSON library for Python &lt;/li&gt;
&lt;li&gt;Perl &amp;gt;=5.10 &lt;/li&gt;
&lt;li&gt;flex &amp;gt;=2.5.35 &lt;/li&gt;
&lt;li&gt;developer_cmds &amp;gt;=58 &lt;/li&gt;
&lt;li&gt;subversion &lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="preparing-the-toolchain"&gt;Preparing the toolchain&lt;/h1&gt;
&lt;p&gt;Here the steps to prepare the build environment using MacPorts: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a class="" href="http://www.macports.org/install.php" rel="nofollow"&gt;install MacPorts&lt;/a&gt; as described &lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install Python 2.7 which already includes a JSON library &lt;/p&gt;
&lt;p&gt;sudo port install python27&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;select Python 2.7 to be the default version &lt;/p&gt;
&lt;p&gt;sudo port select python python27&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install Apple gcc build 5666.3 (will take some hours)&lt;br /&gt;
&lt;em&gt;Make sure you get the gpl3 variant!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;sudo port install apple-gcc42 +gpl3&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install ruby 1.9 &lt;/p&gt;
&lt;p&gt;sudo port install ruby19&lt;br /&gt;
sudo port ruby select ruby19&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install Perl &lt;/p&gt;
&lt;p&gt;sudo port install perl5&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install flex &lt;/p&gt;
&lt;p&gt;sudo port install flex&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install developer_cmds &lt;/p&gt;
&lt;p&gt;sudo port install developer_cmds&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now backup the existing Xcode tools:&lt;br /&gt;
&lt;em&gt;in order to force Xcode to use the recently built tools&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;cd {path to your Xcode installation}/usr/bin&lt;br /&gt;
mv gcc-4.2 gcc-4.2.bak&lt;br /&gt;
mv g++-4.2 g++-4.2.bak&lt;br /&gt;
mv nm nm.bak&lt;br /&gt;
mv install_name_tool install_name_tool.bak&lt;br /&gt;
mv flex flex.bak&lt;br /&gt;
mv unifdef unifdef.bak&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then create symlinks to the MacPorts versions (staying in the same directory): &lt;/p&gt;
&lt;p&gt;ln -s /opt/local/bin/gcc-apple-4.2 gcc-4.2&lt;br /&gt;
ln -s /opt/local/bin/g++-apple-4.2 g++-4.2&lt;br /&gt;
ln -s /opt/local/bin/nm nm&lt;br /&gt;
ln -s /opt/local/bin/install_name_tool install_name_tool&lt;br /&gt;
ln -s /opt/local/bin/flex flex&lt;br /&gt;
ln -s /opt/local/bin/unifdef unifdef&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now backup some existing system tools:&lt;br /&gt;
&lt;em&gt;in order to force all scripts to use the recently built tools&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;cd /usr/bin&lt;br /&gt;
mv perl perl.bak&lt;br /&gt;
mv python python.bak&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Then create symlinks to the MacPorts versions (staying in the same directory): &lt;/p&gt;
&lt;p&gt;ln -s /opt/local/bin/perl perl&lt;br /&gt;
ln -s /opt/local/bin/python python&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install subversion &lt;/p&gt;
&lt;p&gt;sudo port install subversion&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="getting-the-sources"&gt;Getting the sources&lt;/h1&gt;
&lt;p&gt;It is recommended to avoid checking out and updating the whole test suite as it is not needed for building anyway. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Check out the root directory and the immediate childs of the WebKit SVN repository (inserting i.e. "Safari-536.25" as the version tag)&lt;br /&gt;
&lt;em&gt;15 GB disk space is needed for building all four architectures.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;cd {destination path}&lt;br /&gt;
svn checkout &lt;a href="http://svn.webkit.org/repository/webkit/tags" rel="nofollow"&gt;http://svn.webkit.org/repository/webkit/tags/&lt;/a&gt;{some version tag} --depth=immediates WebKit&lt;br /&gt;
cd WebKit&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Checkout the content of the needed subdirectories of the WebKit SVN repository (staying in the same directory "WebKit") &lt;/p&gt;
&lt;p&gt;svn update --set-depth=infinity Source Tools WebKitLibraries&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Checkout the JavaScriptGlue directory &lt;/p&gt;
&lt;p&gt;svn checkout ^/trunk/Source/JavaScriptGlue@105839 Source/JavaScriptGlue&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Checkout the WebKitSystemInterface static libraries&lt;br /&gt;
&lt;em&gt;They have been removed from the subversion trunk at revision 133670&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;svn merge -c -133670 ^/trunk --accept=mf&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the patchfiles corresponding to the version tag you checked out &lt;/p&gt;
&lt;p&gt;svn patch --strip 2 {path to the WebKit patchfile}&lt;br /&gt;
svn patch --strip 3 {path to the JavaScriptGlue patchfile} Source/JavaScriptGlue&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id="building-the-webkit-frameworks"&gt;Building the WebKit frameworks&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;Safari in 10.5 doesn't support 64 bit so building x86_64 and ppc64 does only make sense when you also build a browser (like &lt;a class="" href="http://code.google.com/p/sunrisebrowser" rel="nofollow"&gt;Sunrise&lt;/a&gt;) as 64 bit.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Issue the following commands from within the root directory of the source tree: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Release build&lt;br /&gt;
&lt;em&gt;You can choose to add to ARCHS any of i386, x86_64, ppc, ppc64, ppc7400, ppc970&lt;/em&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;Tools/Scripts/build-webkit --release ARCHS="ppc" ONLY_ACTIVE_ARCH=NO&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Debug build&lt;br /&gt;
&lt;em&gt;You can choose to add to ARCHS any of i386, x86_64, ppc, ppc64, ppc7400, ppc970&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Tools/Scripts/build-webkit --debug ARCHS="ppc" ONLY_ACTIVE_ARCH=NO&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Building with distcc requires adding the following to the command line: &lt;/p&gt;
&lt;p&gt;GCC_PRECOMPILE_PREFIX_HEADER=NO&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In order to build targetting 10.6 when running a different version of OS X add the following to the command line: &lt;/p&gt;
&lt;p&gt;TARGET_MAC_OS_X_VERSION_MAJOR=1060&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="running-the-built-code"&gt;Running the built code&lt;/h1&gt;
&lt;p&gt;Issue the following commands from within the root directory of the source tree: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Run Safari in the gdb debugger &lt;/p&gt;
&lt;p&gt;Tools/Scripts/debug-safari&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Launch Safari, forcing it to use the freshly built frameworks &lt;/p&gt;
&lt;p&gt;Tools/Scripts/run-safari&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Launch a WebKit based application, forcing it to use the freshly built frameworks &lt;/p&gt;
&lt;p&gt;Tools/Scripts/run-webkit-app {path to the application}/Contents/MacOS/{application binary}&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="updating-the-sources"&gt;Updating the sources&lt;/h1&gt;
&lt;p&gt;In order to update your source tree to a newer tag, issue the following commands from within the root directory of the source tree: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Undo the previous patchset and remove non-versioned files and directories &lt;/p&gt;
&lt;p&gt;svn revert -R .&lt;br /&gt;
svn status | grep ^\? | cut -c9- | tr '\n' '\0' | xargs -0 rm -r&lt;/p&gt;
&lt;p&gt;svn revert -R Source/JavaScriptGlue&lt;br /&gt;
svn status Source/JavaScriptGlue | grep ^\? | cut -c9- | tr '\n' '\0' | xargs -0 rm -r&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update to the new tag &lt;/p&gt;
&lt;p&gt;svn switch ^/tags/{some version tag}&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the patchfiles corresponding to the version tag you checked out &lt;/p&gt;
&lt;p&gt;svn patch --strip 2 {path to the WebKit patchfile}&lt;br /&gt;
svn patch --strip 3 {path to the JavaScriptGlue patchfile} Source/JavaScriptGlue&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Thu, 12 Mar 2015 18:41:59 -0000</pubDate><guid>https://sourceforge.net6b103193b70bca77f8d00514d3a634abfc1bf4c3</guid></item></channel></rss>