]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Fixes to Android build + option to turn LuaJIT on/off for testing purposes (#12334)
authorparadust7 <102263465+paradust7@users.noreply.github.com>
Sat, 21 May 2022 15:48:40 +0000 (08:48 -0700)
committersfan5 <sfan5@live.de>
Sat, 21 May 2022 15:49:41 +0000 (17:49 +0200)
android/app/src/main/java/net/minetest/minetest/GameActivity.java
android/native/jni/Android.mk

index 46fc9b1de27a55feaba9ca0676dfb02d575d110b..eeb90ea7f7e59ebbe59e0a181e1ad578668c0799 100644 (file)
@@ -34,10 +34,14 @@ import android.widget.Button;
 import android.widget.EditText;
 import android.widget.LinearLayout;
 
+import androidx.annotation.Keep;
 import androidx.appcompat.app.AlertDialog;
 
 import java.util.Objects;
 
+// Native code finds these methods by name (see porting_android.cpp).
+// This annotation prevents the minifier/Proguard from mangling them.
+@Keep
 public class GameActivity extends NativeActivity {
        static {
                System.loadLibrary("c++_shared");
index f8ca74d3c7a6eb37fa31a7ac1de22540b11d7f67..b522042dea42661ea51990be742f8736be89b038 100644 (file)
@@ -1,6 +1,7 @@
 LOCAL_PATH := $(call my-dir)/..
 
 #LOCAL_ADDRESS_SANITIZER:=true
+#USE_BUILTIN_LUA:=true
 
 include $(CLEAR_VARS)
 LOCAL_MODULE := Curl
@@ -42,11 +43,15 @@ LOCAL_MODULE := Irrlicht
 LOCAL_SRC_FILES := deps/$(APP_ABI)/Irrlicht/libIrrlichtMt.a
 include $(PREBUILT_STATIC_LIBRARY)
 
+ifndef USE_BUILTIN_LUA
+
 include $(CLEAR_VARS)
 LOCAL_MODULE := LuaJIT
 LOCAL_SRC_FILES := deps/$(APP_ABI)/LuaJIT/libluajit.a
 include $(PREBUILT_STATIC_LIBRARY)
 
+endif
+
 include $(CLEAR_VARS)
 LOCAL_MODULE := OpenAL
 LOCAL_SRC_FILES := deps/$(APP_ABI)/OpenAL-Soft/libopenal.a
@@ -92,7 +97,6 @@ LOCAL_CFLAGS += \
        -DUSE_CURL=1                    \
        -DUSE_SOUND=1                   \
        -DUSE_LEVELDB=0                 \
-       -DUSE_LUAJIT=1                  \
        -DUSE_GETTEXT=1                 \
        -DVERSION_MAJOR=${versionMajor} \
        -DVERSION_MINOR=${versionMinor} \
@@ -100,6 +104,12 @@ LOCAL_CFLAGS += \
        -DVERSION_EXTRA=${versionExtra} \
        $(GPROF_DEF)
 
+ifdef USE_BUILTIN_LUA
+       LOCAL_CFLAGS += -DUSE_LUAJIT=0
+else
+       LOCAL_CFLAGS += -DUSE_LUAJIT=1
+endif
+
 ifdef NDEBUG
        LOCAL_CFLAGS += -DNDEBUG=1
 endif
@@ -120,12 +130,19 @@ LOCAL_C_INCLUDES := \
        deps/$(APP_ABI)/Irrlicht/include                   \
        deps/$(APP_ABI)/Gettext/include                    \
        deps/$(APP_ABI)/Iconv/include                      \
-       deps/$(APP_ABI)/LuaJIT/include                     \
        deps/$(APP_ABI)/OpenAL-Soft/include                \
        deps/$(APP_ABI)/SQLite/include                     \
        deps/$(APP_ABI)/Vorbis/include                     \
        deps/$(APP_ABI)/Zstd/include
 
+ifdef USE_BUILTIN_LUA
+       LOCAL_C_INCLUDES += \
+               ../../lib/lua/src                    \
+               ../../lib/bitop
+else
+       LOCAL_C_INCLUDES += deps/$(APP_ABI)/LuaJIT/include
+endif
+
 LOCAL_SRC_FILES := \
        $(wildcard ../../src/client/*.cpp)           \
        $(wildcard ../../src/client/*/*.cpp)         \
@@ -207,6 +224,41 @@ LOCAL_SRC_FILES := \
        ../../src/voxel.cpp                          \
        ../../src/voxelalgorithms.cpp
 
+# Built-in Lua
+ifdef USE_BUILTIN_LUA
+       LOCAL_SRC_FILES += \
+               ../../lib/lua/src/lapi.c \
+               ../../lib/lua/src/lauxlib.c \
+               ../../lib/lua/src/lbaselib.c \
+               ../../lib/lua/src/lcode.c \
+               ../../lib/lua/src/ldblib.c \
+               ../../lib/lua/src/ldebug.c \
+               ../../lib/lua/src/ldo.c \
+               ../../lib/lua/src/ldump.c \
+               ../../lib/lua/src/lfunc.c \
+               ../../lib/lua/src/lgc.c \
+               ../../lib/lua/src/linit.c \
+               ../../lib/lua/src/liolib.c \
+               ../../lib/lua/src/llex.c \
+               ../../lib/lua/src/lmathlib.c \
+               ../../lib/lua/src/lmem.c \
+               ../../lib/lua/src/loadlib.c \
+               ../../lib/lua/src/lobject.c \
+               ../../lib/lua/src/lopcodes.c \
+               ../../lib/lua/src/loslib.c \
+               ../../lib/lua/src/lparser.c \
+               ../../lib/lua/src/lstate.c \
+               ../../lib/lua/src/lstring.c \
+               ../../lib/lua/src/lstrlib.c \
+               ../../lib/lua/src/ltable.c \
+               ../../lib/lua/src/ltablib.c \
+               ../../lib/lua/src/ltm.c \
+               ../../lib/lua/src/lundump.c \
+               ../../lib/lua/src/lvm.c \
+               ../../lib/lua/src/lzio.c \
+               ../../lib/bitop/bit.c
+endif
+
 # GMP
 LOCAL_SRC_FILES += ../../lib/gmp/mini-gmp.c
 
@@ -218,12 +270,14 @@ LOCAL_STATIC_LIBRARIES += \
        Freetype \
        Iconv libcharset \
        Irrlicht \
-       LuaJIT \
        OpenAL \
        Gettext \
        SQLite3 \
        Vorbis libvorbisfile libogg \
        Zstd
+ifndef USE_BUILTIN_LUA
+       LOCAL_STATIC_LIBRARIES += LuaJIT
+endif
 LOCAL_STATIC_LIBRARIES += android_native_app_glue $(PROFILER_LIBS)
 
 LOCAL_LDLIBS := -lEGL -lGLESv1_CM -lGLESv2 -landroid -lOpenSLES