mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-18 14:08:19 +00:00
66 lines
1.9 KiB
Bash
Executable file
66 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
ANDROID_HOME=~/Android/Sdk
|
|
ANDROID_NDK="$(find "$ANDROID_HOME/ndk" -maxdepth 1 | sort -n | tail -1)"
|
|
|
|
export MAKEFLAGS=-j32
|
|
|
|
export CXXFLAGS="$3"
|
|
export CFLAGS="$3"
|
|
export CPPFLAGS="$4"
|
|
LINKER_FLAGS="$4"
|
|
|
|
export ANDROID_NDK_ROOT="$ANDROID_NDK"
|
|
PATH="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH"
|
|
_LD_LIBRARY_PATH=".:$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$LD_LIBRARY_PATH"
|
|
|
|
function make_sqlite3() {
|
|
(
|
|
mkdir -p "$1"
|
|
cd "$1" || exit 1
|
|
|
|
TMP_COMPILER=""
|
|
TMP_AR=""
|
|
if [[ "${5}" == "android" ]]; then
|
|
TMP_COMPILER="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/$3$4-clang"
|
|
TMP_AR="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar"
|
|
elif [[ "${5}" == "webasm" ]]; then
|
|
TMP_COMPILER="emcc"
|
|
TMP_AR="emar"
|
|
fi
|
|
|
|
LDFLAGS="${LINKER_FLAGS} -L./" \
|
|
LD_LIBRARY_PATH="$_LD_LIBRARY_PATH" \
|
|
${TMP_COMPILER} \
|
|
-c \
|
|
-fPIC \
|
|
-DSQLITE_ENABLE_ATOMIC_WRITE=1 \
|
|
-DSQLITE_ENABLE_BATCH_ATOMIC_WRITE=1 \
|
|
-DSQLITE_ENABLE_MULTITHREADED_CHECKS=1 \
|
|
-DSQLITE_THREADSAFE=1 \
|
|
../sqlite3.c \
|
|
-o sqlite3.o
|
|
|
|
LDFLAGS="${LINKER_FLAGS} -L./" \
|
|
LD_LIBRARY_PATH="$_LD_LIBRARY_PATH" \
|
|
${TMP_AR} \
|
|
rvs \
|
|
sqlite3.a \
|
|
sqlite3.o
|
|
)
|
|
}
|
|
|
|
function compile_all_sqlite3() {
|
|
if [[ "${2}" == "android" ]]; then
|
|
make_sqlite3 build_"$2"_arm build_"$2"_arm armv7a-linux-androideabi "$1" "$2"
|
|
make_sqlite3 build_"$2"_arm64 build_"$2"_arm64 aarch64-linux-android "$1" "$2"
|
|
make_sqlite3 build_"$2"_x86 build_"$2"_x86 i686-linux-android "$1" "$2"
|
|
make_sqlite3 build_"$2"_x86_64 build_"$2"_x86_64 x86_64-linux-android "$1" "$2"
|
|
elif [[ "${2}" == "webasm" ]]; then
|
|
make_sqlite3 build_"$2"_wasm build_"$2"_wasm "" "$1" "$2"
|
|
fi
|
|
}
|
|
|
|
compile_all_sqlite3 "$1" "$2"
|
|
|