mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-07 03:22:12 +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
|
This document provides instructions for building the Framebuffer version of
|
||||||
@ -7,8 +7,152 @@
|
|||||||
|
|
||||||
Framebuffer NetSurf has been tested on Ubuntu and Debian.
|
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
|
Building and executing NetSurf
|
||||||
================================
|
--------------------------------
|
||||||
|
|
||||||
First of all, you should examine the contents of Makefile.defaults
|
First of all, you should examine the contents of Makefile.defaults
|
||||||
and enable and disable relevant features as you see fit in a
|
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
|
The documentation of libnsfb should be consulted for futher
|
||||||
information about supported frontends and their configuration.
|
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