cmake: fix HAVE_H_ERRNO_ASSIGNABLE detection

Fix `HAVE_H_ERRNO_ASSIGNABLE` to not run, only compile its test snippet,
aligning this with autotools. This fixes an error when doing
cross-builds and also actually detects this feature. It affected systems
not allowlisted into this, e.g. SerenityOS.

We used this detection result to enable `HAVE_GETADDRINFO_THREADSAFE`.

Follow-up to 04a3a377d8 #11979
Ref: #12095 (closed in favour of this patch)
Ref: #11964 (effort to sync cmake detections with autotools)

Reported-by: Kartatz on Github
Assisted-by: Kartatz on Github
Fixes #12093
Closes #12094
This commit is contained in:
Viktor Szakats 2023-10-11 16:06:12 +00:00
parent fac90bd5c1
commit 104767ae48
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201

View File

@ -172,7 +172,7 @@ if(NOT DEFINED HAVE_GETADDRINFO_THREADSAFE)
}" HAVE_H_ERRNO)
if(NOT HAVE_H_ERRNO)
check_c_source_runs("${_source_epilogue}
check_c_source_compiles("${_source_epilogue}
int main(void)
{
h_errno = 2;