Add an explicit list of options that can be disabled, enabled, ...
Configure has, so far, had no control at all of which 'no-' options it can be given. This means that, for example, someone could configure with something absurd like 'no-stack' and then watch the build crumble to dust... or file a bug report. This introduces some sanity into the possible choices. The added list comes from looking for the explicit ones used in Configure, and from grepping after OPENSSL_NO_ in all source files. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
15db6a40d3
commit
8b527be2db
1 changed files with 89 additions and 0 deletions
89
Configure
89
Configure
|
@ -796,6 +796,86 @@ my $default_ranlib;
|
|||
my $perl;
|
||||
my $fips=0;
|
||||
|
||||
# Explicitelly known options that are possible to disable. They can
|
||||
# be regexps, and will be used like this: /^no-${option}$/
|
||||
# For developers: keep it sorted alphabetically
|
||||
|
||||
my @disablables = (
|
||||
"aes",
|
||||
"asm",
|
||||
"bf",
|
||||
"camellia",
|
||||
"capieng",
|
||||
"cast",
|
||||
"cmac",
|
||||
"cms",
|
||||
"comp",
|
||||
"ct",
|
||||
"deprecated",
|
||||
"des",
|
||||
"dgram",
|
||||
"dh",
|
||||
"dsa",
|
||||
"dso",
|
||||
"dtls1?",
|
||||
"dynamic[-_]engine",
|
||||
"ec",
|
||||
"ec2m",
|
||||
"ec_nistp_64_gcc_128",
|
||||
"engine",
|
||||
"err", # Really???
|
||||
"gmp",
|
||||
"gost",
|
||||
"heartbeats",
|
||||
"hmac",
|
||||
"hw(-.+)?",
|
||||
"idea",
|
||||
"jpake",
|
||||
"locking", # Really???
|
||||
"md2",
|
||||
"md4",
|
||||
"md5",
|
||||
"mdc2",
|
||||
"md[-_]ghost94",
|
||||
"nextprotoneg",
|
||||
"ocb",
|
||||
"ocsp",
|
||||
"posix-io",
|
||||
"psk",
|
||||
"rc2",
|
||||
"rc4",
|
||||
"rc5",
|
||||
"rdrand",
|
||||
"rfc3779",
|
||||
"rijndael", # Old AES name
|
||||
"rmd160",
|
||||
"rsa",
|
||||
"scrypt",
|
||||
"sct",
|
||||
"sctp",
|
||||
"seed",
|
||||
"sha",
|
||||
"shared",
|
||||
"sock",
|
||||
"srp",
|
||||
"srtp",
|
||||
"sse2",
|
||||
"ssl",
|
||||
"ssl3",
|
||||
"ssl3-method",
|
||||
"ssl-trace",
|
||||
"static-engine",
|
||||
"stdio",
|
||||
"store",
|
||||
"threads",
|
||||
"tls",
|
||||
"tls1",
|
||||
"unit-test",
|
||||
"whirlpool",
|
||||
"zlib",
|
||||
"zlib-dynamic",
|
||||
);
|
||||
|
||||
# All of the following is disabled by default (RC5 was enabled before 0.9.8):
|
||||
|
||||
my %disabled = ( # "what" => "comment" [or special keyword "experimental"]
|
||||
|
@ -878,6 +958,15 @@ PROCESS_ARGS:
|
|||
s /^zlib$/enable-zlib/;
|
||||
s /^zlib-dynamic$/enable-zlib-dynamic/;
|
||||
|
||||
if (/^(no|disable|enable|experimental)-(.+)$/)
|
||||
{
|
||||
my $word = $2;
|
||||
if (!grep { $word =~ /^${_}$/ } @disablables)
|
||||
{
|
||||
warn "Unsupported option ${word}, ignored...\n";
|
||||
next;
|
||||
}
|
||||
}
|
||||
if (/^no-(.+)$/ || /^disable-(.+)$/)
|
||||
{
|
||||
if (!($disabled{$1} eq "experimental"))
|
||||
|
|
Loading…
Reference in a new issue