summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-04-12 15:28:06 +0200
committerRichard Levitte <levitte@openssl.org>2016-04-13 11:36:46 +0200
commit62890f47288687e4f0b7b2c1ce2da7c93ef21063 (patch)
treec38441f5b22fb899843988b3f1709552e40c1d5e
parentFix no-tls1_1 and no-tls1_2 (diff)
downloadopenssl-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.conf31
-rw-r--r--Configurations/10-main.conf52
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} || (); }),
},
);