Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
meson: Fix failure to detect bsd_auth.h presence
authorAndres Freund <andres@anarazel.de>
Wed, 12 Feb 2025 13:15:53 +0000 (08:15 -0500)
committerAndres Freund <andres@anarazel.de>
Wed, 12 Feb 2025 13:15:53 +0000 (08:15 -0500)
bsd_auth.h file needs to be included after 'sys/types.h', as documented in
https://man.openbsd.org/authenticate.3

The reason a similar looking stanza works for autoconf is that autoconf
automatically adds AC_INCLUDES_DEFAULT, which in turn includes sys/types.h.

Backpatch to all versions with meson support.

Author: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/637haqqyhg2wlz7q6wq25m2qupe67g7f2uupngzui64zypy4x2@ysr2xnmynmu4
Backpatch-through: 16

meson.build

index 55aa329bcaa3ac272bfc49887ba64fa12e5591ca..1696d68fde6b91bd56198293533105c3f82ad8f3 100644 (file)
@@ -547,7 +547,8 @@ test_c_args = cppflags + cflags
 bsd_authopt = get_option('bsd_auth')
 bsd_auth = not_found_dep
 if cc.check_header('bsd_auth.h', required: bsd_authopt,
-    args: test_c_args, include_directories: postgres_inc)
+    args: test_c_args, prefix: '#include <sys/types.h>',
+    include_directories: postgres_inc)
   cdata.set('USE_BSD_AUTH', 1)
   bsd_auth = declare_dependency()
 endif