From 0772fb5690483b76be0d805add2d306d06ce2d5f Mon Sep 17 00:00:00 2001 From: Miku AuahDark Date: Thu, 11 Feb 2021 19:46:20 +0800 Subject: [PATCH] Add Android build script --- libs/LuaJIT/android_build_readme.bat | 110 +++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 libs/LuaJIT/android_build_readme.bat diff --git a/libs/LuaJIT/android_build_readme.bat b/libs/LuaJIT/android_build_readme.bat new file mode 100644 index 00000000..c2a6385e --- /dev/null +++ b/libs/LuaJIT/android_build_readme.bat @@ -0,0 +1,110 @@ +rem Build script assume using WSL + Clang for Windows (with MSVC x86+x64 toolset for -m32 switch) +rem This assume NDK r19 or later. See https://github.com/LuaJIT/LuaJIT/issues/477 for more information. +rem Setting this up for MSYS/MinGW-w64 should be possible but WSL is easier to setup. + +rem Make sure LuaJIT and the prebuilt is already in your PATH environment variable. +rem If you're confused which one should be added your path: +rem \toolchains\llvm\prebuilt\windows-x86_64\bin + +rem Once all environment variable is set, simply run this script with Command Prompt. + +mkdir android\arm64-v8a +mkdir android\armeabi-v7a +mkdir android\x86 +mkdir android\x86_64 + +rem Reset error level +type nul + +rem ARMv8 +echo Where aarch64-linux-android21-clang? +where aarch64-linux-android21-clang +if errorlevel 1 goto :error +if not exist android\arm64-v8a\libluajit.a ( + wsl make clean + if errorlevel 1 goto :error + wsl make HOST_LUA=luajit.exe HOST_CC=clang.exe HOST_CFLAGS=-D_CRT_SECURE_NO_WARNINGS CC=clang ^ + CROSS=aarch64-linux-android- ^ + "STATIC_CC=aarch64-linux-android21-clang -fPIC" ^ + "DYNAMIC_CC=aarch64-linux-android21-clang -fuse-ld=lld -fPIC" ^ + "TARGET_AR=aarch64-linux-android-ar.exe rcus" ^ + TARGET_LD=aarch64-linux-android21-clang ^ + TARGET_STRIP=aarch64-linux-android-strip.exe amalg -j4 + if errorlevel 1 goto :error + copy src\libluajit.a android\arm64-v8a\libluajit.a + if errorlevel 1 goto :error + copy src\libluajit.so android\arm64-v8a\libluajit.so + if errorlevel 1 goto :error +) + +rem ARMv7 +echo Where armv7a-linux-androideabi16-clang? +where armv7a-linux-androideabi16-clang +if errorlevel 1 goto :error +if not exist android\armeabi-v7a\libluajit.a ( + wsl make clean + if errorlevel 1 goto :error + wsl make HOST_LUA=luajit.exe "HOST_CC=clang.exe -m32" HOST_CFLAGS=-D_CRT_SECURE_NO_WARNINGS CC=clang ^ + CROSS=arm-linux-android- ^ + "STATIC_CC=armv7a-linux-androideabi16-clang -fPIC" ^ + "DYNAMIC_CC=armv7a-linux-androideabi16-clang -fuse-ld=lld -fPIC" ^ + "TARGET_AR=arm-linux-androideabi-ar.exe rcus" ^ + TARGET_LD=armv7a-linux-androideabi16-clang ^ + TARGET_STRIP=arm-linux-androideabi-strip.exe amalg -j4 + if errorlevel 1 goto :error + copy src\libluajit.a android\armeabi-v7a\libluajit.a + if errorlevel 1 goto :error + copy src\libluajit.so android\armeabi-v7a\libluajit.so + if errorlevel 1 goto :error +) + +rem x86 +echo Where i686-linux-android16-clang? +where i686-linux-android16-clang +if errorlevel 1 goto :error +if not exist android\x86\libluajit.a ( + wsl make clean + if errorlevel 1 goto :error + wsl make HOST_LUA=luajit.exe "HOST_CC=clang.exe -m32" HOST_CFLAGS=-D_CRT_SECURE_NO_WARNINGS CC=clang ^ + CROSS=i686-linux-android- ^ + "STATIC_CC=i686-linux-android16-clang -fPIC" ^ + "DYNAMIC_CC=i686-linux-android16-clang -fuse-ld=lld -fPIC" ^ + "TARGET_AR=i686-linux-android-ar.exe rcus" ^ + TARGET_LD=i686-linux-android16-clang ^ + TARGET_STRIP=i686-linux-android-strip.exe amalg -j4 + if errorlevel 1 goto :error + copy src\libluajit.a android\x86\libluajit.a + if errorlevel 1 goto :error + copy src\libluajit.so android\x86\libluajit.so + if errorlevel 1 goto :error +) + +rem x86_64 +echo Where x86_64-linux-android21-clang? +where x86_64-linux-android21-clang +if errorlevel 1 goto :error +if not exist android\x86_64\libluajit.a ( + wsl make clean + if errorlevel 1 goto :error + wsl make HOST_LUA=luajit.exe HOST_CC=clang.exe HOST_CFLAGS=-D_CRT_SECURE_NO_WARNINGS CC=clang ^ + CROSS=x86_64-linux-android- ^ + "STATIC_CC=x86_64-linux-android21-clang -fPIC" ^ + "DYNAMIC_CC=x86_64-linux-android21-clang -fuse-ld=lld -fPIC" ^ + "TARGET_AR=x86_64-linux-android-ar.exe rcus" ^ + TARGET_LD=x86_64-linux-android21-clang ^ + TARGET_STRIP=x86_64-linux-android-strip.exe amalg -j4 + if errorlevel 1 goto :error + copy src\libluajit.a android\x86_64\libluajit.a + if errorlevel 1 goto :error + copy src\libluajit.so android\x86_64\libluajit.so + if errorlevel 1 goto :error +) + +goto :done + +:error +exit /b 1 + +:done +wsl make clean +exit /b 0