Make sure to run util/mktar.sh from the source directory
[openssl.git] / Configure
index 21811113c6a6424ebacabeacf807a2a25ec248e9..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}}) {
@@ -2203,8 +2213,8 @@ EOF
             next unless defined($unified_info{includes}->{$dest}->{$k});
             my @incs = reverse @{$unified_info{includes}->{$dest}->{$k}};
             foreach my $obj (grep /\.o$/,
-                             (keys %{$unified_info{sources}->{$dest}},
-                              keys %{$unified_info{shared_sources}->{$dest}})) {
+                             (keys %{$unified_info{sources}->{$dest} // {}},
+                              keys %{$unified_info{shared_sources}->{$dest} // {}})) {
                 foreach my $inc (@incs) {
                     unshift @{$unified_info{includes}->{$obj}->{$k}}, $inc
                         unless grep { $_ eq $inc } @{$unified_info{includes}->{$obj}->{$k}};
@@ -2257,7 +2267,7 @@ EOF
             my %dirs = ();
             my $pd = dirname($product);
 
-            foreach (@{$unified_info{sources}->{$product}},
+            foreach (@{$unified_info{sources}->{$product} // []},
                      @{$unified_info{shared_sources}->{$product} // []}) {
                 my $d = dirname($_);