summaryrefslogtreecommitdiff
path: root/Docs/BUILDING-RISC_OS
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2009-08-10 11:04:47 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2009-08-10 11:04:47 +0000
commita928ada60a7f80f1d18331ccd1159d72f6e90b8f (patch)
treea2754c4f44a84e564552fd30dc30d736c6dd2492 /Docs/BUILDING-RISC_OS
parent8e58c63c9996b81432b440fbc008385347f7dc98 (diff)
downloadnetsurf-a928ada60a7f80f1d18331ccd1159d72f6e90b8f.tar.gz
netsurf-a928ada60a7f80f1d18331ccd1159d72f6e90b8f.tar.bz2
First draft of RISC OS native build document.
svn path=/trunk/netsurf/; revision=9140
Diffstat (limited to 'Docs/BUILDING-RISC_OS')
-rw-r--r--Docs/BUILDING-RISC_OS121
1 files changed, 121 insertions, 0 deletions
diff --git a/Docs/BUILDING-RISC_OS b/Docs/BUILDING-RISC_OS
new file mode 100644
index 000000000..3fc76179e
--- /dev/null
+++ b/Docs/BUILDING-RISC_OS
@@ -0,0 +1,121 @@
+--------------------------------------------------------------------------------
+ Build Instructions for RISC OS NetSurf 10 August 2009
+--------------------------------------------------------------------------------
+
+ This document provides instructions for building the RISC OS NetSurf
+ natively on a RISC OS computer and provides guidance on obtaining NetSurf's
+ build dependencies.
+
+ RISC OS NetSurf should work on RISC OS 4.02 and above.
+
+ Note: This guide assumes that you have the RISC OS SVN client installed,
+ and that you have used it to fetch the NetSurf source. It also
+ assumes that you have the following requirements installed:
+
+ + OSLib 6.80 or later
+ + Perl 5.8.8 or later
+ + GCC 3.4.6 release 3 or later
+ + The latest NSTools
+
+ For instructions on how to do all of the above, consult the following
+ document:
+
+ http://www.netsurf-browser.org/documentation/robuild
+
+ If you want to cross-compile NetSurf for RISC OS, use the BUILDING-ROCross
+ document.
+
+
+ Building and executing NetSurf
+=================================
+
+ Note: The version of make supplied with some RISC OS GCC 3 is old and has a
+ bug that prevents NetSurf from building. Either ensure that NSTools
+ is seen before GCC, or replace the make inside "!GCC.bin" with the
+ make from "!NSTools.bin".
+
+ Note: The pre-built libraries currently supplied in NSTools are AOF format,
+ and will not work with GCC4, which requires them to be in ELF format.
+ If you want to build NetSurf with GCC4, you will need to build the
+ libraries yourself. See "Obtaining NetSurf's dependencies" below for
+ details.
+
+ You can examine the contents of Makefile.defaults and enable and disable
+ features as you see fit by creating a Makefile.config file. The default
+ settings will work fine.
+
+ You should then obtain NetSurf's dependencies, keeping in mind which options
+ you have enabled in the configuration file. See the next section for
+ specifics.
+
+ Once done, to build RISC OS NetSurf on a RISC OS system, set the CSD to the
+ directory containing the NetSurf sources, set the next slot to at least
+ 6000K, and in a TaskWindow, simply run:
+
+ *make
+
+ If that produces errors, you probably don't have some of NetSurf's build
+ dependencies installed, or your libraries may be out of date.
+
+ See "Obtaining NetSurf's dependencies" below. Or turn off the complaining
+ features in a Makefile.config file. You may need to "make clean" before
+ attempting to build after installing the dependencies.
+
+ Once NetSurf is compiled, the !RunImage is put into the !NetSurf
+ application directory, so you can simply double click it as normal.
+
+ To confirm that you're running your own development NetSurf build, view the
+ Info window from the NetSurf iconbar menu. The Version string should read
+
+ #.0 (Development)
+
+ where # is the next major release version number.
+
+
+ Obtaining NetSurf's build dependencies
+========================================
+
+ NSTools contains all of the tools needed to build NetSurf, such as make,
+ uname and ccres. It also contains pre-built libraries.
+
+ Currently NSTools contains libraries which are in a format that are in a
+ format which is compatible with RISC OS GCC3 but not RISC OS GCC4. Until
+ NSTools is updated with GCC4 compatible libraries, it is recommended that
+ you use GCC3 for native builds.
+
+ The NSTools on the web site is not auto-built, so it may not always have
+ the latest versions of the NetSurf project's own libraries. In this case
+ you will need to build the libraries yourself and update NSTools.
+
+ Fetching the sources
+----------------------
+
+ Use SVN to obtain the latest versions of each of the libraries. To do this,
+ set the CSD to a directory where you want to keep your copies of the library
+ sources, and run each of the following commands:
+
+ *svn co svn://svn.netsurf-browser.org/trunk/libparserutils
+ *svn co svn://svn.netsurf-browser.org/trunk/libwapcaplet
+ *svn co svn://svn.netsurf-browser.org/trunk/hubbub
+ *svn co svn://svn.netsurf-browser.org/trunk/libcss
+ *svn co svn://svn.netsurf-browser.org/trunk/libnsgif
+ *svn co svn://svn.netsurf-browser.org/trunk/libnsbmp
+
+ The above will create a directory for each of the libraries containing their
+ sources.
+
+ Updating NSTools' copies of the libraries
+------------------------------------------
+
+ Set the CSD to the directory of the library you want to build, set your next
+ slot to at least 6000K and in a TaskWindow, run
+
+ *make
+
+ At the end of the build there will be a warning about AR, which can be
+ ignored.
+
+ To update your NSTools, copy the latest headers from the include directory
+ for the library you built into "!NSTools.include" and copy the built library
+ from the build-riscos-riscos-release-lib-static.a directory to the
+ "NSTools.lib.a" directory.