summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-09-06 20:14:33 +0200
committerRichard Levitte <richard@levitte.org>2016-09-07 17:28:08 +0200
commit79e5eae6ab164efe4966685758b8f15c13698bb1 (patch)
treee6227adbe293e37b2da40cbecfc61ee06d8524d2
parentb7d2480c820531df2a5a300a7b24bbaa7755c288 (diff)
Configure: Reorganise the checking of disabled options
The way we figured out what options are crypto algorithms and what are something other was somewhat sketchy. This change bases the distinction on available sdirs instead. Reviewed-by: Rich Salz <rsalz@openssl.org> (cherry picked from commit 3e2dd30d665f3a312a45f945ffafb74ff6c420d6)
-rwxr-xr-xConfigure35
1 files changed, 18 insertions, 17 deletions
diff --git a/Configure b/Configure
index 0a1b68a93b..f77177f25c 100755
--- a/Configure
+++ b/Configure
@@ -846,33 +846,34 @@ foreach (sort (keys %disabled))
@{$config{dirs}} = grep !/^engines$/, @{$config{dirs}};
@{$config{sdirs}} = grep !/^engine$/, @{$config{sdirs}};
push @{$config{openssl_other_defines}}, "OPENSSL_NO_ENGINE";
+ print " OPENSSL_NO_ENGINE (skip engines)";
}
else
{
- my ($ALGO, $algo);
- ($ALGO = $algo = $_) =~ tr/[\-a-z]/[_A-Z]/;
+ my ($WHAT, $what);
- if (/^asm$/ || /^err$/ || /^hw$/ || /^hw-/ || /^async$/
- || /^autoalginit/ || /^autoerrinit/)
+ ($WHAT = $what = $_) =~ tr/[\-a-z]/[_A-Z]/;
+
+ # Fix up C macro end names
+ $WHAT = "RMD160" if $what eq "ripemd";
+
+ # fix-up crypto/directory name(s)
+ $what = "ripemd" if $what eq "rmd160";
+ $what = "whrlpool" if $what eq "whirlpool";
+
+ if (grep { $_ eq $what } @{$config{sdirs}})
{
- push @{$config{openssl_other_defines}}, "OPENSSL_NO_$ALGO";
- print " OPENSSL_NO_$ALGO";
+ push @{$config{openssl_algorithm_defines}}, "OPENSSL_NO_$WHAT";
+ @{$config{sdirs}} = grep { $_ ne $what} @{$config{sdirs}};
- if (/^err$/) { push @user_defines, "OPENSSL_NO_ERR"; }
+ print " OPENSSL_NO_$WHAT (skip dir)";
}
else
{
- ($ALGO,$algo) = ("RMD160","rmd160") if ($algo eq "ripemd");
+ push @{$config{openssl_other_defines}}, "OPENSSL_NO_$WHAT";
+ print " OPENSSL_NO_$WHAT";
- push @{$config{openssl_algorithm_defines}}, "OPENSSL_NO_$ALGO";
- print " OPENSSL_NO_$ALGO";
-
- # fix-up crypto/directory name(s)
- $algo="whrlpool" if $algo eq "whirlpool";
- $algo="ripemd" if $algo eq "rmd160";
- @{$config{sdirs}} = grep { $_ ne $algo} @{$config{sdirs}};
-
- print " (skip dir)";
+ if (/^err$/) { push @user_defines, "OPENSSL_NO_ERR"; }
}
}