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:33:08 +0200 |
commit | 2522889620446f1e56338367d1b6b028ea952bb4 (patch) | |
tree | 09a1d409bddbc8510c9a6f5d428cda295b778e66 /Configure | |
parent | Configuration: only produce a new configdata.pm if it has changed contents (diff) | |
download | openssl-2522889620446f1e56338367d1b6b028ea952bb4.tar.xz openssl-2522889620446f1e56338367d1b6b028ea952bb4.zip |
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)
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -2854,8 +2854,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; |