9.9.24

Roguelikes are more fun with source.

Preamble on Deterministic Build Results

The C language specification allows compilers to grab information from the runtime environment and jam it into the executable. On one hand, it's nice to have locale and time information in a build. On the other hand, it obscures the super power of digital devices to produce consistent results across the globe. We provide explicit values below to achieve stable results.

Example Build Environment

Shell Variables

Use a shell variable for the absolute path of SDL2 ($SDLPATH)

Use a shell variable for the absolute path of cosmocc ($COSMOCC)

Capture values for hash and version. Store them in a shell variables:

Setup

Building from the game repository root

Binary Versioning

Compare hashes with Steam