summaryrefslogtreecommitdiff
path: root/common/meson.build
blob: 4614bcb0b1f9fc88301679ac828d80e08a18bf0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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'
]

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(include_directories: [configinc,
                                                              commoninc],
                                        link_with: libp11_library)

libp11_test_sources = [
  'mock.c',
  'test.c'
]

libp11_test = static_library('p11-test', libp11_test_sources,
                             include_directories: configinc)
libp11_test_dep = declare_dependency(include_directories: [configinc,
                                                           commoninc],
                                     link_with: libp11_test)

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(include_directories: [configinc,
                                                           commoninc],
                                     link_with: libp11_tool)

# Tests ----------------------------------------------------------------

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'
]

foreach name : common_progs
  executable(name, '@0@.c'.format(name),
             include_directories: configinc,
             dependencies: dlopen_deps,
             link_with: [libp11_common])
endforeach