diff options
author | Richard Levitte <levitte@openssl.org> | 2021-08-23 08:54:37 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2022-05-22 17:44:57 +0200 |
commit | 5cbd580be9012edb39a60dc303f9ea55c7e4d7bd (patch) | |
tree | 083a4ea70b0f6c3c0572ac6ba9c1397284e3bac2 /Configure | |
parent | 7d78017bd88758cc4cc1337da282f5439c17719a (diff) |
Configuration: produce include/openssl/configuration.h when configuring
The goal is to avoid having too much of the OpenSSL source rebuilt
because include/openssl/configuration.h, or even because it was a
Makefile target that was called upon (some make implementations
consider the use of a target as an update of that target, even if it
wasn't really updated).
To resolve this, we move the production of include/openssl/configuration.h
to configdata.pm, and only update it if there were any actual changes.
Fixes #16377
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/16378)
(cherry picked from commit 2522889620446f1e56338367d1b6b028ea952bb4)
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -2864,8 +2864,11 @@ if (-f $configdata_outname) { # like nothing happened unlink "$configdata_outname.new"; - # We still run configdata.pm if the build file (Makefile) is missing - $run_configdata = !( -f $target{build_file} ); + # We still run configdata.pm if one of the build file (Makefile) or + # the configuration header file are missing + $run_configdata = + !( -f $target{build_file} ) + || !( -f catfile('include', 'openssl', 'configuration.h') ); } } else { $update_configdata = 1; |