Fix building statically without any dso support

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9895)
This commit is contained in:
Bernd Edlinger 2019-09-13 10:45:29 +02:00
parent 1aa89a7a3a
commit 3b2f8c771a
3 changed files with 7 additions and 3 deletions

View File

@ -350,6 +350,7 @@ my @disablables = (
"dgram",
"dh",
"dsa",
"dso",
"dtls",
"dynamic-engine",
"ec",
@ -442,7 +443,6 @@ my %deprecated_disablables = (
"hw-padlock" => "padlockeng",
"ripemd" => "rmd160",
"ui" => "ui-console",
"dso" => undef,
"heartbeats" => undef,
);
@ -510,6 +510,7 @@ my @disable_cascades = (
# (note that even with shared libraries, both the app and dynamic engines
# must be linked with the same library)
"shared" => [ "dynamic-engine", "uplink" ],
"dso" => [ "dynamic-engine", "module" ],
# Other modules don't necessarily have to link with libcrypto, so shared
# libraries do not have to be a condition to produce those.
@ -1239,7 +1240,7 @@ foreach my $what (sort keys %disabled) {
$skipdir{engines} = $what if $what eq 'engine';
$skipdir{"crypto/$skipdir"} = $what
unless $what eq 'async' || $what eq 'err';
unless $what eq 'async' || $what eq 'err' || $what eq 'dso';
}
}

View File

@ -364,6 +364,9 @@
Don't build support for datagram based BIOs. Selecting this
option will also force the disabling of DTLS.
no-dso
Don't build support for loading Dynamic Shared Objects.
enable-devcryptoeng
Build the /dev/crypto engine. It is automatically selected
on BSD implementations, in which case it can be disabled with

View File

@ -16,7 +16,7 @@
# has support compiled in for them. Currently each method is enabled
# by a define "DSO_<name>" ... we translate the "dso_scheme" config
# string entry into using the following logic;
my $scheme = uc $target{dso_scheme};
my $scheme = $disabled{dso} ? undef : uc $target{dso_scheme};
if (!$scheme) {
$scheme = "NONE";
}