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'
-- 
GitLab