@@ -1189,23 +1189,29 @@ if sslopt in ['auto', 'openssl']
1189
1189
1190
1190
# via pkg-config et al
1191
1191
ssl = dependency (' openssl' , required : false )
1192
+ # only meson >= 0.57 supports declare_dependency() in cc.has_function(), so
1193
+ # we pass cc.find_library() results if necessary
1194
+ ssl_int = []
1192
1195
1193
1196
# via library + headers
1194
1197
if not ssl.found()
1195
1198
ssl_lib = cc.find_library (' ssl' ,
1196
1199
dirs : test_lib_d,
1197
1200
header_include_directories : postgres_inc,
1198
- has_headers : [' openssl/ssl.h' , ' openssl/err.h' ])
1201
+ has_headers : [' openssl/ssl.h' , ' openssl/err.h' ],
1202
+ required : openssl_required)
1199
1203
crypto_lib = cc.find_library (' crypto' ,
1200
1204
dirs : test_lib_d,
1201
- header_include_directories : postgres_inc )
1202
- ssl_int = [ ssl_lib, crypto_lib]
1203
-
1204
- ssl = declare_dependency (dependencies : ssl_int,
1205
- include_directories : postgres_inc)
1205
+ required : openssl_required )
1206
+ if ssl_lib.found() and crypto_lib.found()
1207
+ ssl_int = [ssl_lib, crypto_lib]
1208
+ ssl = declare_dependency (dependencies : ssl_int, include_directories : postgres_inc)
1209
+ endif
1206
1210
elif cc.has_header(' openssl/ssl.h' , args : test_c_args, dependencies : ssl, required : openssl_required) and \
1207
1211
cc.has_header(' openssl/err.h' , args : test_c_args, dependencies : ssl, required : openssl_required)
1208
1212
ssl_int = [ssl]
1213
+ else
1214
+ ssl = not_found_dep
1209
1215
endif
1210
1216
1211
1217
if ssl.found()
0 commit comments