diff options
author | Richard Levitte <levitte@openssl.org> | 2019-02-04 21:28:43 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-02-11 16:50:47 +0100 |
commit | fb82cbfe3da846d61e1d4c6d14bf7f4111cccbb2 (patch) | |
tree | 39703ec7a56e5e367d8bf8c7c428c95ed70e4b53 | |
parent | apps/ocsp.c Use the same HAVE_FORK / NO_FORK as in speed.c (diff) | |
download | openssl-fb82cbfe3da846d61e1d4c6d14bf7f4111cccbb2.tar.xz openssl-fb82cbfe3da846d61e1d4c6d14bf7f4111cccbb2.zip |
Rework build: add special cases for AIX
When reworking the way library file names and extensions were formed,
AIX was lost in the process. This restores the previous
functionality.
Fixes #8156
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8162)
-rw-r--r-- | Configurations/10-main.conf | 3 | ||||
-rw-r--r-- | Configurations/platform/AIX.pm | 27 |
2 files changed, 28 insertions, 2 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 859e3d9d85..1e49118486 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -1100,8 +1100,7 @@ my %targets = ( module_ldflags => "-Wl,-G,-bsymbolic,-bexpall", shared_ldflag => "-Wl,-G,-bsymbolic", shared_defflag => "-Wl,-bE:", - lib_extension => shared("_a.a"), - shared_extension_simple => shared(".a"), + perl_platform => 'AIX', }, "aix-gcc" => { inherit_from => [ "aix-common", asm("ppc32_asm") ], diff --git a/Configurations/platform/AIX.pm b/Configurations/platform/AIX.pm new file mode 100644 index 0000000000..f441c157de --- /dev/null +++ b/Configurations/platform/AIX.pm @@ -0,0 +1,27 @@ +package platform::AIX; + +use strict; +use warnings; +use Carp; + +use vars qw(@ISA); + +require platform::Unix; +@ISA = qw(platform::Unix); + +# Assume someone set @INC right before loading this module +use configdata; + +sub shlibextsimple { '.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. +sub staticname { + # Non-installed libraries are *always* static, and their names remain + # the same, except for the mandatory extension + my $in_libname = platform::BASE->staticname($_[1]); + return $in_libname if $unified_info{attributes}->{$_[1]}->{noinst}; + + return platform::BASE->staticname($_[1]) . '_a'; +} |