2011-01-13 10:47:07 +03:00
|
|
|
--------------------------------------------------------------------------------
|
2011-01-27 18:47:02 +03:00
|
|
|
Build Instructions for Cocoa NetSurf 13 January 2011
|
2011-01-13 10:47:07 +03:00
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
This document provides instructions for building the Cocoa version of NetSurf
|
|
|
|
and provides guidance on obtaining NetSurf's build dependencies.
|
|
|
|
|
|
|
|
Cocoa NetSurf has been tested on Mac OS X 10.6 on Intel and on Mac OS X 10.5
|
|
|
|
on ppc.
|
|
|
|
|
2011-01-27 18:47:02 +03:00
|
|
|
|
2011-01-13 10:47:07 +03:00
|
|
|
Building and executing NetSurf
|
|
|
|
================================
|
|
|
|
|
2011-01-27 18:47:02 +03:00
|
|
|
After installing the dependencies NetSurf can be built in Xcode using the
|
|
|
|
provided project file "NetSurf.xcodeproj". This builds a version using only
|
|
|
|
the minimal set of dependencies (LibParserUtils, LibWapcaplet, Hubbub,
|
|
|
|
LibCSS) and libraries provided by Mac OS X.
|
|
|
|
|
|
|
|
To build a more complete version a local configuration file has to be
|
|
|
|
created. To do this open a Terminal and change to the "cocoa/config"
|
|
|
|
folder and run this command:
|
2011-01-13 10:47:07 +03:00
|
|
|
|
|
|
|
$ sh detect.sh --with-jpeg=<prefix for libjpeg> --with-mng=<prefix for libmng>
|
|
|
|
|
2011-01-27 18:47:02 +03:00
|
|
|
You can leave out the options for the JPEG and MNG libraries if you don't
|
|
|
|
have them installed.
|
|
|
|
|
|
|
|
This script uses the "pkg-config" program to find the required libraries
|
|
|
|
and generates the file "local.xcconfig". After that NetSurf can be built
|
|
|
|
using Xcode.
|
2011-01-13 10:47:07 +03:00
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Package installation
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
For building the other NetSurf libraries and for configuring NetSurf the
|
|
|
|
"pkg-config" tool is required. It can be installed either via fink, macports
|
|
|
|
or homebrew or from source.
|
|
|
|
|
|
|
|
OpenSSL, LibXML2, LibPNG, curl, iconv and zlib are provided by Mac OS X.
|
|
|
|
|
|
|
|
LibJPEG and LibMNG can be installed from source or using one of the mentioned
|
|
|
|
package managers.
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
2011-01-27 18:47:02 +03:00
|
|
|
|
2011-01-23 15:12:02 +03:00
|
|
|
$ make
|
2011-01-13 10:47:07 +03:00
|
|
|
$ sudo make install
|
|
|
|
|
2011-01-23 15:12:02 +03:00
|
|
|
This command builds the libraries only for the active architecture. To build
|
|
|
|
universal binaries use those commands:
|
|
|
|
|
|
|
|
$ make UNIVERSAL="i386 x86_64 ppc ppc64"
|
|
|
|
$ sudo make install
|
|
|
|
|
|
|
|
If you are building NetSurf for using it on only one computer this is not
|
2011-01-27 18:47:02 +03:00
|
|
|
necessary, but if you want to distribute your binary you should build
|
|
|
|
universal binaries. You can also leave some of the platform names out, if
|
|
|
|
you don't require them.
|
2011-01-23 15:12:02 +03:00
|
|
|
|
2011-01-28 02:04:46 +03:00
|
|
|
| Note: We advise enabling iconv() support in libparserutils, which vastly
|
2011-01-13 10:47:07 +03:00
|
|
|
| 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.
|