meson: add test-libudev-sym

This is slightly complicated by the fact that files('libudev.h') cannot be used
as an argument in custom_target command (string is required). This restriction
should be lifted in future versions of mesons, so this could be simplified.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-04-10 15:20:42 -04:00
parent 37ab1a25ec
commit e0bec52f27
3 changed files with 21 additions and 3 deletions

View File

@ -1948,6 +1948,17 @@ test_libsystemd_sym = executable(
test('test-libsystemd-sym',
test_libsystemd_sym)
test_libudev_sym = executable(
'test-libudev-sym',
test_libudev_sym_c,
include_directories : includes,
c_args : ['-Wno-deprecated-declarations'],
link_args : ['src/libudev/libudev.so.1.6.6'],
install : install_tests,
install_dir : testsdir)
test('test-libudev-sym',
test_libudev_sym)
############################################################
make_directive_index_py = find_program('tools/make-directive-index.py')

View File

@ -17,15 +17,14 @@ libudev_sources = '''
############################################################
libudev_sym = 'libudev.sym'
version_script_arg = '@0@/@1@'.format(meson.current_source_dir(), libudev_sym)
libudev_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libudev_sym)
libudev = shared_library(
'udev',
libudev_sources,
version : '1.6.6',
include_directories : includes,
link_args : ['-shared',
'-Wl,--version-script=' + version_script_arg],
'-Wl,--version-script=' + libudev_sym_path],
link_with : [libbasic,
libsystemd],
link_depends : libudev_sym,
@ -40,6 +39,7 @@ libudev_internal = static_library(
libsystemd])
install_headers('libudev.h')
libudev_h_path = '@0@/libudev.h'.format(meson.current_source_dir())
libudev_pc = configure_file(
input : 'libudev.pc.in',

View File

@ -28,6 +28,13 @@ test_libsystemd_sym_c = custom_target(
command : [generate_sym_test_py, libsystemd_sym_path] + systemd_headers,
capture : true)
test_libudev_sym_c = custom_target(
'test-libudev-sym.c',
input : [libudev_sym_path, libudev_h_path],
output : 'test-libudev-sym.c',
command : [generate_sym_test_py, '@INPUT0@', '@INPUT1@'],
capture : true)
############################################################
tests += [