diff options
Diffstat (limited to 'liblastlog2/meson.build')
-rw-r--r-- | liblastlog2/meson.build | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/liblastlog2/meson.build b/liblastlog2/meson.build new file mode 100644 index 0000000..6f8db53 --- /dev/null +++ b/liblastlog2/meson.build @@ -0,0 +1,63 @@ +cc = meson.get_compiler('c') +pkg = import('pkgconfig') +dir_liblastlog2 = include_directories('src') +lib_lastlog2_sources = ''' + src/lastlog2.h + src/lastlog2P.h + src/lastlog2.c +'''.split() + +liblastlog2_sym = 'src/liblastlog2.sym' +liblastlog2_sym_path = '@0@/@1@'.format(meson.current_source_dir(), liblastlog2_sym) + +if build_liblastlog2 + lib_lastlog2 = both_libraries( + 'lastlog2', + lib_lastlog2_sources, + include_directories : [dir_include], + link_args : ['-Wl,--version-script=@0@'.format(liblastlog2_sym_path)], + link_depends : liblastlog2_sym, + dependencies : [lib_sqlite3], + install : build_liblastlog2, + version : liblastlog2_version, + ) + + lastlog2_dep = declare_dependency(link_with: lib_lastlog2, include_directories: dir_liblastlog2) + + lastlog2_tests = [ + 'dlopen', + 'pam_lastlog2_output', + 'remove_entry', + 'rename_user', + 'write_read_user', + 'y2038_ll2_read_all', + 'y2038_sqlite3_time', + ] + libdl = cc.find_library('dl') + + pkg.generate( + lib_lastlog2, + description : 'library to manage last login data', + subdirs : 'lastlog2', + version : pc_version + ) + meson.override_dependency('lastlog2', lastlog2_dep) + + install_headers('src/lastlog2.h', subdir : 'liblastlog2') + + foreach lastlog2_test: lastlog2_tests + test_name = 'test_lastlog2_' + lastlog2_test + exe = executable( + test_name, + 'src/tests/tst_' + lastlog2_test + '.c', + include_directories : [dir_include], + link_with : [lib_common], + dependencies : [libdl, lastlog2_dep], + ) + # the test-setup expects the helpers in the toplevel build-directory + link = meson.project_build_root() / test_name + run_command('ln', '-srf', exe.full_path(), link, + check : true) + endforeach + +endif |