add support for the old naming libs convention on windows (ssleay32.lib and libeay32.lib) - Mailing list pgsql-hackers

From Darek Ślusarczyk
Subject add support for the old naming libs convention on windows (ssleay32.lib and libeay32.lib)
Date
Msg-id CAHrt6656W9OnFomQTHBGYDcM5CKZ7hcgzFt8L+N0ezBZfcN3zA@mail.gmail.com
Whole thread Raw
Responses Re: add support for the old naming libs convention on windows (ssleay32.lib and libeay32.lib)
List pgsql-hackers

Hi,

Summary of Changes:

According to the postgresql-17 requirements https://www.postgresql.org/docs/17/install-requirements.html
the minimum required version of openssl is 1.0.2.
In that version, the naming convention on windows is still ssleay32.[lib|dll] and
libeay32.[lib|dll] instead of libssl.[lib|dll] and libcrypto.[lib|dll].
It changed in version 1.1.0 https://github.com/openssl/openssl/issues/10332#issuecomment-549027653
Thus there is a bug in meson.build as it only supports libssl.lib and libcrypto.lib,
hence a simple patch that fixes the issue and supports both conventions.

I also submitted a pull request on GitHub, which can be found here: https://github.com/postgres/postgres/pull/188
There are two simple changes in the meson.build file.

Reason for Changes:

Add support for the old naming libs convention on windows (ssleay32.lib and libeay32.lib).

Testing:

The patch has been tested against postgres-17 and openssl v1.0.2 in our environment on various platforms (lnx, win, ...)

Patch:

diff --git a/meson.build b/meson.build
index 451c3f6d85..50fa6d865b 100644
--- a/meson.build
+++ b/meson.build
@@ -1337,12 +1337,12 @@ if sslopt in ['auto', 'openssl']

   # via library + headers
   if not ssl.found()
-    ssl_lib = cc.find_library('ssl',
+    ssl_lib = cc.find_library(['ssl', 'ssleay32'],
       dirs: test_lib_d,
       header_include_directories: postgres_inc,
       has_headers: ['openssl/ssl.h', 'openssl/err.h'],
       required: openssl_required)
-    crypto_lib = cc.find_library('crypto',
+    crypto_lib = cc.find_library(['crypto', 'libeay32'],
       dirs: test_lib_d,
       required: openssl_required)
     if ssl_lib.found() and crypto_lib.found()

kind regards,
ds
--
marines() {
    return Darek_Slusarczyk; 

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: code contributions for 2024, WIP version
Next
From: Peter Geoghegan
Date:
Subject: Re: Incorrect result of bitmap heap scan.