Configuration: only include shared_sources in dirinfo in shared config
authorRichard Levitte <levitte@openssl.org>
Thu, 15 Nov 2018 23:28:00 +0000 (00:28 +0100)
committerMatt Caswell <matt@openssl.org>
Mon, 19 Nov 2018 17:26:03 +0000 (17:26 +0000)
Without this precaution, we end up having directory targets depend on
shlib object files for which there are no rules.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/7645)

Configure

index b3328928dfaf430eb1229b79b315af2b479f576b..d5dc36c285bab2755017f736f59a083d098f7cdb 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -2179,6 +2179,16 @@ EOF
 
     # Massage the result
 
+    # If the user configured no-shared, we allow no shared sources
+    if ($disabled{shared}) {
+        foreach (keys %{$unified_info{shared_sources}}) {
+            foreach (keys %{$unified_info{shared_sources}->{$_}}) {
+                delete $unified_info{sources}->{$_};
+            }
+        }
+        $unified_info{shared_sources} = {};
+    }
+
     # If we depend on a header file or a perl module, add an inclusion of
     # its directory to allow smoothe inclusion
     foreach my $dest (keys %{$unified_info{depends}}) {