Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. --------------------------------------------------------------------------------
  2.   Build Instructions for BeOS and Haiku NetSurf               13 February 2010
  3. --------------------------------------------------------------------------------
  4.  
  5.   This document provides instructions for building the BeOS and Haiku version
  6.   of NetSurf and provides guidance on obtaining NetSurf's build dependencies.
  7.  
  8.   BeOS NetSurf has been tested on Zeta only for now. There are still some
  9.   issues to sort out for other BeOS versions.
  10.  
  11.  
  12.   There are still pending fixes against SVN before it can be build from BeOS
  13.   or Haiku.
  14.  
  15.  
  16.   Building and executing NetSurf
  17. ================================
  18.  
  19.   To build NetSurf on a BeOS or Haiku, provided you have the relevant
  20.   build dependencies installed, simply run:
  21.  
  22.       $ make
  23.  
  24.   If that produces errors, you probably don't have some of NetSurf's build
  25.   dependencies installed. See "Obtaining NetSurf's dependencies" below. You
  26.   may need to "make clean" before attempting to build after installing the
  27.   dependencies. Also note BeOS has an old make command that won't work, see
  28.   below.
  29.  
  30.  
  31.   Obtaining NetSurf's dependencies
  32. ==================================
  33.  
  34.   Many of NetSurf's dependencies are either installed or available for BeOS and
  35.   Haiku. The remainder must be installed manually.
  36.  
  37.   The NetSurf project's libraries
  38. ---------------------------------
  39.  
  40.   The NetSurf project has developed several libraries which are required by
  41.   the browser.  To fetch each of these libraries, run the appropriate commands
  42.   from the Docs/LIBRARIES file.
  43.  
  44.   To build and install these libraries, simply enter each of their directories
  45.   and run:
  46.  
  47.       $ make install
  48.  
  49.   | Note: We advise enabling iconv() support in libparserutils, which vastly
  50.   |       increases the number of supported character sets.  To do this,
  51.   |       create a file called Makefile.config.override in the libparserutils
  52.   |       directory, containing the following line:
  53.   |
  54.   |           CFLAGS += -DWITH_ICONV_FILTER
  55.   |
  56.   |       For more information, consult the libparserutils README file.
  57.  
  58.   TODO: add some more here.
  59.  
  60.   rc
  61. ----
  62.  
  63.   Building NetSurf needs the Haiku resource compiler (rc), that allows
  64.   importing files from resource definitions (.rdef).
  65.  
  66.       $ cd <haiku-trunk-directory>
  67.       $ TARGET_PLATFORM=r5 jam -q rc
  68.       $ cp generated/objects/dano/x86/release/tools/rc/rc  /boot/home/config/bin/
  69.  
  70.  
  71.   GNU make 3.81
  72. ---------------
  73.  
  74.   BeOS has an old make tool, which won't work when building NetSurf.
  75.   Haiku has 3.81 which is the one that works. For BeOS, one has to replace
  76.   the original make with one built from the Haiku tree, or install it as gmake:
  77.  
  78.       $ cd <haiku-trunk-directory>
  79.       $ TARGET_PLATFORM=r5 jam -q make
  80.       $ cp generated/objects/r5/x86/release/bin/make/make /boot/home/config/bin/gmake
  81.  
  82.  
  83.   cURL
  84. ------
  85.  
  86.   NetSurf uses cURL to fetch files from the network.
  87.   There is a patch against the official version on HaikuPorts.
  88.  
  89.   TODO
  90.  
  91.  
  92.   libmng
  93. --------
  94.  
  95.   NetSurf uses libMNG to display MNG and PNG files.
  96.   It should build just fine on BeOS.
  97.  
  98.  
  99.   libjpeg
  100. ---------
  101.  
  102.   NetSurf uses libjpeg to display JPEG files.
  103.   It should already be available in your dev kit.
  104.  
  105.  
  106.   OpenSSL
  107. ----------
  108.  
  109.   NetSurf uses OpenSSL for encrypted transfers.
  110.  
  111.  
  112.   General requirements
  113. ----------------------
  114.  
  115.   There is currently an issue on stdbool.h (unsigned char bool vs enum bool)
  116.   which needs to be fixed, for now one can use the Haiku version of the header
  117.   and copy it over the gcc-provided one.
  118.       $ cd <haiku-trunk-directory>
  119.       $ 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
  120.  
  121.  
  122.   NetSurf might build on BeOS R5 but probably won't work on anything else than
  123.   BONE.
  124.  
  125.   This will pull in loads of things, like all the GTK dev libraries, the PNG
  126.   and JPEG libraries, colour management libraries, zlib, OpenSSL etc that
  127.   NetSurf also depends on.
  128.