Skip to content
Snippets Groups Projects

support Knot DNS master (3.1)

Merged Vladimír Čunát requested to merge knot-master into master
All threads resolved!
+ 0
32
@@ -84,38 +84,6 @@ if get_option('kres_gen_test')
endif
endif
# A simple config test: check that sizes of some structures match
# in C and pre-generated lua bindings.
# The point is that regeneration is quite expensive in time and dependencies,
# but this basic sanity check could be ran always.
if get_option('kres_gen_test')
types_to_check = {
'time_t' : '#include <sys/time.h>',
'struct timeval' : '#include <sys/time.h>',
'zs_scanner_t' : '#include <libzscanner/scanner.h>',
'knot_pkt_t' : '#include <libknot/packet/pkt.h>',
}
# Construct the lua tester as a meson string.
kres_gen_test_luastr = '''
dofile('@0@')
local ffi = require('ffi')
'''.format(meson.current_source_dir() / 'kres-gen.lua')
foreach tname, tinclude: types_to_check
kres_gen_test_luastr += '''
assert(ffi.sizeof(ffi.typeof('@0@')) == @1@,
'Lua binding for C type ' .. '@0@' .. ' has incorrect size: '
.. ffi.sizeof(ffi.typeof('@0@'))
)
'''.format(tname, meson.get_compiler('c').sizeof(tname, prefix : tinclude))
endforeach
# Now feed it directly into luajit.
kres_gen_test = run_command(find_program('luajit'), '-e', kres_gen_test_luastr)
if kres_gen_test.returncode() != 0
error('if you use released Knot* versions, please contact us: https://www.knot-resolver.cz/contact/\n'
+ kres_gen_test.stderr().strip())
endif
endif
lua_src = [
files('postconfig.lua'),
files('kres.lua'),