diff options
author | Richard Levitte <levitte@openssl.org> | 2016-04-12 15:28:06 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-04-13 11:36:46 +0200 |
commit | 62890f47288687e4f0b7b2c1ce2da7c93ef21063 (patch) | |
tree | c38441f5b22fb899843988b3f1709552e40c1d5e | |
parent | Fix no-tls1_1 and no-tls1_2 (diff) | |
download | openssl-62890f47288687e4f0b7b2c1ce2da7c93ef21063.tar.xz openssl-62890f47288687e4f0b7b2c1ce2da7c93ef21063.zip |
Fix zlib configuration options.
The macros ZLIB and ZLIB_SHARED weren't appropriately defined,
deviating wrongly from how they worked in earlier OpenSSL versions.
So, restore it so that ZLIB is defined if configured "enable-zlib" and
so that ZLIB and ZLIB_SHARED are defined if configured
"enable-zlib-dynamic".
Additionally, correct the interpretation of the --with-zlib-lib value
on Windows and VMS, where it's used to indicate the actual zlib
zlib library file / logical name, as that can differ depending on zlib
version and packaging on those platforms.
Finally for Windows and VMS, we also define the macro LIBZ with that
file name / logical name when configured "zlib-dynamic", so the
compression unit can pick it up and use it.
Reviewed-by: Matt Caswell <matt@openssl.org>
-rw-r--r-- | Configurations/00-base-templates.conf | 31 | ||||
-rw-r--r-- | Configurations/10-main.conf | 52 |
2 files changed, 55 insertions, 28 deletions
diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf index 5fe038cc02..0211a8c936 100644 --- a/Configurations/00-base-templates.conf +++ b/Configurations/00-base-templates.conf @@ -43,16 +43,12 @@ BASE_common => { template => 1, defines => - [ sub { - unless ($disabled{zlib}) { - if (defined($disabled{"zlib-dynamic"})) { - return "ZLIB"; - } else { - return "ZLIB_SHARED"; - } - } - return (); } - ], + sub { + my @defs = (); + push @defs, "ZLIB" unless $disabled{zlib}; + push @defs, "ZLIB_SHARED" unless $disabled{"zlib-dynamic"}; + return [ @defs ]; + }, }, BASE_unix => { @@ -84,7 +80,7 @@ sub { unless ($disabled{zlib}) { if (defined($disabled{"zlib-dynamic"})) { - return "zlib1.lib"; + return $withargs{zlib_lib} || "zlib1.lib"; } } return (); }, @@ -104,19 +100,6 @@ inherit_from => [ "BASE_common" ], template => 1, - ex_libs => - sub { - unless ($disabled{zlib}) { - if (defined($disabled{"zlib-dynamic"})) { - if (defined($withargs{zlib_lib})) { - return $withargs{zlib_lib}.'GNV$LIBZSHR.EXE/SHARED' - } else { - return 'GNV$LIBZSHR/SHARE'; - } - } - } - return (); }, - build_file => "descrip.mms", build_scheme => [ "unified", "VMS" ], }, diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 6b10d70c35..52953a7230 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -85,6 +85,18 @@ sub vms_info { if ($? == 0) { push @{$vms_info->{disable_warns_p64}}, "MAYLOSEDATA3"; } + + unless ($disabled{zlib}) { + if (defined($disabled{"zlib-dynamic"})) { + $vms_info->{zlib} = $withargs{zlib_lib} || 'GNV$LIBZSHR/SHARE'; + $vms_info->{zlib_p32} = $withargs{zlib_lib} || 'GNV$LIBZSHR32/SHARE'; + $vms_info->{zlib_p64} = $withargs{zlib_lib} || 'GNV$LIBZSHR64/SHARE'; + } else { + $vms_info->{def_zlib} = $withargs{zlib_lib} || 'GNV$LIBZSHR'; + $vms_info->{def_zlib_p32} = $withargs{zlib_lib} || 'GNV$LIBZSHR32'; + $vms_info->{def_zlib_p64} = $withargs{zlib_lib} || 'GNV$LIBZSHR64'; + } + } } return $vms_info; } @@ -1755,6 +1767,12 @@ sub vms_info { @{vms_info()->{disable_warns}}; @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); }), + defines => + add(sub { + return vms_info()->{def_zlib} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib} || (); }), #as => "???", #debug_aflags => "/NOOPTIMIZE/DEBUG", #release_aflags => "/OPTIMIZE/NODEBUG", @@ -1769,7 +1787,12 @@ sub vms_info { @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); } ), - ex_libs => sub { join(",", map { s|SHR([\./])|SHR32$1|g; $_ } @_) }, + defines => + add(sub { + return vms_info()->{def_zlib_p32} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib_p32}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib_p32} || (); }), }, "vms-alpha-p64" => { inherit_from => [ "vms-alpha" ], @@ -1780,7 +1803,12 @@ sub vms_info { @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); } ), - ex_libs => sub { join(",", map { s|SHR([\./])|SHR64$1|g; $_ } @_) }, + defines => + add(sub { + return vms_info()->{def_zlib_p64} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib_p64}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib_p64} || (); }), }, "vms-ia64" => { inherit_from => [ "vms-generic" ], @@ -1788,6 +1816,12 @@ sub vms_info { @{vms_info()->{disable_warns}}; @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); }), + defines => + add(sub { + return vms_info()->{def_zlib} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib} || (); }), #as => "I4S", #debug_aflags => "/NOOPTIMIZE/DEBUG", #release_aflags => "/OPTIMIZE/NODEBUG", @@ -1802,7 +1836,12 @@ sub vms_info { @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); } ), - ex_libs => sub { join(",", map { s|SHR([\./])|SHR32$1|g; $_ } @_) }, + defines => + add(sub { + return vms_info()->{def_zlib_p32} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib_p32}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib_p32} || (); }), }, "vms-ia64-p64" => { inherit_from => [ "vms-ia64" ], @@ -1813,7 +1852,12 @@ sub vms_info { @warnings ? "/WARNINGS=DISABLE=(".join(",",@warnings).")" : (); } ), - ex_libs => sub { join(",", map { s|SHR([\./])|SHR64$1|g; $_ } @_) }, + defines => + add(sub { + return vms_info()->{def_zlib_p64} + ? "LIBZ=\"\"\"".vms_info()->{def_zlib_p64}."\"\"\"" : (); + }), + ex_libs => add(sub { return vms_info()->{zlib_p64} || (); }), }, ); |