Fix assorted portability issues in commit 896fcdb23.

Some platforms require libssl to be linked explicitly in the new
SSL test module.  Borrow contrib/sslinfo's code for that.

Since src/test/modules/Makefile now has a variable SUBDIRS list,
it needs to follow the ALWAYS_SUBDIRS protocol for that (cf.
comments in Makefile.global.in).

Blindly try to fix MSVC build failures by adding PGDLLIMPORT.
This commit is contained in:
Tom Lane 2020-03-25 19:37:30 -04:00
parent 896fcdb230
commit 13c98bdfc4
4 changed files with 8 additions and 4 deletions

View File

@ -289,7 +289,7 @@ extern char *be_tls_get_certificate_hash(Port *port, size_t *len);
/* init hook for SSL, the default sets the password callback if appropriate */
typedef void(* openssl_tls_init_hook_typ)(SSL_CTX *context, bool isServerStart);
extern openssl_tls_init_hook_typ openssl_tls_init_hook;
extern PGDLLIMPORT openssl_tls_init_hook_typ openssl_tls_init_hook;
#endif /* USE_SSL */

View File

@ -83,8 +83,8 @@ extern char *ssl_key_file;
extern char *ssl_ca_file;
extern char *ssl_crl_file;
extern char *ssl_dh_params_file;
extern char *ssl_passphrase_command;
extern bool ssl_passphrase_command_supports_reload;
extern PGDLLIMPORT char *ssl_passphrase_command;
extern PGDLLIMPORT bool ssl_passphrase_command_supports_reload;
#ifdef USE_SSL
extern bool ssl_loaded_verify_locations;
#endif

View File

@ -27,7 +27,9 @@ SUBDIRS = \
ifeq ($(with_openssl),yes)
SUBDIRS += ssl_passphrase_callback
else
ALWAYS_SUBDIRS += ssl_passphrase_callback
endif
$(recurse)
$(recurse_always)

View File

@ -17,6 +17,8 @@ include $(top_builddir)/src/Makefile.global
include $(top_srcdir)/contrib/contrib-global.mk
endif
SHLIB_LINK += $(filter -lssl -lcrypto -lssleay32 -leay32, $(LIBS))
check: prove-check
prove-check: ssl_passphrase_func$(DLSUFFIX) | temp-install