From: Fred Morcos Date: Tue, 6 Jun 2023 10:11:33 +0000 (+0200) Subject: Meson: Lua and lua.hpp X-Git-Tag: rec-5.1.0-alpha1~80^2~398 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=748b804dcdad01404c74593be0e3fd54eb02181e;p=thirdparty%2Fpdns.git Meson: Lua and lua.hpp --- diff --git a/meson.build b/meson.build index f893217f6a..d0e96e55a2 100644 --- a/meson.build +++ b/meson.build @@ -170,6 +170,34 @@ if cxx.has_function('strerror_r', prefix: '#include ') == true endif endif +# Lua ------------------------------------------------------------------------------------ +lua_opt = get_option('lua') +dep_lua = dependency('', required: false) + +if lua_opt == 'auto' or lua_opt == 'luajit' + dep_lua = dependency('luajit', version: '>= 2.0.2', required: lua_opt == 'luajit', not_found_message: 'LuaJIT not found') +endif + +if not dep_lua.found() and (lua_opt == 'auto' or lua_opt == 'lua') + variants = ['lua5.3', 'lua-5.3', 'lua53', 'lua5.2', 'lua-5.2', 'lua52', 'lua5.1', 'lua-5.1', 'lua51', 'lua'] + foreach variant: variants + dep_lua = dependency(variant, version: '>= 5.1', required: false) + if dep_lua.found() + break + endif + endforeach +endif + +if not dep_lua.found() + error('No Lua implementation was found') +endif + +conf.set('HAVE_LUA', 1, description: 'Whether we have Lua') + +if cxx.has_header('lua.hpp', dependencies: dep_lua) + conf.set('HAVE_LUA_HPP', 1, description: 'Whether we have lua.hpp') +endif + # Generate config.h ---------------------------------------------------------------------- config_h = configure_file(configuration: conf, output: 'config.h') @@ -177,6 +205,7 @@ config_h = configure_file(configuration: conf, output: 'config.h') deps = [] deps += dep_atomics deps += dep_threads +deps += dep_lua # TODO: Other source files auth = executable('pdns', config_h, dependencies: deps, export_dynamic: true) diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000..b0882c5771 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1 @@ +option('lua', type: 'combo', choices: ['auto', 'luajit', 'lua'], value: 'auto', description: 'Which Lua implementation to use')