Fix AIX build when no-shared is passed to Configure.
authorTodd C. Miller <Todd.Miller@sudo.ws>
Thu, 31 Mar 2022 16:32:29 +0000 (10:32 -0600)
committerTomas Mraz <tomas@openssl.org>
Tue, 5 Apr 2022 07:45:03 +0000 (09:45 +0200)
AIX shared libs are also .a files so the AIX platform staticname()
appends a '_a' to the name to avoid a collision.  However, this
must not be done when no-shared is passed to Configure or the
binaries that link with -lcrypto and -lssl be unable to link as
those libraries won't exist without the '_a' suffix.

CLA: trivial

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18006)

(cherry picked from commit b83c0a900f9303e0c9fd084829b791386d7c57ce)

Configurations/platform/AIX.pm

index e2409057cdf09a130ce9cd11c19aa02d3117473c..c6c1437f962a6459732d28125a0ffc0b32be33b6 100644 (file)
@@ -25,5 +25,5 @@ sub staticname {
     return $in_libname
         if $unified_info{attributes}->{libraries}->{$_[1]}->{noinst};
 
-    return platform::BASE->staticname($_[1]) . '_a';
+    return platform::BASE->staticname($_[1]) . ($disabled{shared} ? '' : '_a');
 }