On 24.06.25 01:36, Jacob Champion wrote:
I noticed that the OpenBSD build in CI wasn't running the libcurl
tests. Turns out the feature test I added in b0635bfda is subtly
broken, because it uses cc.check_header() rather than cc.has_header().
On OpenBSD, apparently, the <sys/event.h> header can't be compiled
without including additional prerequisite headers.

The attached patch fixes that by just switching to has_header(). (I
could add the prerequisites to the test instead, but I'd prefer to
exactly match the logic we use to determine the value of the
HAVE_SYS_EVENT_H macro. I don't think I had a good reason not to in
the first place.)

Note that Autoconf uses a compilation test, not a preprocessor test, for its AC_CHECK_HEADERS, so it uses .check_header() semantics. And this was the result of a long transition, because the compile test was ultimately deemed to be better. So in general, I would be wary about moving away from .check_header() toward .has_header(). But it looks like meson.build mixes those without much of a pattern, so maybe it doesn't matter for now.

But I'm also suspicious, because by this explanation, the AC_CHECK_HEADERS calls on sys/event.h should fail on OpenBSD, but they do not on the existing buildfarm members.



Reply via email to