mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
b83c0a900f
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)
30 lines
833 B
Perl
30 lines
833 B
Perl
package platform::AIX;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Carp;
|
|
|
|
use vars qw(@ISA);
|
|
|
|
require platform::Unix;
|
|
@ISA = qw(platform::Unix);
|
|
|
|
# Assume someone set @INC right before loading this module
|
|
use configdata;
|
|
|
|
sub dsoext { '.so' }
|
|
sub shlibextsimple { '.a' }
|
|
|
|
# In shared mode, the default static library names clashes with the final
|
|
# "simple" full shared library name, so we add '_a' to the basename of the
|
|
# static libraries in that case.
|
|
sub staticname {
|
|
# Non-installed libraries are *always* static, and their names remain
|
|
# the same, except for the mandatory extension
|
|
my $in_libname = platform::BASE->staticname($_[1]);
|
|
return $in_libname
|
|
if $unified_info{attributes}->{libraries}->{$_[1]}->{noinst};
|
|
|
|
return platform::BASE->staticname($_[1]) . ($disabled{shared} ? '' : '_a');
|
|
}
|