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:54 +0000 (08:15 -0500)
committerAndres Freund <andres@anarazel.de>
Wed, 12 Feb 2025 13:15:54 +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 ae2bb95b9cc2622831a42b799e394ccf728af899..16de8bfd598c362340ad501a198d535179e76aee 100644 (file)
@@ -553,7 +553,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