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