[PATCH 5/8] meson: detect libcurl-gnutls
Daniel Golle <[email protected]> Fri, 10 Oct 2025 02:13:38 +0100
| Newsgroups | gmane.network.gnunet.devel |
|---|---|
| Message-ID | <[email protected]> |
--DU10zt6k7nvrZgS9
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Instead of only checking if cURL is built against gnuTLS, also test of
there is a dedicated libcurl-gnutls library and favor using it.
---
meson.build | 67 +++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 52 insertions(+), 15 deletions(-)
diff --git a/meson.build b/meson.build
index 7f7856b03..3ee4dd890 100644
--- a/meson.build
+++ b/meson.build
@@ -189,10 +189,17 @@ if not sqlite_dep.found()
error('Sqlite version >=3D 3.35.0 requried')
endif
endif
-curl_dep =3D dependency('libcurl', version: '>=3D7.85.0', required: false)
-if not curl_dep.found()
- curl_dep =3D cc.find_library('curl', required: true)
- curl_version_check =3D '''#include <curl/curl.h>
+
+curl_gnutls_dep =3D dependency(
+ 'libcurl-gnutls',
+ version: '>=3D7.85.0',
+ required: false,
+)
+if not curl_gnutls_dep.found()
+ curl_gnutls_dep =3D cc.find_library('curl-gnutls', required: false)
+endif
+
+curl_version_check =3D '''#include <curl/curl.h>
int main(int argc, char **argv) {
#if LIBCURL_VERSION_NUM < 0x075500
#error "cURL version >=3D 7.85.0 required"
@@ -200,12 +207,34 @@ if not curl_dep.found()
return 0;
}
'''
- if not cc.compiles(
- curl_version_check,
- name: 'cURL version check',
- dependencies: curl_dep,
- )
- error('cURL version >=3D7.85.0 required')
+
+# If libcurl-gnutls found, use it and we know it has gnutls support
+curl_is_gnutls =3D false
+if curl_gnutls_dep.found()
+ curl_dep =3D curl_gnutls_dep
+ curl_is_gnutls =3D true
+ # Check version for libcurl-gnutls if it was found via find_library
+ if curl_gnutls_dep.type_name() !=3D 'pkgconfig'
+ if not cc.compiles(
+ curl_version_check,
+ name: 'cURL-gnutls version check',
+ dependencies: curl_dep,
+ )
+ error('libcurl-gnutls version >=3D7.85.0 required')
+ endif
+ endif
+else
+ # Fall back to regular libcurl
+ curl_dep =3D dependency('libcurl', version: '>=3D7.85.0', required: fa=
lse)
+ if not curl_dep.found()
+ curl_dep =3D cc.find_library('curl', required: true)
+ if not cc.compiles(
+ curl_version_check,
+ name: 'cURL version check',
+ dependencies: curl_dep,
+ )
+ error('cURL version >=3D7.85.0 required')
+ endif
endif
endif
zlib_dep =3D dependency('zlib', required: false)
@@ -487,11 +516,19 @@ curl_ssl_check =3D '''#include <curl/curl.h>
}
'''
=20
-curl_gnutls_available =3D cc.compiles(
- curl_ssl_check,
- name: 'cURL gnutls check',
- dependencies: curl_dep,
-)
+# Check if we found libcurl-gnutls (has gnutls support by definition)
+curl_gnutls_available =3D false
+if curl_is_gnutls
+ curl_gnutls_available =3D true
+else
+ # Fall back to compile-time check for regular libcurl with gnutls supp=
ort
+ curl_gnutls_available =3D cc.compiles(
+ curl_ssl_check,
+ name: 'cURL gnutls check',
+ dependencies: curl_dep,
+ )
+endif
+
private_config.set('curl_gnutls', 0)
if curl_gnutls_available
private_config.set('curl_gnutls', 1)
--=20
2.51.0
--DU10zt6k7nvrZgS9
Content-Type: application/pgp-signature; name=signature.asc
-----BEGIN PGP SIGNATURE-----
iHUEABEIAB0WIQQ8WXOkSQLJP/KOu5qX7zeyq+FyywUCaOhdwgAKCRCX7zeyq+Fy
y2gdAP9oHrXB1v3atBvxWhcFxFk14deYKPxvfXJ+Gn+Ypwv8NgD5ATeWaOsX6VXZ
548hr8aCh88z+xk27P/GHOaBaX0rKIQ=
=Weiw
-----END PGP SIGNATURE-----
--DU10zt6k7nvrZgS9--