summaryrefslogtreecommitdiffstats
path: root/config-cache-hook.tl
Commit message (Collapse)AuthorAgeFilesLines
* build: config cache: don't touch config when no change.Kaz Kylheku2025-04-281-9/+15
| | | | | | | | | | | * config-cache-hook.tl (try-save-curent-config, try-restore-new-config): These functions now take the cache key as the argument again. The caller has to obtain that. Diagnostics are not issued in these functions. (mainline): Convert git hashes to cache keys. If they are the same, indicate current config is valid. Also diagnose when a configuration has not been retrieved, recommending ./configure being run.
* build: config cache: use hash of config inputs as cache keysKaz Kylheku2025-04-281-3/+17
| | | | | | | | | | | * config-cache-hook.tl (hash-config-inputs): New function. Hashes the configure script and the configure-related portions at the end of the Makefile, starting with the conftest: targets. We use git cat-file to get the correct versions of these files at the specified git hash. (try-save-current-config, try-restore-new-config): Convert the incoming sha to a cache key. (toplevel): Add debugging hash command.
* build: config cache: preserve perms.Kaz Kylheku2025-04-281-2/+2
| | | | | | * config-cache-hook.tl (try-save-current-config, try-restore-current-config): Preserve permissions when copying files, so ./reconfigure remains executable.
* build: new utility for caching build configs.Kaz Kylheku2025-04-271-0/+34
* config-cache-hook.tl: New file. If this is is installed as a git post-checkout hook, it will save and restore the configuration materials, associated with commit hash, under a directory called .config-cache. A cache of configs covering a wide range of commits helps with git bisecting.