install_headers('pkcs11.h', 'pkcs11x.h', subdir: 'p11-kit-1/p11-kit') libp11_common_sources = [ 'argv.c', 'attrs.c', 'array.c', 'buffer.c', 'compat.c', 'constants.c', 'debug.c', 'dict.c', 'hash.c', 'lexer.c', 'message.c', 'path.c', 'runtime.c', 'url.c', 'vsock.c' ] libp11_common = static_library('p11-common', libp11_common_sources, gnu_symbol_visibility: 'hidden', include_directories: configinc) libp11_common_dep = declare_dependency(include_directories: [configinc, commoninc], link_with: libp11_common) libp11_library = static_library('p11-library', 'library.c', gnu_symbol_visibility: 'hidden', include_directories: configinc) libp11_library_dep = declare_dependency(link_with: libp11_library, dependencies: [libp11_common_dep] + thread_deps) if get_option('test') libp11_test_sources = [ 'mock.c', 'test.c' ] libp11_test = static_library('p11-test', libp11_test_sources, include_directories: configinc) libp11_test_dep = declare_dependency(link_with: libp11_test, dependencies: [libp11_common_dep] + thread_deps) endif libp11_tool_sources = [ 'tool.c' ] if host_system != 'windows' libp11_tool_sources += ['unix-peer.c', 'unix-peer.h'] endif libp11_tool = static_library('p11-tool', libp11_tool_sources, include_directories: configinc) libp11_tool_dep = declare_dependency(link_with: libp11_tool, dependencies: [libp11_common_dep]) # Tests ---------------------------------------------------------------- if get_option('test') common_tests = [ 'test-tests', 'test-compat', 'test-hash', 'test-dict', 'test-array', 'test-constants', 'test-attrs', 'test-buffer', 'test-url', 'test-path', 'test-lexer', 'test-message', 'test-argv', 'test-runtime' ] foreach name : common_tests t = executable(name, '@0@.c'.format(name), c_args: tests_c_args, include_directories: configinc, dependencies: dlopen_deps, link_with: [libp11_test, libp11_common]) test(name, t) endforeach common_progs = [ 'frob-getauxval', 'frob-getenv' ] if host_system != 'windows' common_progs += ['frob-getprogname'] endif foreach name : common_progs executable(name, '@0@.c'.format(name), c_args: tests_c_args, include_directories: configinc, dependencies: dlopen_deps, link_with: [libp11_common]) endforeach endif