File: make_lib_sqlite3.sh

package info (click to toggle)
ddnet 19.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 68,960 kB
  • sloc: cpp: 195,050; ansic: 58,572; python: 5,568; asm: 946; sh: 941; java: 366; xml: 206; makefile: 31
file content (64 lines) | stat: -rwxr-xr-x 1,931 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/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"