Files
Asuro/doc/toolchain/compile_checksum.md
T
t3hn3rd 466173613f
continuous-integration/drone/push Build is failing
docs: fill out compat, lvglh, and toolchain documentation
Replace placeholder content in doc/compat/, doc/lvglh/, and
doc/toolchain/ with comprehensive documentation derived from the
source files.

- compat: document Wasuro WASM VM compatibility shims
- lvglh: document LVGL v9.2.2 configuration, fonts, and patches
- toolchain: document all 13 build pipeline scripts
2026-03-08 21:19:21 +00:00

1.4 KiB

compile_checksum.sh

Generates MD5 checksums for all Pascal source files.

Overview

compile_checksum.sh iterates over every .pas file under src/ and appends its MD5 hash to checksums.md5. This file serves as a source-level fingerprint used by compile_vergen.sh to produce a build integrity checksum.

Prerequisites

  • md5sum and find must be available.
  • The src/ directory must exist and contain .pas files.

Inputs

All *.pas files found recursively under src/, up to 10 levels deep.

Outputs

File Description
checksums.md5 A file containing one md5sum-format line per Pascal source file.

Behavior

  1. Truncates (or creates) checksums.md5 with an empty write (echo >).
  2. Finds all directories under src/ (up to 10 levels deep).
  3. For each directory, iterates over *.pas files and computes their MD5 checksum.
  4. Skips files matching any of the following conditions:
    • Path contains .svn (Subversion metadata).
    • The glob matched no files (literal *.pas string).
    • Path contains include/asuro.pas.
  5. Appends each valid checksum line to checksums.md5.

Notes

  • The resulting checksums.md5 is consumed by compile_vergen.sh, which hashes the checksum file itself to produce a single build fingerprint constant embedded in the kernel.
  • The .svn exclusion is a legacy filter from when the project used Subversion for version control.