From: Richard Levitte Date: Tue, 12 Apr 2016 13:28:06 +0000 (+0200) Subject: Fix zlib configuration options. X-Git-Tag: OpenSSL_1_1_0-pre5~53 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=62890f47288687e4f0b7b2c1ce2da7c93ef21063;p=openssl 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 --- 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} || (); }), }, );