Move the handling of dso_scheme to dso_conf.h
The macros resulting from the dso_scheme attribute were defined for libraries only, but there's a test program that uses the macros as well. The easier way is to move the handling of this macro to crypto/include/internal/dso_conf.h and having the modules that need it include it. Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5733)
This commit is contained in:
parent
29f3cfddab
commit
c45bf277a1
2 changed files with 16 additions and 24 deletions
23
Configure
23
Configure
|
@ -1232,29 +1232,6 @@ if ($target =~ /linux.*-mips/ && !$disabled{asm}
|
|||
unshift @{$config{cxxflags}}, $value if $config{CXX};
|
||||
}
|
||||
|
||||
# The DSO code currently always implements all functions so that no
|
||||
# applications will have to worry about that from a compilation point
|
||||
# of view. However, the "method"s may return zero unless that platform
|
||||
# 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;
|
||||
if (!$disabled{dso} && $target{dso_scheme} ne "")
|
||||
{
|
||||
$target{dso_scheme} =~ tr/[a-z]/[A-Z]/;
|
||||
if ($target{dso_scheme} eq "DLFCN")
|
||||
{
|
||||
unshift @{$config{lib_defines}}, "DSO_DLFCN", "HAVE_DLFCN_H";
|
||||
}
|
||||
elsif ($target{dso_scheme} eq "DLFCN_NO_H")
|
||||
{
|
||||
unshift @{$config{lib_defines}}, "DSO_DLFCN";
|
||||
}
|
||||
else
|
||||
{
|
||||
unshift @{$config{lib_defines}}, "DSO_$target{dso_scheme}";
|
||||
}
|
||||
}
|
||||
|
||||
# If threads aren't disabled, check how possible they are
|
||||
unless ($disabled{threads}) {
|
||||
if ($auto_threads) {
|
||||
|
|
|
@ -10,6 +10,21 @@
|
|||
|
||||
#ifndef HEADER_DSO_CONF_H
|
||||
# define HEADER_DSO_CONF_H
|
||||
|
||||
{- output_off() if $disabled{dso} -}
|
||||
{- # The DSO code currently always implements all functions so that no
|
||||
# applications will have to worry about that from a compilation point
|
||||
# of view. However, the "method"s may return zero unless that platform
|
||||
# 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 @macros = ( "DSO_$scheme" );
|
||||
if ($scheme eq 'DLFCN') {
|
||||
@macros = ( "DSO_DLFCN", "HAVE_DLFCN_H" );
|
||||
} elsif ($scheme eq "DLFCN_NO_H") {
|
||||
@macros = ( "DSO_DLFCN" );
|
||||
}
|
||||
join("\n", map { "# define $_" } @macros); -}
|
||||
# define DSO_EXTENSION "{- $target{dso_extension} -}"
|
||||
{- output_on() if $disabled{dso} -}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue