netsurf/Docs/BUILDING-Monkey

112 lines
4.5 KiB
Plaintext
Raw Normal View History

--------------------------------------------------------------------------------
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.