Configure: check all DEPEND values against GENERATE, not just .h files
authorRichard Levitte <levitte@openssl.org>
Thu, 18 Mar 2021 04:07:11 +0000 (05:07 +0100)
committerRichard Levitte <levitte@openssl.org>
Fri, 19 Mar 2021 15:44:46 +0000 (16:44 +0100)
All files that are given to DEPEND statements in build.info files are
being checked against GENERATE statements, to see if it's reasonable
to look for them in the source tree or not.  This was only done for .h
files, for reasons that are lost in history.  We now change that check
to look at all files instead.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14598)

Configure

index 5f2be9cf3c9e55391fd283fbd9e1197938cbf469..10a988e6a3e1c926cddd79f23b38c0154fd7ee3b 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -2349,16 +2349,16 @@ EOF
             }
             foreach (@{$depends{$dest}}) {
                 my $d = cleanfile($sourced, $_, $blddir);
+                my $d2 = cleanfile($buildd, $_, $blddir);
 
                 # If we know it's generated, or assume it is because we can't
                 # find it in the source tree, we set file we depend on to be
                 # in the build tree rather than the source tree.
                 if ($d eq $src_configdata
-                    || (grep { $d eq $_ }
-                        map { cleanfile($srcdir, $_, $blddir) }
-                        grep { /\.h$/ } keys %{$unified_info{generate}})
+                    || (grep { $d2 eq $_ }
+                        keys %{$unified_info{generate}})
                     || ! -f $d) {
-                    $d = cleanfile($buildd, $_, $blddir);
+                    $d = $d2;
                 }
                 $unified_info{depends}->{$ddest}->{$d} = 1;