First draft of RISC OS native build document.

svn path=/trunk/netsurf/; revision=9140
This commit is contained in:
Michael Drake 2009-08-10 11:04:47 +00:00
parent 8e58c63c99
commit a928ada60a

121
Docs/BUILDING-RISC_OS Normal file
View File

@ -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.