1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-08 11:42:09 +03:00

oauth: Fix kqueue detection on OpenBSD

In b0635bfda, I added an early header check to the Meson OAuth support,
which was intended to duplicate the later checks for
HAVE_SYS_[EVENT|EPOLL]_H. However, I implemented the new test via
check_header() -- which tries to compile -- rather than has_header(),
which just looks for the file's existence.

The distinction matters on OpenBSD, where <sys/event.h> can't be
compiled without including prerequisite headers, so -Dlibcurl=enabled
failed on that platform. Switch to has_header() to fix this.

Note that reviewers expressed concern about the difference between our
Autoconf feature tests (which compile headers) and our Meson feature
tests (which do not). I'm not opposed to aligning the two, but I want to
avoid making bigger changes as part of this fix.

Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/flat/CAOYmi+kdR218ke2zu74oTJvzYJcqV1MN5=mGAPqZQuc79HMSVA@mail.gmail.com
Backpatch-through: 18
This commit is contained in:
Jacob Champion
2025-07-07 13:41:55 -07:00
parent 3adcf9fbd8
commit 7376e60854

View File

@ -948,10 +948,10 @@ if not libcurlopt.disabled()
# libcurl and one of either epoll or kqueue. # libcurl and one of either epoll or kqueue.
oauth_flow_supported = ( oauth_flow_supported = (
libcurl.found() libcurl.found()
and (cc.check_header('sys/event.h', required: false, and (cc.has_header('sys/event.h',
args: test_c_args, include_directories: postgres_inc) args: test_c_args, include_directories: postgres_inc)
or cc.check_header('sys/epoll.h', required: false, or cc.has_header('sys/epoll.h',
args: test_c_args, include_directories: postgres_inc)) args: test_c_args, include_directories: postgres_inc))
) )
if oauth_flow_supported if oauth_flow_supported