Files
megasource/libs/LuaJIT/android_build_readme.bat
T
2021-02-11 19:46:20 +08:00

111 lines
4.0 KiB
Batchfile

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 <NDK_ROOT>\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