Commit c45bf277 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5733)
parent 29f3cfdd
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -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) {
+16 −1
Original line number Diff line number Diff line
@@ -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