-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathrun
executable file
·43 lines (41 loc) · 2.59 KB
/
run
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
#!/bin/bash
source build-config
if [ "$#" -lt 1 ]; then
echo "./run api|web|android|android+"
elif [ $1 == "api" ]; then
cargo run -p etopai -- $@
elif [ $1 == "web" ]; then
wasm-pack build --dev --no-typescript -t web -d ../etopaw-app/pkg etopaw
elif [ $1 == "android" ]; then
JNI_LIBS=etopan-app/app/src/main/jniLibs
if ! [[ "$PATH" == ?(*:)"$HOME/.android/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/linux-x86_64/bin"?(:*) ]]; then
export PATH="$PATH:$HOME/.android/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/linux-x86_64/bin"
fi
LINKER_AARCH64=aarch64-linux-android21-clang
LINKER_X86_64=x86_64-linux-android21-clang
env CC_aarch64_linux-android=$LINKER_AARCH64 cargo rustc -p etopan --target aarch64-linux-android -- -C linker=$LINKER_AARCH64
env CC_x86_64_linux-android=$LINKER_X86_64 cargo rustc -p etopan --target x86_64-linux-android -- -C linker=$LINKER_X86_64
rm -rf $JNI_LIBS && mkdir -p $JNI_LIBS/arm64-v8a && mkdir -p $JNI_LIBS/x86_64
cp target/aarch64-linux-android/debug/libetopan.so $JNI_LIBS/arm64-v8a/libetopan.so
cp target/x86_64-linux-android/debug/libetopan.so $JNI_LIBS/x86_64/libetopan.so
elif [ $1 == "android+" ]; then
JNI_LIBS=etopan-app/app/src/main/jniLibs
if ! [[ "$PATH" == ?(*:)"$HOME/.android/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/linux-x86_64/bin"?(:*) ]]; then
export PATH="$PATH:$HOME/.android/sdk/ndk/$NDK_VERSION/toolchains/llvm/prebuilt/linux-x86_64/bin"
fi
LINKER_AARCH64=aarch64-linux-android21-clang
LINKER_ARMV7=armv7a-linux-androideabi21-clang
LINKER_X86_64=x86_64-linux-android21-clang
LINKER_I686=i686-linux-android21-clang
env CC_aarch64_linux-android=$LINKER_AARCH64 cargo rustc -p etopan --target aarch64-linux-android -- -C linker=$LINKER_AARCH64
env CC_armv7_linux-androideabi=$LINKER_ARMV7 cargo rustc -p etopan --target armv7-linux-androideabi -- -C linker=$LINKER_ARMV7
env CC_x86_64_linux-android=$LINKER_X86_64 cargo rustc -p etopan --target x86_64-linux-android -- -C linker=$LINKER_X86_64
env CC_i686_linux-android=$LINKER_I686 cargo rustc -p etopan --target i686-linux-android -- -C linker=$LINKER_I686
rm -rf $JNI_LIBS && mkdir -p $JNI_LIBS/arm64-v8a && mkdir -p $JNI_LIBS/armeabi-v7a && mkdir -p $JNI_LIBS/x86_64 && mkdir -p $JNI_LIBS/x86
cp target/aarch64-linux-android/debug/libetopan.so $JNI_LIBS/arm64-v8a/libetopan.so
cp target/armv7-linux-androideabi/debug/libetopan.so $JNI_LIBS/armeabi-v7a/libetopan.so
cp target/x86_64-linux-android/debug/libetopan.so $JNI_LIBS/x86_64/libetopan.so
cp target/i686-linux-android/debug/libetopan.so $JNI_LIBS/x86/libetopan.so
else
echo "./run api|web|android|android+"
fi