xref: /openssl/Configurations/platform/AIX.pm (revision b332dbb3)
1package platform::AIX;
2
3use strict;
4use warnings;
5use Carp;
6
7use vars qw(@ISA);
8
9require platform::Unix;
10@ISA = qw(platform::Unix);
11
12# Assume someone set @INC right before loading this module
13use configdata;
14
15sub dsoext              { '.so' }
16sub shlibextsimple      { return '.so' if $target{shared_target} eq "aix-solib";
17			  '.a'}
18
19# In shared mode, the default static library names clashes with the final
20# "simple" full shared library name, so we add '_a' to the basename of the
21# static libraries in that case, unless in solib mode (using only .so
22# files for shared libraries, and not packaging them inside archives)
23sub staticname {
24    return platform::Unix->staticname($_[1]) if $target{shared_target} eq "aix-solib";
25
26    # Non-installed libraries are *always* static, and their names remain
27    # the same, except for the mandatory extension
28    my $in_libname = platform::BASE->staticname($_[1]);
29    return $in_libname
30        if $unified_info{attributes}->{libraries}->{$_[1]}->{noinst};
31
32    return platform::BASE->staticname($_[1]) . ($disabled{shared} ? '' : '_a');
33}
34
35# In solib mode, we do not install the simple symlink (we install the import
36# library).  In regular mode, we install the symlink.
37sub sharedlib_simple {
38    return undef if $target{shared_target} eq "aix-solib";
39    return platform::Unix->sharedlib_simple($_[1], $_[0]->shlibextsimple());
40}
41
42# In solib mode, we install the import library.  In regular mode, we have
43# no import library.
44sub sharedlib_import {
45    return platform::Unix->sharedlib_simple($_[1]) if $target{shared_target} eq "aix-solib";
46    return undef;
47}
48