]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
exporters/cmake/OpenSSLConfig.cmake.in: Detect missing `platform->sharedlib_import`
authorRichard Levitte <levitte@openssl.org>
Tue, 21 Nov 2023 12:45:13 +0000 (13:45 +0100)
committerRichard Levitte <levitte@openssl.org>
Sat, 2 Dec 2023 13:15:25 +0000 (14:15 +0100)
Some platform implementations are without `sharedlib_import()`, so we need
to check that it exists before using it.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/22789)

exporters/cmake/OpenSSLConfig.cmake.in

index 606773ff2726e915ede8f8fae05924d438433bb4..2d2321931de1dad70a4f18720f4238736e67cba3 100644 (file)
                   ? 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}}