Home | History | Annotate | Line # | Download | only in platform
      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 }
     48