提交 5a5c0b95 编写于 作者: R Richard Levitte

Remake the way dynamic zlib is loaded

Instead of absolute hard coding of the libz library name, have it use
the macro LIBZ, which is set to defaults we know in case it's
undefined.

This allows our configuration to set something that's sane on current
or older platforms, and allows the user to override it by defining
LIBZ themselves.
Reviewed-by: NMatt Caswell <matt@openssl.org>
上级 0c9b1534
...@@ -1249,6 +1249,14 @@ sub vms_info { ...@@ -1249,6 +1249,14 @@ sub vms_info {
template => 1, template => 1,
cc => "cl", cc => "cl",
cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE", cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE",
defines => add(sub { my @defs = ();
unless ($disabled{"zlib-dynamic"}) {
push @defs,
quotify("perl",
'LIBZ="' . $withargs{zlib_lib} . '"');
}
return [ @defs ];
}),
coutflag => "/Fo", coutflag => "/Fo",
rc => "rc", rc => "rc",
rcoutflag => "/fo", rcoutflag => "/fo",
......
...@@ -256,12 +256,19 @@ COMP_METHOD *COMP_zlib(void) ...@@ -256,12 +256,19 @@ COMP_METHOD *COMP_zlib(void)
COMP_METHOD *meth = &zlib_method_nozlib; COMP_METHOD *meth = &zlib_method_nozlib;
#ifdef ZLIB_SHARED #ifdef ZLIB_SHARED
if (!zlib_loaded) { /* LIBZ may be externally defined, and we should respect that value */
# if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) # ifndef LIBZ
zlib_dso = DSO_load(NULL, "ZLIB1", NULL, 0); # if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32)
# else # define LIBZ "ZLIB1"
zlib_dso = DSO_load(NULL, "z", NULL, 0); # elif defined(OPENSSL_SYS_VMS)
# define LIBZ "LIBZ"
# else
# define LIBZ "z"
# endif
# endif # endif
if (!zlib_loaded) {
zlib_dso = DSO_load(NULL, LIBZ, NULL, 0);
if (zlib_dso != NULL) { if (zlib_dso != NULL) {
p_compress = (compress_ft) DSO_bind_func(zlib_dso, "compress"); p_compress = (compress_ft) DSO_bind_func(zlib_dso, "compress");
p_inflateEnd p_inflateEnd
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册