From 10acc004450a6b590101dc8590f4fe83ee5d8584 Mon Sep 17 00:00:00 2001 From: Myaamori <44215352+Myaamori@users.noreply.github.com> Date: Wed, 20 May 2020 05:48:51 +0100 Subject: [PATCH] meson: Apply Lua 5.2 compat flags to both native and non-native builds (#69) Otherwise -DLUAJIT_ENABLE_LUA52COMPAT isn't included when building buildvm, which will then fail to pick up Lua 5.2-only functions defined using the LJLIB_CF macro (e.g. table.pack). --- subprojects/luajit/meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/subprojects/luajit/meson.build b/subprojects/luajit/meson.build index 2a838bd18..dd49157e7 100644 --- a/subprojects/luajit/meson.build +++ b/subprojects/luajit/meson.build @@ -7,21 +7,23 @@ system_deps = [ cc.find_library('m', required: false) ] -add_project_arguments('-DLUAJIT_ENABLE_LUA52COMPAT', language: 'c') +# compat flag is needed for both the buildvm code generator (compiled natively) and luajit itself +add_project_arguments('-DLUAJIT_ENABLE_LUA52COMPAT', language: 'c', native: true) +add_project_arguments('-DLUAJIT_ENABLE_LUA52COMPAT', language: 'c', native: false) if host_machine.system() == 'linux' - add_project_arguments('-DLUAJIT_OS=LUAJIT_OS_LINUX', language: 'c') + add_project_arguments('-DLUAJIT_OS=LUAJIT_OS_LINUX', language: 'c', native: true) readline_dep = cc.find_library('readline') ljvm_mode = 'elfasm' ljvm_bout = 'lj_vm.s' elif host_machine.system() == 'darwin' - add_project_arguments(['-DLUAJIT_OS=LUAJIT_OS_OSX'], language: 'c') + add_project_arguments(['-DLUAJIT_OS=LUAJIT_OS_OSX'], language: 'c', native: true) readline_dep = cc.find_library('readline') ljvm_mode = 'machasm' ljvm_bout = 'lj_vm.s' elif host_machine.system() == 'windows' - add_project_arguments('-DLUAJIT_OS=LUAJIT_OS_WINDOWS', language: 'c') + add_project_arguments('-DLUAJIT_OS=LUAJIT_OS_WINDOWS', language: 'c', native: true) if cc.get_id() != 'msvc' - add_project_arguments('-malign-double', language: 'c') + add_project_arguments('-malign-double', language: 'c', native: true) endif readline_dep = [] ljvm_mode = 'peobj'