mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-03 01:34:25 +03:00
Update for the "new" buildsystem.
This commit is contained in:
parent
f104f99809
commit
ba1aeccc05
@ -1,5 +1,5 @@
|
||||
--------------------------------------------------------------------------------
|
||||
Build Instructions for Framebuffer NetSurf 13 February 2010
|
||||
Build Instructions for Framebuffer NetSurf 16 March 2014
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
This document provides instructions for building the Framebuffer version of
|
||||
@ -7,8 +7,152 @@
|
||||
|
||||
Framebuffer NetSurf has been tested on Ubuntu and Debian.
|
||||
|
||||
Depending on the framebuffer frontend selected the build may need specific
|
||||
libraries installed, e.g. the SDL port requires SDL1.2 or later
|
||||
|
||||
There are two ways to get NetSurf building. The QUICK-START (recommended),
|
||||
and the manual build. Whichever you choose, you should read both the
|
||||
"Fonts", and "Selecting a frontend and appropriate options" sections below.
|
||||
|
||||
|
||||
Quick Start
|
||||
=============
|
||||
|
||||
See the QUICK-START document, which provides a simple environment with
|
||||
which you can fetch, build and install NetSurf and its dependencies.
|
||||
|
||||
The QUICK-START is the recommended way to build NetSurf.
|
||||
|
||||
|
||||
Manual building
|
||||
=================
|
||||
|
||||
If you can't follow the quick start instructions, you will have to build
|
||||
NetSurf manually. The instructions for doing this are given below.
|
||||
|
||||
|
||||
Obtaining the 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 Git checkouts.
|
||||
|
||||
Package installation
|
||||
--------------------
|
||||
|
||||
Debian-like OS:
|
||||
|
||||
$ apt-get install libcurl3-dev libpng-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 Framebuffer
|
||||
flavour of NetSurf, this won't make a difference at all.
|
||||
|
||||
Fedora:
|
||||
|
||||
$ yum install curl-devel libpng-devel lcms-devel
|
||||
|
||||
Other:
|
||||
|
||||
You'll need to install the development resources for libcurl3 and libpng.
|
||||
|
||||
|
||||
Preparing your workspace
|
||||
--------------------------
|
||||
|
||||
NetSurf has a number of libraries which must be built in-order and
|
||||
installed into your workspace. Each library depends on a core build
|
||||
system which NetSurf projects use. This build system relies on the
|
||||
presence of things like pkg-config to find libraries and also certain
|
||||
environment variables in order to work correctly.
|
||||
|
||||
Assuming you are preparing a workspace in /home/netsurf/workspace then
|
||||
the following steps will set you up:
|
||||
|
||||
Make the workspace directory and change to it
|
||||
---------------------------------------------
|
||||
|
||||
$ mkdir -p ${HOME}/netsurf/workspace
|
||||
$ cd ${HOME}/netsurf/workspace
|
||||
|
||||
Make the temporary install space
|
||||
--------------------------------
|
||||
|
||||
$ mkdir inst
|
||||
|
||||
Make an environment script
|
||||
--------------------------
|
||||
$ cat > env.sh <<'EOF'
|
||||
export PKG_CONFIG_PATH=${HOME}/netsurf/workspace/inst/lib/pkgconfig::
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HOME}/netsurf/workspace/inst/lib
|
||||
export PREFIX=${HOME}/netsurf/workspace/inst
|
||||
EOF
|
||||
|
||||
Change to workspace and source the environment
|
||||
----------------------------------------------
|
||||
|
||||
Whenever you wish to start development in a new shell, run the following:
|
||||
|
||||
$ cd ${HOME}/netsurf/workspace
|
||||
$ source env.sh
|
||||
|
||||
From here on, any commands in this document assume you have sourced your
|
||||
shell environment.
|
||||
|
||||
|
||||
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
|
||||
LibNSFB -- Framebuffer abstraction
|
||||
|
||||
To fetch each of these libraries, run the appropriate commands from the
|
||||
Docs/LIBRARIES file.
|
||||
|
||||
To build and install these libraries, simply enter each of their directories
|
||||
and run:
|
||||
|
||||
$ 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.
|
||||
|
||||
|
||||
Getting the NetSurf source
|
||||
----------------------------
|
||||
|
||||
From your workspace directory, run the following command to get the NetSurf
|
||||
source:
|
||||
|
||||
$ git clone git://git.netsurf-browser.org/netsurf.git
|
||||
|
||||
And change to the 'netsurf' directory:
|
||||
|
||||
$ cd netsurf
|
||||
|
||||
|
||||
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 in a
|
||||
@ -203,75 +347,3 @@ Index: framebuffer/font_freetype.c
|
||||
The documentation of libnsfb should be consulted for futher
|
||||
information about supported frontends and their configuration.
|
||||
|
||||
|
||||
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 Git checkouts.
|
||||
|
||||
Package installation
|
||||
----------------------
|
||||
|
||||
Debian-like OS:
|
||||
|
||||
$ apt-get install libcurl3-dev libpng-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 Framebuffer
|
||||
flavour of NetSurf, this won't make a difference at all.
|
||||
|
||||
Fedora:
|
||||
|
||||
$ yum install curl-devel libpng-devel lcms-devel
|
||||
|
||||
Other:
|
||||
|
||||
You'll need to install the development resources for libcurl3 and libpng.
|
||||
|
||||
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
|
||||
LibNSFB -- Framebuffer abstraction
|
||||
|
||||
To fetch each of these libraries, run the appropriate commands from the
|
||||
Docs/LIBRARIES file.
|
||||
|
||||
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.
|
||||
|
||||
General requirements
|
||||
----------------------
|
||||
|
||||
Depending on the frontend selected the build may need specific
|
||||
libraries installed, e.g. the SDL port requires SDL1.2 or later
|
||||
|
||||
Installing these libraries will often will pull in loads of things,
|
||||
like the PNG and JPEG libraries, colour management libraries, zlib,
|
||||
OpenSSL etc that NetSurf also depends on.
|
||||
|
Loading…
Reference in New Issue
Block a user