mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-11-24 23:39:51 +03:00
2de8601f92
svn path=/trunk/netsurf/; revision=11896
98 lines
3.8 KiB
Plaintext
98 lines
3.8 KiB
Plaintext
--------------------------------------------------------------------------------
|
|
Build Instructions for Cocoa NetSurf 13 January 2011
|
|
--------------------------------------------------------------------------------
|
|
|
|
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.
|
|
|
|
|
|
Building NetSurf
|
|
==================
|
|
|
|
After installing the dependencies NetSurf can be built either using the Xcode
|
|
project file 'cocoa/NetSurf.xcodeproj' or on the command line using the
|
|
Makefile:
|
|
|
|
$ make TARGET=cocoa
|
|
|
|
In both cases the actual build process is controlled by the Makefile.
|
|
|
|
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.
|
|
|
|
The curl library provided by Mac OS X 10.6 causes a crash while fetching
|
|
https resources, so you should install version 7.21.4 (or newer) of libcurl
|
|
if you are running on 10.6.
|
|
|
|
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:
|
|
|
|
$ make
|
|
$ sudo make install
|
|
|
|
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
|
|
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.
|
|
|
|
| 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.
|