Raise an error on syscall failure in tls_retry_write_records
[openssl.git] / Configurations / platform / AIX.pm
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 }