Have the configuration options 'no-err' and 'no-async' work again
authorRichard Levitte <levitte@openssl.org>
Sat, 17 Sep 2016 19:57:29 +0000 (21:57 +0200)
committerRichard Levitte <levitte@openssl.org>
Sat, 17 Sep 2016 19:57:29 +0000 (21:57 +0200)
In an earlier attempt to simplify the processing of disabled options,
'no-err' and 'no-async' stopped working properly.  'err' and 'async'
are directories under 'crypto/', but they are special insofar that
they can't be simply skipped, like all the algorithm directories can,
so they need special treatment among the disablable things.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Configure

index d78ab7aac7fdabd9d3b99fbe70b79d1d6c051674..0cfc3ea36d5cfeb410e0aaf0be0eb6b8936face6 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -886,7 +886,8 @@ foreach (sort (keys %disabled))
                $what = "ripemd" if $what eq "rmd160";
                $what = "whrlpool" if $what eq "whirlpool";
 
-               if (grep { $_ eq $what } @{$config{sdirs}})
+               if ($what ne "async" && $what ne "err"
+                   && grep { $_ eq $what } @{$config{sdirs}})
                        {
                        push @{$config{openssl_algorithm_defines}}, "OPENSSL_NO_$WHAT";
                        @{$config{sdirs}} = grep { $_ ne $what} @{$config{sdirs}};