hash but not add the system header files to the list of include files.
*time_macros*::
Ignore `__DATE__`, `__TIME__` and `__TIMESTAMP__` being present in the
- source code. It will also ignore `SOURCE_DATE_EPOCH`
- https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html[environment variable]
+ source code. The
+ https://reproducible-builds.org/docs/source-date-epoch/[`SOURCE_DATE_EPOCH`
+ environment variable] will also be ignored.
--
+
See the discussion under _<<_troubleshooting,Troubleshooting>>_ for more
hash.hash(Util::base_name(args[0]));
// Hash variables that may affect the compilation.
- struct
+ const struct
{
const char* name;
- uint32_t sloppiness;
+ uint32_t sloppiness; // 0 for "always hash"
} hash_env_vars[] = {
// From <https://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html>:
{"COMPILER_PATH", 0},
{"SOURCE_DATE_EPOCH", SLOPPY_TIME_MACROS},
};
for (const auto& env : hash_env_vars) {
- if (env.sloppiness && (ctx.config.sloppiness() & env.sloppiness)) {
+ if (env.sloppiness != 0 && (ctx.config.sloppiness() & env.sloppiness)) {
continue;
}
const char* value = getenv(env.name);