GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
libga68

libga68: Avoid recording build directory in generated sources.

Generated Algol 68 sources now only record their filename, not the full build path, improving reproducibility.

The sppp.awk script in libga68 previously included the full path to the source file in generated headers, leading to reproducibility issues and leaking build directory information. This change modifies the script to record only the filename, ensuring that generated sources do not contain absolute paths from the build environment.

In Details

The sppp.awk script, when generating headers for libga68, used awk's FILENAME variable, which included the source directory path. This made generated sources non-reproducible and leaked build environment details. The fix strips the directory prefix from FILENAME, so only the base filename appears in the generated comment, addressing reproducibility concerns and preventing build path leakage.

For Context
libga68
A library written in Algol 68, likely for a specific target or system that GCC supports.
sppp.awk
An awk script used within libga68 to process and generate source files, likely involving macro expansion or templating.
out-of-tree build
A build process where the build directory is separate from the source code directory. This is a common practice for out-of-tree modules or when maintaining clean source trees.
Reproducibility
The ability to obtain the exact same build output from the same source code and build environment, regardless of when or where the build is performed.
Filed Under: buildreproducibilityalgol68