1# libkres 2# SPDX-License-Identifier: GPL-3.0-or-later 3 4libkres_src = files([ 5 'cache/api.c', 6 'cache/cdb_lmdb.c', 7 'cache/entry_list.c', 8 'cache/entry_pkt.c', 9 'cache/entry_rr.c', 10 'cache/knot_pkt.c', 11 'cache/nsec1.c', 12 'cache/nsec3.c', 13 'cache/peek.c', 14 'dnssec.c', 15 'dnssec/nsec.c', 16 'dnssec/nsec3.c', 17 'dnssec/signature.c', 18 'dnssec/ta.c', 19 'generic/lru.c', 20 'generic/map.c', 21 'generic/queue.c', 22 'generic/trie.c', 23 'layer/cache.c', 24 'layer/iterate.c', 25 'layer/validate.c', 26 'log.c', 27 'module.c', 28 'resolve.c', 29 'rplan.c', 30 'selection.c', 31 'selection_forward.c', 32 'selection_iter.c', 33 'utils.c', 34 'zonecut.c', 35]) 36c_src_lint += libkres_src 37 38libkres_headers = files([ 39 'cache/api.h', 40 'cache/cdb_api.h', 41 'cache/cdb_lmdb.h', 42 'cache/impl.h', 43 'defines.h', 44 'dnssec.h', 45 'dnssec/nsec.h', 46 'dnssec/nsec3.h', 47 'dnssec/signature.h', 48 'dnssec/ta.h', 49 'generic/array.h', 50 'generic/lru.h', 51 'generic/map.h', 52 'generic/pack.h', 53 'generic/queue.h', 54 'generic/trie.h', 55 'layer.h', 56 'layer/iterate.h', 57 'log.h', 58 'module.h', 59 'resolve.h', 60 'rplan.h', 61 'selection.h', 62 'selection_forward.h', 63 'selection_iter.h', 64 'utils.h', 65 'zonecut.h', 66]) 67 68unit_tests += [ 69 ['array', files('generic/test_array.c')], 70 ['lru', files('generic/test_lru.c')], 71 ['map', files('generic/test_map.c')], 72 ['pack', files('generic/test_pack.c')], 73 ['queue', files('generic/test_queue.c')], 74 ['set', files('generic/test_set.c')], 75 ['trie', files('generic/test_trie.c')], 76 ['module', files('test_module.c')], 77 ['rplan', files('test_rplan.c')], 78 ['utils', files('test_utils.c')], 79 ['zonecut', files('test_zonecut.c')], 80] 81 82integr_tests += [ 83 ['cache_overflow', meson.current_source_dir() / 'cache' / 'overflow.test.integr'], 84 ['cache_minimal_nsec', meson.current_source_dir() / 'cache' / 'test.integr'], 85 ['iter_limits' , meson.current_source_dir() / 'layer' / 'test.integr'], 86 ['validate' , meson.current_source_dir() / 'layer' / 'validate.test.integr'], 87] 88 89libkres_inc = include_directories('..') 90 91libkres_lib = library('kres', 92 libkres_src, 93 soversion: libkres_soversion, 94 include_directories: libkres_inc, 95 dependencies: [ 96 contrib_dep, 97 kresconfig_dep, 98 libuv, 99 lmdb, 100 libknot, 101 libdnssec, 102 gnutls, 103 luajit, 104 libsystemd, 105 ], 106 install: true, 107) 108 109libkres_dep = declare_dependency( 110 include_directories: libkres_inc, 111 link_with: libkres_lib 112) 113 114install_headers( 115 libkres_headers, 116 subdir: 'libkres', 117) 118 119pkgconfig = import('pkgconfig') 120pkgconfig.generate( 121 name: 'libkres', 122 description: 'Knot Resolver library', 123 url: 'https://knot-resolver.cz/', 124 libraries: [libkres_lib], 125) 126