From 703427a48612bf98fba599dfcd6e91485efd5b77 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Fri, 9 Jun 2017 17:28:55 +0100 Subject: Update documentation removing junk and moving to markdown for most text files --- docs/building-Haiku.md | 146 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 docs/building-Haiku.md (limited to 'docs/building-Haiku.md') diff --git a/docs/building-Haiku.md b/docs/building-Haiku.md new file mode 100644 index 000000000..8642861d3 --- /dev/null +++ b/docs/building-Haiku.md @@ -0,0 +1,146 @@ +-------------------------------------------------------------------------------- + Build Instructions for BeOS and Haiku NetSurf 13 February 2010 +-------------------------------------------------------------------------------- + + This document provides instructions for building the BeOS and Haiku version + of NetSurf and provides guidance on obtaining NetSurf's build dependencies. + + BeOS NetSurf has been tested on Zeta and Haiku only for now. There are still some + issues to sort out for other BeOS versions. + + 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 for Haiku. BeOS needs too much manual + hacking to be built this way. + + + Manual building +================================ + + To build NetSurf on a BeOS, provided you have the relevant + build dependencies installed, simply run: + + $ make + + If that produces errors, you probably don't have some of NetSurf's build + dependencies installed. See "Obtaining NetSurf's dependencies" below. You + may need to "make clean" before attempting to build after installing the + dependencies. Also note BeOS has an old make command that won't work, see + below. + + + Obtaining NetSurf's dependencies +================================== + + Many of NetSurf's dependencies are either installed or available for BeOS and + Haiku. The remainder must be installed manually. + + The NetSurf project's libraries +--------------------------------- + + The NetSurf project has developed several libraries which are required by + the browser. These are: + + BuildSystem -- Shared build system, needed to build the other libraries + 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 appropriate commands from the + Docs/LIBRARIES file, from within your workspace directory. + + 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. + + TODO: add some more here. + + Additional requirements for BeOS +================================== + + On Haiku, other libraries and tools are either shipped with the system or available through the + package repositories. For BeOS based systems, you will need to install and update all the + required tools, as described below. + + rc +---- + + Building NetSurf needs the Haiku resource compiler (rc), that allows + importing files from resource definitions (.rdef). + + $ cd + $ TARGET_PLATFORM=r5 jam -q rc + $ cp generated/objects/dano/x86/release/tools/rc/rc /boot/home/config/bin/ + + + GNU make 3.81 +--------------- + + BeOS has an old make tool, which won't work when building NetSurf. + Haiku has 3.81 which is the one that works. For BeOS, one has to replace + the original make with one built from the Haiku tree, or install it as gmake: + + $ cd + $ TARGET_PLATFORM=r5 jam -q make + $ cp generated/objects/r5/x86/release/bin/make/make /boot/home/config/bin/gmake + + + cURL +------ + + NetSurf uses cURL to fetch files from the network. + There is a patch against the official version on HaikuPorts. + + TODO + + + libpng +-------- + + NetSurf uses libPNG to display PNG files. + It should build just fine on BeOS. + + + libjpeg +--------- + + NetSurf uses libjpeg to display JPEG files. + It should already be available in your dev kit. + + + OpenSSL +---------- + + NetSurf uses OpenSSL for encrypted transfers. + + + General requirements +---------------------- + + There is currently an issue on stdbool.h (unsigned char bool vs enum bool) + which needs to be fixed, for now one can use the Haiku version of the header + and copy it over the gcc-provided one. + $ cd + $ cp headers/build/gcc-2.95.3/stdbool.h /boot/develop/tools/gnupro/lib/gcc-lib/i586-pc-beos/2.95.3-beos-060710/include/stdbool.h + + + NetSurf might build on BeOS R5 but probably won't work on anything else than + BONE. -- cgit v1.2.3