1 | package platform::AIX;
|
---|
2 |
|
---|
3 | use strict;
|
---|
4 | use warnings;
|
---|
5 | use Carp;
|
---|
6 |
|
---|
7 | use vars qw(@ISA);
|
---|
8 |
|
---|
9 | require platform::Unix;
|
---|
10 | @ISA = qw(platform::Unix);
|
---|
11 |
|
---|
12 | # Assume someone set @INC right before loading this module
|
---|
13 | use configdata;
|
---|
14 |
|
---|
15 | sub dsoext { '.so' }
|
---|
16 | sub 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)
|
---|
23 | sub 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.
|
---|
37 | sub 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.
|
---|
44 | sub sharedlib_import {
|
---|
45 | return platform::Unix->sharedlib_simple($_[1]) if $target{shared_target} eq "aix-solib";
|
---|
46 | return undef;
|
---|
47 | }
|
---|