meson: add dist-check-includes replacement

This is more-or-less the same as dist-check-includes. meson doesn't exactly
make it easy to call a compiler with a custom set of options. The tests
are included in the test listing.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-04-15 22:50:56 -04:00
parent 734005fe75
commit fdd147a88e
3 changed files with 27 additions and 2 deletions

View File

@ -409,6 +409,7 @@ etags = find_program('etags', required : false)
meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh'
mkdir_p = 'mkdir -p $DESTDIR/@0@'
check_compilation_sh = find_program('tools/meson-check-compilation.sh')
# if -Dxxx-path option is found, use that. Otherwise, check in $PATH,
# /usr/sbin, /sbin, and fall back to the default from middle column.

View File

@ -1,6 +1,6 @@
# -*- mode: meson -*-
systemd_headers = files('''
_systemd_headers = '''
sd-bus.h
sd-bus-protocol.h
sd-bus-vtable.h
@ -10,7 +10,10 @@ systemd_headers = files('''
sd-journal.h
sd-login.h
sd-messages.h
'''.split())
'''.split()
# https://github.com/mesonbuild/meson/issues/1633
systemd_headers = files(_systemd_headers)
# sd-device.h
# sd-hwdb.h
@ -33,3 +36,21 @@ install_headers(
systemd_headers,
'_sd-common.h',
subdir : 'systemd')
############################################################
opts = [[],
['-ansi'],
['-std=iso9899:1990']]
foreach header : _systemd_headers
foreach opt : opts
name = ''.join([header] + opt)
test('cc-' + name,
check_compilation_sh,
args : cc.cmd_array() + ['-x', 'c'] + opt +
['-Werror', '-include',
join_paths(meson.current_source_dir(), header)])
endforeach
endforeach

View File

@ -0,0 +1,3 @@
#!/bin/sh -e
"$@" '-' '-c' -o/dev/null </dev/null