diff options
Diffstat (limited to 'Docs/BUILDING-Monkey')
-rw-r--r-- | Docs/BUILDING-Monkey | 111 |
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. + |