Skip to content

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:
  5. Path contains .svn (Subversion metadata).
  6. The glob matched no files (literal *.pas string).
  7. Path contains include/asuro.pas.
  8. 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.