]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
meson: add test-libudev-sym
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 10 Apr 2017 19:20:42 +0000 (15:20 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 24 Apr 2017 01:47:27 +0000 (21:47 -0400)
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.

meson.build
src/libudev/meson.build
src/test/meson.build

index 83231c91fe0504783351e0c7874c4ecd5d3f9bdc..154f3802239a25ae601a33313b49203190e1353b 100644 (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')
index e303ee8518910c94713029f235b44e946e256851..9fc3a3c7426b8f36c73c2c6882e5fd1147e20300 100644 (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',
index 32affa83e3ee1b4a44c02e1a5344a38b48e8d448..568378e38160a302ac40982b1900bde94ba6c6cf 100644 (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 += [