From: Richard Levitte Date: Tue, 21 Nov 2023 12:45:13 +0000 (+0100) Subject: exporters/cmake/OpenSSLConfig.cmake.in: Detect missing `platform->sharedlib_import` X-Git-Tag: openssl-3.3.0-alpha1~540 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dd5fe94a61b4455630cbb2988da71949e88f8b6a;p=thirdparty%2Fopenssl.git 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) --- diff --git a/exporters/cmake/OpenSSLConfig.cmake.in b/exporters/cmake/OpenSSLConfig.cmake.in index 606773ff272..2d2321931de 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}}