From a7a69dfb3f6be8af2ec8734861e1b136671da741 Mon Sep 17 00:00:00 2001 From: binaryfz Date: Mon, 4 Jan 2021 10:38:41 +0800 Subject: [PATCH 1/2] add download icu libs in setup_tools.sh --- tools/setup_tools.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/setup_tools.sh b/tools/setup_tools.sh index 8d6efbeb07..f9d1ad31af 100755 --- a/tools/setup_tools.sh +++ b/tools/setup_tools.sh @@ -75,6 +75,14 @@ if [ ! -f $MAPLE_ROOT/third_party/d8/lib/d8.jar ]; then echo Downloaded AOSP. fi +if [ ! -d $MAPLE_ROOT/third_party/icu ]; then + cd $TOOLS + git clone https://gitee.com/xlnb/icu4c.git + mkdir -p $MAPLE_ROOT/third_party/icu + cp -r icu4c/lib/ $MAPLE_ROOT/third_party/icu/ + echo Download icu4c libs +fi + # download and build andriod source if [ ! -d $ANDROID_DIR/out/target/product/generic_arm64/obj ]; then mkdir -p $ANDROID_SRCDIR -- Gitee From 269b25ef467c0b6d70d7b5bba60794ce8a36b7a5 Mon Sep 17 00:00:00 2001 From: binaryfz Date: Mon, 4 Jan 2021 19:32:04 +0800 Subject: [PATCH 2/2] update setup_tools.sh --- tools/setup_tools.sh | 68 +++++++++++--------------------------------- 1 file changed, 16 insertions(+), 52 deletions(-) diff --git a/tools/setup_tools.sh b/tools/setup_tools.sh index f9d1ad31af..9a06d12162 100755 --- a/tools/setup_tools.sh +++ b/tools/setup_tools.sh @@ -16,6 +16,8 @@ set -e +android_env=$1 + TOOLS=$(pwd) export MAPLE_ROOT=$TOOLS/.. echo MAPLE_ROOT: $MAPLE_ROOT @@ -27,6 +29,7 @@ ANDROID_DIR=$MAPLE_ROOT/android if [ ! -f $TOOLS/ninja/ninja ]; then cd $TOOLS + echo Start wget ninja.............. mkdir -p ./ninja cd ./ninja || exit 3 wget https://github.com/ninja-build/ninja/releases/download/v1.10.0/ninja-linux.zip @@ -36,6 +39,7 @@ fi if [ ! -f $TOOLS/gn/gn ]; then cd $TOOLS + echo Start clone gn.................. git clone https://gitee.com/xlnb/gn_binary.git gn chmod +x gn/gn echo Downloaded gn. @@ -58,7 +62,7 @@ if [ ! -f $TOOLS/gcc-linaro-7.5.0/bin/aarch64-linux-gnu-gcc ]; then echo Downloaded gcc aarch64 compiler. fi -if [ ! -f $TOOLS/android-ndk-r21/ndk-build ]; then +if [ ! -f $TOOLS/android-ndk-r21/ndk-build ] && [ "$android_env" == "android" ]; then cd $TOOLS wget https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip echo unpacking android ndk ... @@ -69,6 +73,7 @@ fi if [ ! -f $MAPLE_ROOT/third_party/d8/lib/d8.jar ]; then cd $TOOLS + echo Start clone d8............... git clone https://gitee.com/xlnb/r8-d81513.git mkdir -p $MAPLE_ROOT/third_party/d8/lib cp -f r8-d81513/d8/lib/d8.jar $MAPLE_ROOT/third_party/d8/lib @@ -77,6 +82,7 @@ fi if [ ! -d $MAPLE_ROOT/third_party/icu ]; then cd $TOOLS + echo Start clone ICU4C.............. git clone https://gitee.com/xlnb/icu4c.git mkdir -p $MAPLE_ROOT/third_party/icu cp -r icu4c/lib/ $MAPLE_ROOT/third_party/icu/ @@ -84,69 +90,27 @@ if [ ! -d $MAPLE_ROOT/third_party/icu ]; then fi # download and build andriod source -if [ ! -d $ANDROID_DIR/out/target/product/generic_arm64/obj ]; then - mkdir -p $ANDROID_SRCDIR - cd $ANDROID_SRCDIR - repo init -u https://android.googlesource.com/platform/manifest -b $ANDROID_VERSION - repo sync - . ./build/envsetup.sh - lunch 2 - make -j32 - make core-all - ln -s $ANDROID_SRCDIR $ANDROID_DIR - echo Downloaded and built AOSP. -fi - -# create java-core.jar -if [ ! -f $MAPLE_ROOT/libjava-core/java-core.jar ]; then - mkdir -p $MAPLE_ROOT/libjava-core - JLIBDIR=$ANDROID_DIR/out/target/product/generic_arm64/obj/JAVA_LIBRARIES - cp -f $JLIBDIR/core-all_intermediates/javalib.jar $MAPLE_ROOT/libjava-core/java-core.jar - cd $MAPLE_ROOT/libjava-core - $MAPLE_ROOT/build/d8 --min-api 39 --output . java-core.jar - mv classes.dex libcore-all.dex - echo Copied jar files. +if [ ! -d $ANDROID_DIR/out/target/product/generic_arm64 ]; then + cd $TOOLS + echo Start clone AOSP CORE LIB........... + git clone https://gitee.com/xlnb/aosp_core_bin.git + cp -r aosp_core_bin/android $MAPLE_ROOT/ + cp -r aosp_core_bin/libjava-core $MAPLE_ROOT/ + echo Download AOSP CORE LIB fi -if [ ! -L $TOOLS/gcc ]; then +if [ ! -L $TOOLS/gcc ] && [ "$android_env" == "android" ]; then cd $TOOLS ln -s ../android/prebuilts/gcc . echo Linked gcc. fi -if [ ! -L $TOOLS/clang-r353983c ]; then +if [ ! -L $TOOLS/clang-r353983c ] && [ "$android_env" == "android" ]; then cd $TOOLS ln -s ../android/prebuilts/clang/host/linux-x86/clang-r353983c . echo Linked clang. fi -if [ ! -f $MAPLE_ROOT/third_party/icu/lib/aarch64-linux-gnu/libicuuc.so ]; then - cd $TOOLS - wget https://github.com/unicode-org/icu/archive/release-56-1.tar.gz - tar zxf release-56-1.tar.gz - DIR=$TOOLS/icu-release-56-1/icu4c - export CROSS_BUILD_DIR=$DIR/linux - export ANDROID_NDK=$MAPLE_ROOT/tools/android-ndk-r21 - export ANDROID_TOOLCHAIN=$DIR/toolchain - export PATH=$ANDROID_TOOLCHAIN/bin:$PATH - mkdir -p $DIR/linux $DIR/aarch64 - (cd $DIR/linux; ../source/runConfigureICU Linux --prefix=$DIR/prebuilts; make -j16) - (cd $DIR; $ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-21 \ - --install-dir=$ANDROID_TOOLCHAIN --toolchain=aarch64-linux-android-clang3.6) - (cd $DIR/aarch64; ../source/configure --prefix=$DIR/prebuilt --host=aarch64-linux-android \ - CFLAGS='-Os' CXXFLAGS='--std=c++11' --enable-shared=yes -with-cross-build=$CROSS_BUILD_DIR \ - CC=aarch64-linux-android-clang CXX=aarch64-linux-android-clang++ AR=aarch64-linux-android-ar \ - RINLIB=aarch64-linux-android-ranlib --with-data-packaging=archive; make -j16) - AARCH64DIR=$MAPLE_ROOT/third_party/icu/lib/aarch64-linux-gnu - mkdir -p $AARCH64DIR - cd $AARCH64DIR - cp -f $DIR/aarch64/lib/libicuuc.so libicuuc.so.56 - cp -f $DIR/aarch64/stubdata/libicudata.so libicudata.so.56 - ln -s libicuuc.so.56 libicuuc.so - ln -s libicudata.so.56 libicudata.so - echo Downloaded icu. -fi - if [ ! -f $MAPLE_ROOT/third_party/libdex/prebuilts/aarch64-linux-gnu/libz.so.1.2.8 ]; then cd $TOOLS wget http://ports.ubuntu.com/pool/main/z/zlib/zlib1g_1.2.8.dfsg-2ubuntu4_arm64.deb -- Gitee