mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-17 08:58:07 +02:00
meson: Use check_header to confirm headers work
instead of using has_header use check_header to confirm the header
works. This is necessary to get the meson build to work with Visual
Studio 2022. It has <stdatomic.h> but it does not actually work when
compiling a C program. A minimal C program that include <stdatomic.h>
fails with the following errors:
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2061: syntax error: identifier 'atomic_bool'
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2059: syntax error: ';'
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2061: syntax error: identifier 'atomic_char'
C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2059: syntax error: ';'
...
...
check_header is consistent with CMake's
check_include_file(stdatomic.h HAVE_STDATOMIC_H)
which is why the CMake-based build of dbus works with Visual Studio
2022, while the meson build doesn't.
Fixes #494
This commit is contained in:
parent
d9756df2f0
commit
e52ccaf7c3
1 changed files with 1 additions and 1 deletions
|
|
@ -705,7 +705,7 @@ check_headers = [
|
|||
|
||||
foreach header : check_headers
|
||||
macro = 'HAVE_' + header.underscorify().to_upper()
|
||||
config.set(macro, cc.has_header(header, args: compile_args_c) ? 1 : false)
|
||||
config.set(macro, cc.check_header(header, args: compile_args_c) ? 1 : false)
|
||||
endforeach
|
||||
|
||||
execinfo = cc.find_library('execinfo', required: false)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue