121 lines
2.5 KiB
Meson
121 lines
2.5 KiB
Meson
# libkres
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
libkres_src = files([
|
|
'cache/api.c',
|
|
'cache/cdb_lmdb.c',
|
|
'cache/entry_list.c',
|
|
'cache/entry_pkt.c',
|
|
'cache/entry_rr.c',
|
|
'cache/knot_pkt.c',
|
|
'cache/nsec1.c',
|
|
'cache/nsec3.c',
|
|
'cache/peek.c',
|
|
'dnssec.c',
|
|
'dnssec/nsec.c',
|
|
'dnssec/nsec3.c',
|
|
'dnssec/signature.c',
|
|
'dnssec/ta.c',
|
|
'generic/lru.c',
|
|
'generic/queue.c',
|
|
'generic/trie.c',
|
|
'layer/cache.c',
|
|
'layer/iterate.c',
|
|
'layer/validate.c',
|
|
'log.c',
|
|
'module.c',
|
|
'resolve.c',
|
|
'rplan.c',
|
|
'selection.c',
|
|
'selection_forward.c',
|
|
'selection_iter.c',
|
|
'utils.c',
|
|
'zonecut.c',
|
|
])
|
|
c_src_lint += libkres_src
|
|
|
|
libkres_headers = files([
|
|
'cache/api.h',
|
|
'cache/cdb_api.h',
|
|
'cache/cdb_lmdb.h',
|
|
'cache/impl.h',
|
|
'defines.h',
|
|
'dnssec.h',
|
|
'dnssec/nsec.h',
|
|
'dnssec/nsec3.h',
|
|
'dnssec/signature.h',
|
|
'dnssec/ta.h',
|
|
'generic/array.h',
|
|
'generic/lru.h',
|
|
'generic/pack.h',
|
|
'generic/queue.h',
|
|
'generic/trie.h',
|
|
'layer.h',
|
|
'layer/iterate.h',
|
|
'log.h',
|
|
'module.h',
|
|
'resolve.h',
|
|
'rplan.h',
|
|
'selection.h',
|
|
'selection_forward.h',
|
|
'selection_iter.h',
|
|
'utils.h',
|
|
'zonecut.h',
|
|
])
|
|
|
|
unit_tests += [
|
|
['array', files('generic/test_array.c')],
|
|
['lru', files('generic/test_lru.c')],
|
|
['pack', files('generic/test_pack.c')],
|
|
['queue', files('generic/test_queue.c')],
|
|
['trie', files('generic/test_trie.c')],
|
|
['module', files('test_module.c')],
|
|
['rplan', files('test_rplan.c')],
|
|
['utils', files('test_utils.c')],
|
|
['zonecut', files('test_zonecut.c')],
|
|
]
|
|
|
|
integr_tests += [
|
|
['cache_overflow', meson.current_source_dir() / 'cache' / 'overflow.test.integr'],
|
|
['cache_minimal_nsec', meson.current_source_dir() / 'cache' / 'test.integr'],
|
|
['iter_limits' , meson.current_source_dir() / 'layer' / 'test.integr'],
|
|
['validate' , meson.current_source_dir() / 'layer' / 'validate.test.integr'],
|
|
]
|
|
|
|
libkres_inc = include_directories('..')
|
|
|
|
libkres_lib = library('kres',
|
|
libkres_src,
|
|
soversion: libkres_soversion,
|
|
include_directories: libkres_inc,
|
|
dependencies: [
|
|
contrib_dep,
|
|
kresconfig_dep,
|
|
libuv,
|
|
lmdb,
|
|
libknot,
|
|
libdnssec,
|
|
gnutls,
|
|
luajit,
|
|
libsystemd,
|
|
],
|
|
install: true,
|
|
)
|
|
|
|
libkres_dep = declare_dependency(
|
|
include_directories: libkres_inc,
|
|
link_with: libkres_lib
|
|
)
|
|
|
|
install_headers(
|
|
libkres_headers,
|
|
subdir: 'libkres',
|
|
)
|
|
|
|
pkgconfig = import('pkgconfig')
|
|
pkgconfig.generate(
|
|
name: 'libkres',
|
|
description: 'Knot Resolver library',
|
|
url: 'https://knot-resolver.cz/',
|
|
libraries: [libkres_lib],
|
|
)
|