dev
sh 70 lines 2.04 KB
Raw
1 #!/bin/bash
2 set -x -e
3
4 . ./config.sh
5
6 MONERO_SRC_DIR=${WORKDIR}/monero
7
8 git clone https://github.com/cake-tech/monero.git ${MONERO_SRC_DIR} --branch ${MONERO_BRANCH}
9 cd $MONERO_SRC_DIR
10 git submodule init
11 git submodule update
12
13 for arch in "aarch" "aarch64" "i686" "x86_64"
14 do
15 FLAGS=""
16 PREFIX=${WORKDIR}/prefix_${arch}
17 DEST_LIB_DIR=${PREFIX}/lib/monero
18 DEST_INCLUDE_DIR=${PREFIX}/include/monero
19 export CMAKE_INCLUDE_PATH="${PREFIX}/include"
20 export CMAKE_LIBRARY_PATH="${PREFIX}/lib"
21 ANDROID_STANDALONE_TOOLCHAIN_PATH="${TOOLCHAIN_BASE_DIR}_${arch}"
22 PATH="${ANDROID_STANDALONE_TOOLCHAIN_PATH}/bin:${ORIGINAL_PATH}"
23
24 mkdir -p $DEST_LIB_DIR
25 mkdir -p $DEST_INCLUDE_DIR
26
27 case $arch in
28 "aarch" )
29 CLANG=arm-linux-androideabi-clang
30 CXXLANG=arm-linux-androideabi-clang++
31 BUILD_64=OFF
32 TAG="android-armv7"
33 ARCH="armv7-a"
34 ARCH_ABI="armeabi-v7a"
35 FLAGS="-D CMAKE_ANDROID_ARM_MODE=ON -D NO_AES=true";;
36 "aarch64" )
37 CLANG=aarch64-linux-androideabi-clang
38 CXXLANG=aarch64-linux-androideabi-clang++
39 BUILD_64=ON
40 TAG="android-armv8"
41 ARCH="armv8-a"
42 ARCH_ABI="arm64-v8a";;
43 "i686" )
44 CLANG=i686-linux-androideabi-clang
45 CXXLANG=i686-linux-androideabi-clang++
46 BUILD_64=OFF
47 TAG="android-x86"
48 ARCH="i686"
49 ARCH_ABI="x86";;
50 "x86_64" )
51 CLANG=x86_64-linux-androideabi-clang
52 CXXLANG=x86_64-linux-androideabi-clang++
53 BUILD_64=ON
54 TAG="android-x86_64"
55 ARCH="x86-64"
56 ARCH_ABI="x86_64";;
57 esac
58
59 cd $MONERO_SRC_DIR
60 rm -rf ./build/release
61 mkdir -p ./build/release
62 cd ./build/release
63 CC=${CLANG} CXX=${CXXLANG} cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH=${ARCH} -D STATIC=ON -D BUILD_64=${BUILD_64} -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG=${TAG} -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_STANDALONE_TOOLCHAIN="${ANDROID_STANDALONE_TOOLCHAIN_PATH}" -D CMAKE_ANDROID_ARCH_ABI=${ARCH_ABI} $FLAGS ../..
64
65 make wallet_api -j$THREADS
66 find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
67
68 cp -r ./lib/* $DEST_LIB_DIR
69 cp ../../src/wallet/api/wallet2_api.h $DEST_INCLUDE_DIR
70 done