summaryrefslogtreecommitdiff
path: root/Docs/BUILDING-Monkey
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@netsurf-browser.org>2011-03-13 10:51:58 +0000
committerDaniel Silverstone <dsilvers@netsurf-browser.org>2011-03-13 10:51:58 +0000
commitf218297b7764fe282ad03198387bcc3f7ee94fe5 (patch)
treecc4a06200acc85b11368798d0bf334112d0f8c9f /Docs/BUILDING-Monkey
parenta96094205b55c746fe1517bfdc9b88cb8d7179ec (diff)
downloadnetsurf-f218297b7764fe282ad03198387bcc3f7ee94fe5.tar.gz
netsurf-f218297b7764fe282ad03198387bcc3f7ee94fe5.tar.bz2
Initial building/using monkey docs
svn path=/trunk/netsurf/; revision=12015
Diffstat (limited to 'Docs/BUILDING-Monkey')
-rw-r--r--Docs/BUILDING-Monkey111
1 files changed, 111 insertions, 0 deletions
diff --git a/Docs/BUILDING-Monkey b/Docs/BUILDING-Monkey
new file mode 100644
index 000000000..8abd0c798
--- /dev/null
+++ b/Docs/BUILDING-Monkey
@@ -0,0 +1,111 @@
+--------------------------------------------------------------------------------
+ Build Instructions for Monkey NetSurf 13 March 2011
+--------------------------------------------------------------------------------
+
+ This document provides instructions for building the Monkey
+ automation version of NetSurf and provides guidance on obtaining
+ NetSurf's build dependencies.
+
+ Monkey NetSurf has been tested on Ubuntu 10.10/amd64.
+
+
+ Building and executing NetSurf
+ ==============================
+
+ First of all, you should examine the contents of Makefile.defaults
+ and enable and disable relevant features as you see fit by creating
+ a Makefile.config file. Some of these options can be automatically
+ detected and used, and where this is the case they are set to such.
+ Others cannot be automatically detected from the Makefile, so you
+ will either need to install the dependencies, or set them to NO.
+
+ You should then obtain NetSurf's dependencies, keeping in mind which options
+ you have enabled in the configuration file. See the next section for
+ specifics.
+
+ Once done, to build Monkey NetSurf on a UNIX-like platform, simply run:
+
+ $ make TARGET=monkey
+
+ If that produces errors, you probably don't have some of NetSurf's
+ build dependencies installed. See "Obtaining NetSurf's dependencies"
+ below. Or turn off the complaining features in a Makefile.config
+ file. You may need to "make clean" before attempting to build after
+ installing the dependencies.
+
+ Run NetSurf by executing the "nsmonkey" command from within the build tree.
+
+ $ ./nsmonkey
+
+ If you are packaging NetSurf, do NOT package nsmonkey. It is a debug tool.
+
+
+ Obtaining NetSurf's build dependencies
+ ======================================
+
+ Many of NetSurf's dependencies are packaged on various operating systems.
+ The remainder must be installed manually. Currently, some of the libraries
+ developed as part of the NetSurf project have not had official releases.
+ Hopefully they will soon be released with downloadable tarballs and packaged
+ in common distros. For now, you'll have to make do with svn checkouts.
+
+ Some of NetSurf's own libraries will be installed in /usr/local/ by default.
+ Fedora, and perhaps some other distributions of Linux, do not ship a
+ pkg-config that will search here, so you will either need to change where
+ these libraries install, or do the following before building NetSurf itself;
+
+ $ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
+ $ export PKG_CONFIG_PATH
+
+ Package installation
+----------------------
+
+ Debian-like OS:
+
+ $ apt-get install libcurl3-dev libxml2-dev
+
+ Recent OS versions might need libcurl4-dev instead of libcurl3-dev but
+ note that when it has not been built with OpenSSL, the SSL_CTX is not
+ available and results that certification details won't be presented in case
+ they are invalid. But as this is currently unimplemented in the GTK
+ flavour of NetSurf, this won't make a difference at all.
+
+
+ The NetSurf project's libraries
+ -------------------------------
+
+ The NetSurf project has developed several libraries which are required by
+ the browser. These are:
+
+ LibParserUtils -- Parser building utility functions
+ LibWapcaplet -- String internment
+ Hubbub -- HTML5 compliant HTML parser
+ LibCSS -- CSS parser and selection engine
+ LibNSGIF -- GIF format image decoder
+ LibNSBMP -- BMP and ICO format image decoder
+ LibROSprite -- RISC OS Sprite format image decoder
+
+ To fetch each of these libraries, run the following commands:
+
+ $ svn co svn://svn.netsurf-browser.org/trunk/libparserutils
+ $ svn co svn://svn.netsurf-browser.org/trunk/libwapcaplet
+ $ svn co svn://svn.netsurf-browser.org/trunk/hubbub
+ $ svn co svn://svn.netsurf-browser.org/trunk/libcss
+ $ svn co svn://svn.netsurf-browser.org/trunk/libnsgif
+ $ svn co svn://svn.netsurf-browser.org/trunk/libnsbmp
+ $ svn co svn://svn.netsurf-browser.org/trunk/librosprite
+
+ To build and install these libraries, simply enter each of their directories
+ and run:
+
+ $ sudo make install
+
+ | Note: We advise enabling iconv() support in libparserutils, which vastly
+ | increases the number of supported character sets. To do this,
+ | create a file called Makefile.config.override in the libparserutils
+ | directory, containing the following line:
+ |
+ | CFLAGS += -DWITH_ICONV_FILTER
+ |
+ | For more information, consult the libparserutils README file.
+