xref: /freebsd/crypto/openssl/Configurations/platform/AIX.pm (revision e0c4386e7e71d93b0edc0c8fa156263fc4a8b0b6)
1*e0c4386eSCy Schubertpackage platform::AIX;
2*e0c4386eSCy Schubert
3*e0c4386eSCy Schubertuse strict;
4*e0c4386eSCy Schubertuse warnings;
5*e0c4386eSCy Schubertuse Carp;
6*e0c4386eSCy Schubert
7*e0c4386eSCy Schubertuse vars qw(@ISA);
8*e0c4386eSCy Schubert
9*e0c4386eSCy Schubertrequire platform::Unix;
10*e0c4386eSCy Schubert@ISA = qw(platform::Unix);
11*e0c4386eSCy Schubert
12*e0c4386eSCy Schubert# Assume someone set @INC right before loading this module
13*e0c4386eSCy Schubertuse configdata;
14*e0c4386eSCy Schubert
15*e0c4386eSCy Schubertsub dsoext              { '.so' }
16*e0c4386eSCy Schubertsub shlibextsimple      { '.a' }
17*e0c4386eSCy Schubert
18*e0c4386eSCy Schubert# In shared mode, the default static library names clashes with the final
19*e0c4386eSCy Schubert# "simple" full shared library name, so we add '_a' to the basename of the
20*e0c4386eSCy Schubert# static libraries in that case.
21*e0c4386eSCy Schubertsub staticname {
22*e0c4386eSCy Schubert    # Non-installed libraries are *always* static, and their names remain
23*e0c4386eSCy Schubert    # the same, except for the mandatory extension
24*e0c4386eSCy Schubert    my $in_libname = platform::BASE->staticname($_[1]);
25*e0c4386eSCy Schubert    return $in_libname
26*e0c4386eSCy Schubert        if $unified_info{attributes}->{libraries}->{$_[1]}->{noinst};
27*e0c4386eSCy Schubert
28*e0c4386eSCy Schubert    return platform::BASE->staticname($_[1]) . ($disabled{shared} ? '' : '_a');
29*e0c4386eSCy Schubert}
30