1--------------------------------------------------------------------------------
2  Build Instructions for AmigaOS NetSurf                            02 May 2014
3--------------------------------------------------------------------------------
4
5  This document provides instructions for building the AmigaOS version of
6  NetSurf and provides guidance on obtaining NetSurf's build dependencies.
7
8  AmigaOS NetSurf has been tested on AmigaOS 4.0 July 2007 Update and AmigaOS
9  4.1.  It will require modification for AmigaOS 3.9 or earlier, or other
10  Amiga-like platforms.
11
12  AmigaOS NetSurf will build against newlib by default, building against
13  clib2 has not been tested.
14
15
16  Building and executing NetSurf
17================================
18
19  First of all, you should examine the contents of Makefile.defaults
20  and enable and disable relevant features as you see fit by creating
21  a Makefile.config.  Some of these options can be automatically
22  detected and used, although it is better to explicitly enable or
23  disable options.
24
25  You should then obtain NetSurf's dependencies, keeping in mind which options
26  you have enabled in the configuration file.  See the next section for
27  specifics.
28
29  Once done, to build AmigaOS NetSurf on OS4, simply run:
30
31      1> gmake
32
33  If that produces errors, you probably don't have some of NetSurf's build
34  dependencies installed. See "Obtaining NetSurf's dependencies" below, or turn
35  off the complaining features in a Makefile.config.
36
37  Running NetSurf from the build tree requires some setup:
38
39      1> makelink resources amiga/resources force
40      1> copy amiga/resources/themes/default/NetSurf.info NetSurf.info
41
42  It should then be possible to run NetSurf by executing NetSurf from the
43  Shell or by double-clicking on the icon.
44
45
46  Obtaining NetSurf's build dependencies
47========================================
48
49  Many of NetSurf's dependencies are included with the OS4 SDK or available
50  from Aminet or OS4Depot.  The remainder must be built manually.
51
52  The NetSurf project's libraries
53---------------------------------
54
55  The NetSurf project has developed several libraries which are required by
56  the browser.  To fetch each of these libraries, run the appropriate commands
57  from the Docs/LIBRARIES file.
58
59  To build and install these libraries, simply enter each of their directories
60  and run:
61
62      1> gmake PREFIX=/path/to/buildsystem
63
64  The path MUST be in UNIX format and point to directory containing "share".
65
66  | Note: Building libsvgtiny requires gperf, which is available from Aminet:
67  |
68  |           http://www.aminet.net/package/dev/c/gperf
69
70
71  cURL
72------
73
74  A version of libcurl built for newlib is available from Aminet
75
76      http://www.os4depot.net/share/development/library/misc/libcurl.lha
77
78
79
80  libpng
81--------
82
83  NetSurf uses libPNG to display PNG files.
84  It builds without any problems on OS4, or available from OS4Depot:
85
86      http://www.os4depot.net/share/development/library/graphics/libpng.lha
87
88
89  OpenSSL
90---------
91
92  NetSurf uses OpenSSL for encrypted transfers.
93
94      http://www.os4depot.net/share/development/library/misc/libopenssl.lha
95
96
97  Libharu
98---------
99
100  NetSurf can use Haru PDF to enable PDF export.  Haru PDF can be obtained
101  from http://libharu.org/.  We require libharu 2.2 or later.
102
103  | Note: libharu cannot be auto-detected by the Makefile.  If you wish to
104  |       enable it, do so by creating a Makefile.config file.
105
106
107  libregex
108----------
109
110  A version of the regular expression library can be obtained from Aminet:
111
112      http://www.aminet.net/package/dev/lib/libregex-4.4.3
113
114
115  openurl.library
116-----------------
117
118  The AmigaOS mailto: URL support uses openurl.library, this and the includes
119  can be obtained from Aminet:
120
121      http://www.aminet.net/package/comm/www/OpenURL-OS4
122
123
124  Spidermonkey
125--------------
126
127  Experimental Javascript support requires Spidermonkey.  The patches to
128  build v1.7 are available from the NetSurf toolchains Git repository.
129
130