summaryrefslogtreecommitdiff
path: root/pkcs11/rpc-layer/meson.build
blob: 39f63bb23812cc2178bd3e76f9fbcb5f2875f285 (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
libgkm_rpc_layer_sources = files(
  'gkm-rpc-dispatch.c',
  'gkm-rpc-message.c',
  'gkm-rpc-util.c',
)

libgkm_rpc_layer_deps = [
  glib_dep,
  gobject_dep,
  libgcrypt_dep,

  libegg_dep,
  libgkm_dep,
]

libgkm_rpc_layer = library('gkm-rpc-layer-standalone',
  libgkm_rpc_layer_sources,
  name_prefix: '',
  dependencies: libgkm_rpc_layer_deps,
  include_directories: config_h_inc,
  install: true,
  install_dir: gkr_pkglibdir,
)

libgkm_rpc_layer_dep = declare_dependency(
  link_with: libgkm_rpc_layer,
)

# The module code, built as the public gnome-keyring module

# This is the location that some older software looks for modules
p11_module_path = get_option('pkcs11-modules')
if p11_module_path == ''
  p11_module_path = p11_kit_dep.get_pkgconfig_variable('p11_module_path')
endif
shared_module(
  'gnome-keyring-pkcs11',
  sources: [
    'gkm-rpc-module.c',
    'gkm-rpc-message.c',
    'gkm-rpc-util.c',
  ],
  dependencies: [
    libegg_dep
  ],
  install: true,
  install_dir: p11_module_path,
)

# This is the configuration file that p11-kit uses to load the module
p11_system_config_module = get_option('pkcs11-config')
if p11_system_config_module == ''
  p11_system_config_module = p11_kit_dep.get_pkgconfig_variable('p11_system_config_modules')
endif
configure_file(
  input: 'gnome-keyring.module.in',
  output: '@BASENAME@',
  copy: true,
  install_dir: p11_system_config_module,
)

# Tests
libgkm_rpc_layer_tests = [
  'test-initialize',
]

libgkm_rpc_layer_tests_deps = [
  gck_dep,
  gcr_base_dep,

  libgkd_test_dep,
  libgkm_rpc_layer_deps,
  libgkm_rpc_layer_dep,
]

libgkm_rpc_layer_tests_cflags = [
  '-DSRCDIR="@0@"'.format(source_root),
  '-DBUILDDIR="@0@"'.format(meson.current_build_dir()),
]

foreach test_name : libgkm_rpc_layer_tests
  test_bin = executable(test_name,
    '@0@.c'.format(test_name),
    dependencies: libgkm_rpc_layer_tests_deps,
    c_args: libgkm_rpc_layer_tests_cflags,
    include_directories: config_h_inc,
  )

  test(test_name, test_bin,
    suite: 'gkm::rpc-layer',
  )
endforeach