diff options
author | Richard Levitte <levitte@openssl.org> | 2018-03-23 01:02:08 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-03-23 01:02:08 +0100 |
commit | c45bf277a1522a2eef94904f1c8ae18237c49a01 (patch) | |
tree | 9c226bf23a5a65615dfeda68de4457385e9b44fc /crypto/include | |
parent | 29f3cfddabfe448e9f5417ea228a99bb5e991017 (diff) |
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)
Diffstat (limited to 'crypto/include')
-rw-r--r-- | crypto/include/internal/dso_conf.h.in | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/crypto/include/internal/dso_conf.h.in b/crypto/include/internal/dso_conf.h.in index daa5e247a3..ded87ca5cc 100644 --- a/crypto/include/internal/dso_conf.h.in +++ b/crypto/include/internal/dso_conf.h.in @@ -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 |