Building Draw from this source
==============================

This folder is cut down from the next/ directory of the RISC OS 64 tree
(commit 669bfe62a431898035773203cc86ac5353aa52ab) to what the Draw 32-bit build needs and nothing more: the
application (Sources/Apps/...), the libraries under it (Sources/Lib/CLib,
Sources/Lib/Desktop) and the headers the compiler read, the tools make runs,
and a small Makefile with its mk/ fragments written for this one application.
There is no 64-bit source and no makefile for any other application here. File names are the host
names (foo.c; a file with a RISC OS type keeps ",xxx" on its name, as the
Makefile expects, and also has the type in its ARC0 field): it is for a Linux or
macOS build host, not for unpacking onto a RISC OS disc.

Toolchain
  LLVM 22 (clang, ld.lld, llvm-objcopy, llvm-ar) at /usr/lib/llvm-22/bin.
  clang 19 fails this build. GNU make and Python 3.11 or later (tomllib).
  Nothing else: no Norcroft, no GCC, no network.

Build (from this folder)
  export PATH=/usr/lib/llvm-22/bin:$PATH
  make -j2 CROSS_TARGET=arm-none-eabi BUILD=build/arm32 app32-drawapp

That builds the ARM32 module(s) under build/arm32/modules/; the module file in
the application folder is the application's !RunImage. To stage and zip it as
the shipped zip was made:

  OUTDIR=$PWD/out BUILD=build/arm32 JOBS=2 tools/app32/build.sh Draw

The module build is reproducible: the same source and toolchain give the same
bytes whatever the build directory is called.

This folder builds only Draw: the ROM, the 64-bit modules and the other
applications are not part of it.

Licences: LICENSE (MIT, this tree's own code), LICENSE-Apache-2.0 (the
Apache-2.0 code from RISC OS Open and its predecessors), NOTICE.
