diff options
Diffstat (limited to 'Configurations/platform/AIX.pm')
-rw-r--r-- | Configurations/platform/AIX.pm | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/Configurations/platform/AIX.pm b/Configurations/platform/AIX.pm index c6c1437f962a..709242712de0 100644 --- a/Configurations/platform/AIX.pm +++ b/Configurations/platform/AIX.pm @@ -13,12 +13,16 @@ require platform::Unix; use configdata; sub dsoext { '.so' } -sub shlibextsimple { '.a' } +sub shlibextsimple { return '.so' if $target{shared_target} eq "aix-solib"; + '.a'} # In shared mode, the default static library names clashes with the final # "simple" full shared library name, so we add '_a' to the basename of the -# static libraries in that case. +# static libraries in that case, unless in solib mode (using only .so +# files for shared libraries, and not packaging them inside archives) sub staticname { + return platform::Unix->staticname($_[1]) if $target{shared_target} eq "aix-solib"; + # Non-installed libraries are *always* static, and their names remain # the same, except for the mandatory extension my $in_libname = platform::BASE->staticname($_[1]); @@ -27,3 +31,17 @@ sub staticname { return platform::BASE->staticname($_[1]) . ($disabled{shared} ? '' : '_a'); } + +# In solib mode, we do not install the simple symlink (we install the import +# library). In regular mode, we install the symlink. +sub sharedlib_simple { + return undef if $target{shared_target} eq "aix-solib"; + return platform::Unix->sharedlib_simple($_[1], $_[0]->shlibextsimple()); +} + +# In solib mode, we install the import library. In regular mode, we have +# no import library. +sub sharedlib_import { + return platform::Unix->sharedlib_simple($_[1]) if $target{shared_target} eq "aix-solib"; + return undef; +} |