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.
- 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.