From dd5fe94a61b4455630cbb2988da71949e88f8b6a Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 21 Nov 2023 13:45:13 +0100 Subject: exporters/cmake/OpenSSLConfig.cmake.in: Detect missing `platform->sharedlib_import` Some platform implementations are without `sharedlib_import()`, so we need to check that it exists before using it. Reviewed-by: Tomas Mraz Reviewed-by: Todd Short (Merged from https://github.com/openssl/openssl/pull/22789) --- exporters/cmake/OpenSSLConfig.cmake.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'exporters') diff --git a/exporters/cmake/OpenSSLConfig.cmake.in b/exporters/cmake/OpenSSLConfig.cmake.in index 606773ff27..2d2321931d 100644 --- a/exporters/cmake/OpenSSLConfig.cmake.in +++ b/exporters/cmake/OpenSSLConfig.cmake.in @@ -12,10 +12,12 @@ ? platform->sharedlib_simple($_) : undef) // platform->sharedlib($_); - my $lib_shared_import = platform->sharedlib_import($_); $x{static} = $lib_static if $lib_static; $x{shared} = $lib_shared if $lib_shared; - $x{shared_import} = $lib_shared_import if $lib_shared_import; + if (platform->can("sharedlib_import")) { + my $lib_shared_import = platform->sharedlib_import($_); + $x{shared_import} = $lib_shared_import if $lib_shared_import; + } %x ? ( $_ => \%x ) : () } grep { !$unified_info{attributes}->{libraries}->{$_}->{noinst} } @{$unified_info{libraries}} -- cgit v1.2.3