Skip to content
View steve-fryatt's full-sized avatar
Block or Report

Block or report steve-fryatt

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
steve-fryatt/README.md

Building the RISC OS Software

A number of the repositories here contain software for RISC OS, which can be built under the GCCSDK. This document gives an overview of the environment required to use the source code.

Set up the environment

To build the software found here, it will be necessary to have suitable Linux system with a working installation of the GCCSDK. It will also be necessary to install a number of additional tools.

Start by installing the GCCSDK, following the usual process in its documentation. It is assumed that the GCCSDK_INSTALL_CROSSBIN and GCCSDK_INSTALL_ENV environment variables point to sensible locations within the installation, perhaps set up in a similar way to this (the home folder name should be amended to suit your own system):

export GCCSDK_INSTALL_CROSSBIN=/home/steve/gccsdk/cross/bin
export GCCSDK_INSTALL_ENV=/home/steve/gccsdk/env

In addition, three folders will be required for the "SFTools" build environment. These can be anywhere convenient, but it is likely that they will be located somewhere within the same home directory. Again, an example would be:

export SFTOOLS_BIN=/home/steve/sftools/bin
export SFTOOLS_BASIC=/home/steve/sftools/basic
export SFTOOLS_MAKE=/home/steve/sftools/make

Build OSLib

It will be necessary to build OSLib using the GCCSDK Autobuilder:

cd ~/gccsdk/build
../autobuilder/build -v oslib

In addition, it will be necessary to separately build a "hard float" version of OSLib, which can't be done through the Autobuilder. Moving to a suitable working directory for checking out and developing code, use Subversion to check out the OSLib source and then build it.

svn co https://svn.code.sf.net/p/ro-oslib/code/trunk/\!OSLib OSLib
cd OSLib
make ELFOBJECTTYPE=HARDFPU

The resulting library file can be copied into the GCCSDK environment by hand -- note the additional 'H' in the target filename, to identify the "hard float" version of the code:

cp Build/libOSLib32.a $GCCSDK_INSTALL_ENV/libOSLibH32.a

At this point, the BindHelp utility used by OSLib to make a StrongHelp manual can be copied into the SFTools bin folder for use by the manual generation tools:

mkdir -p $SFTOOLS_BIN
cp Bin/bindhelp $SFTOOLS_BIN

Build the SFTools

It is now a case of cloning a number of build tools. Returning to your development folder, clone the following two repositories:

  • makefiles.git
  • mantools.git

In the order given here, descend into each cloned repository and make install to install the tools within the approproate SFTools folders:

cd makefiles
make install
cd ../mantools
make install

Since ManTools is required to fully build the Makefiles, you should now return to the makefiles folder and repeat the process.

cd ../makefiles
make install
cd ../mantools
make install

With these in place, clone the remaining tools, in each case entering the folder and running make install to build and install the component. Again, these depend on each other, so it's essential that they are made in the order shown in the list.

  • packtools.git
  • tokenize.git
  • menugen.git
  • wimplib.git
  • swiheader.git
  • flexlib.git
  • sflib.git

If all of these stages complete successfully, you should now have a working build environment for the other source code.

Popular repositories

  1. tokenize tokenize Public

    Cross-platform tokeniser for ARM BBC BASIC.

    C 7

  2. wimp-tutorial wimp-tutorial Public

    A tutorial guide to programming the RISC OS Wimp in C.

    Makefile 4 1

  3. wimplib wimplib Public

    RISC OS and Wimp library routines in BASIC.

    Makefile 2

  4. sflib sflib Public

    RISC OS and Wimp library routines in C, based on OSLib.

    C 2

  5. flexlib flexlib Public

    Build Acorn's FlexLib in a form suitable for use within the GCCSDK.

    C 2

  6. printpdf printpdf Public

    Easy PDF creation with GhostScript.

    C 2 1