Building Paint from this source
===============================

This folder is the next/ directory of the RISC OS 64 tree (commit 4a6ed18389900df0b8eee5bafc77f27f71cf405c),
cut down to the files the Paint 32-bit build reads: the application, the
libraries under it (Sources/Lib/CLib, Sources/Lib/Desktop), the headers, the
Makefile and its fragments, and the tools make runs. 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-paint

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 Paint

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

make prints some "No such file" lines (sed, grep, find) about other
applications and components that are not in this folder; they are harmless.
Other targets (the ROM, the AArch64 kernel) will not work here: their source is
not included.

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.
