summaryrefslogtreecommitdiff
path: root/tools/nss/meson.build
blob: 85e2838fb7feec014a1ca15eda8bd95d608ba2bc (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
100
101
102
103
104
105
106
if conf.has('WITH_BSD_NSS')
  nss_sym_file = 'libvirt_nss_bsd.syms'
  nss_guest_sym_file = nss_sym_file
  nss_so_ver = '1'
  nss_prefix = ''
else
  nss_sym_file = 'libvirt_nss.syms'
  nss_guest_sym_file = 'libvirt_guest_nss.syms'
  nss_so_ver = '2'
  nss_prefix = 'lib'
endif

nss_sources = [
  'libvirt_nss.c',
  'libvirt_nss_leases.c',
]

nss_guest_sources = [
  'libvirt_nss_macs.c',
]

nss_libvirt_impl = static_library(
  'nss_libvirt_impl',
  [
    nss_sources,
  ],
  c_args: [
    '-DLIBVIRT_NSS'
  ],
  dependencies: [
    tools_dep,
    yajl_dep,
  ],
)

nss_libvirt_guest_impl = static_library(
  'nss_libvirt_guest_impl',
  [
    nss_sources,
    nss_guest_sources,
  ],
  c_args: [
    '-DLIBVIRT_NSS',
    '-DLIBVIRT_NSS_GUEST',
  ],
  dependencies: [
    tools_dep,
    yajl_dep,
  ],
)

nss_libvirt_syms_file = meson.current_source_dir() / nss_sym_file
nss_libvirt_syms_path = nss_libvirt_syms_file

nss_libvirt_link_args = [
  libvirt_export_dynamic,
  coverage_flags,
]

if version_script_flags != ''
  nss_libvirt_link_args += '@0@@1@'.format(
    version_script_flags,
    nss_libvirt_syms_path,
  )
endif

nss_libvirt_lib = shared_library(
  'nss_libvirt',
  name_prefix: nss_prefix,
  name_suffix: 'so.@0@'.format(nss_so_ver),
  link_args: nss_libvirt_link_args,
  link_whole: [
    nss_libvirt_impl,
  ],
  install: true,
  install_dir: libdir,
)

nss_libvirt_guest_syms_file = meson.current_source_dir() / nss_guest_sym_file
nss_libvirt_guest_syms_path = nss_libvirt_guest_syms_file

nss_libvirt_guest_link_args = [
  libvirt_export_dynamic,
  coverage_flags,
]

if version_script_flags != ''
  nss_libvirt_guest_link_args += '@0@@1@'.format(
    version_script_flags,
    nss_libvirt_guest_syms_path,
  )
endif

nss_libvirt_guest_lib = shared_library(
  'nss_libvirt_guest',
  name_prefix: nss_prefix,
  name_suffix: 'so.@0@'.format(nss_so_ver),
  link_args: nss_libvirt_guest_link_args,
  link_whole: [
    nss_libvirt_guest_impl,
  ],
  install: true,
  install_dir: libdir,
)

nss_inc_dir = include_directories('.')