wownero
/
wownerujo
Archived
4
0
Fork 0

clean up build script

openssl-1.1.0
fuwa 6 years ago
parent fed7e5b0a2
commit 1c87d53134

@ -8,7 +8,6 @@ set -e
rm -rf prebuilt
mkdir prebuilt
#archs=(armeabi arm64-v8a mips mips64 x86 x86_64)
archs=(armeabi arm64-v8a x86_64)
for arch in ${archs[@]}; do
@ -26,25 +25,6 @@ for arch in ${archs[@]}; do
_ANDROID_EABI=aarch64-linux-android-4.9
_ANDROID_EABI_INC=aarch64-linux-android
configure_platform="linux-generic64 -DB_ENDIAN" ;;
"mips")
_ANDROID_TARGET_SELECT=arch-mips
_ANDROID_ARCH=arch-mips
_ANDROID_EABI=mipsel-linux-android-4.9
_ANDROID_EABI_INC=mipsel-linux-android
configure_platform="android -DB_ENDIAN" ;;
"mips64")
_ANDROID_TARGET_SELECT=arch-mips64
_ANDROID_ARCH=arch-mips64
_ANDROID_EABI=mips64el-linux-android-4.9
_ANDROID_EABI_INC=mips64el-linux-android
xLIB="/lib64"
configure_platform="linux-generic64 -DB_ENDIAN" ;;
"x86")
_ANDROID_TARGET_SELECT=arch-x86
_ANDROID_ARCH=arch-x86
_ANDROID_EABI=x86-4.9
_ANDROID_EABI_INC=i686-linux-android
configure_platform="android-x86" ;;
"x86_64")
_ANDROID_TARGET_SELECT=arch-x86_64
_ANDROID_ARCH=arch-x86_64
@ -63,10 +43,15 @@ for arch in ${archs[@]}; do
echo "CROSS COMPILE ENV : $CROSS_COMPILE"
cd openssl-OpenSSL_1_0_2l
xCFLAGS="-DSHARED_EXTENSION=.so -fPIC -DOPENSSL_PIC -DDSO_DLFCN -DHAVE_DLFCN_H -mandroid -I$ANDROID_NDK_ROOT/sysroot/usr/include -I$ANDROID_NDK_ROOT/sysroot/usr/include/$_ANDROID_EABI_INC -I$ANDROID_DEV/include -B$ANDROID_DEV/$xLIB -O -fomit-frame-pointer -W"
xCFLAGS="-DSHARED_EXTENSION=.so -fPIC -DOPENSSL_PIC -DDSO_DLFCN -DHAVE_DLFCN_H -mandroid \
-I$ANDROID_NDK_ROOT/sysroot/usr/include \
-I$ANDROID_NDK_ROOT/sysroot/usr/include/$_ANDROID_EABI_INC \
-I$ANDROID_DEV/include \
-B$ANDROID_DEV/$xLIB -O -fomit-frame-pointer -W"
perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org
./Configure shared no-threads no-asm no-zlib no-ssl2 no-ssl3 no-comp no-hw no-engine -D__ANDROID_API__=21 $configure_platform $xCFLAGS
./Configure shared no-threads no-asm no-zlib no-ssl2 no-ssl3 no-comp no-hw no-engine \
-D__ANDROID_API__=21 $configure_platform $xCFLAGS
# patch SONAME

@ -18,23 +18,40 @@ args="--build-type=minimal link=static runtime-link=static --with-chrono \
--with-serialization --with-system --with-thread \
--includedir=$build_root/build/boost/include \
--toolset=clang-android threading=multi threadapi=pthread target-os=android \
-j $NPROC \
"
echo $args
PATH=$build_root/tool/arm/arm-linux-androideabi/bin:$build_root/tool/arm/bin:$PATH \
./b2 --build-dir=android-arm --prefix=$build_root/build/boost/arm $args \
--arch=armeabi-v7a \
install
ln -sf ../include $build_root/build/boost/arm
PATH=$build_root/tool/arm64/aarch64-linux-androideabi/bin:$build_root/tool/arm64/bin:$PATH \
./b2 --build-dir=android-arm64 --prefix=$build_root/build/boost/arm64 $args \
install
ln -sf ../include $build_root/build/boost/arm64
PATH=$build_root/tool/x86_64/x86_64-linux-android/bin:$build_root/tool/x86_64/bin:$PATH \
./b2 --build-dir=android-x86_64 --prefix=$build_root/build/boost/x86_64 $args \
install
ln -sf ../include $build_root/build/boost/x86_64
archs=(arm arm64 x86_64)
for arch in ${archs[@]}; do
extra_build_flags=""
case ${arch} in
"arm")
target_host=arm-linux-androideabi
extra_build_flags="--arch=armeabi-v7a"
;;
"arm64")
target_host=aarch64-linux-android
;;
"x86_64")
target_host=x86_64-linux-android
;;
*)
exit 16
;;
esac
echo "building for ${arch}"
(PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH; \
./b2 \
--build-dir=android-${arch} \
--prefix=$build_root/build/boost/$arch \
$args \
$extr_build_flags \
-j $NPROC \
install)
ln -sf ../include $build_root/build/boost/${arch}
done
exit 0

@ -18,9 +18,6 @@ for arch in ${archs[@]}; do
"arm64")
target_host=aarch64-linux-android
;;
"x86")
target_host=i686-linux-android
;;
"x86_64")
target_host=x86_64-linux-android
;;

@ -7,4 +7,84 @@ source script/build-external-libs/env.sh
cd $EXTERNAL_LIBS_BUILD_ROOT
cd wownero
./build-all-arch.sh
orig_path=$PATH
base_dir=`pwd`
build_root=$EXTERNAL_LIBS_BUILD_ROOT
build_type=release # or debug
archs=(arm arm64 x86_64)
for arch in ${archs[@]}; do
ldflags=""
extra_cmake_flags=""
case ${arch} in
"arm")
target_host=arm-linux-androideabi
ldflags="-march=armv7-a -Wl,--fix-cortex-a8"
xarch=armv7-a
sixtyfour=OFF
extra_cmake_flags="-D NO_AES=true"
;;
"arm64")
target_host=aarch64-linux-android
xarch="armv8-a"
sixtyfour=ON
;;
"x86_64")
target_host=x86_64-linux-android
xarch="x86-64"
sixtyfour=ON
;;
*)
exit 16
;;
esac
OUTPUT_DIR=$base_dir/build/$build_type.$arch
mkdir -p $OUTPUT_DIR
cd $OUTPUT_DIR
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH \
CC=clang CXX=clang++ \
CMAKE_LIBRARY_PATH=$build_root/build/libsodium/$arch/lib \
cmake \
-D ANDROID=true \
-D ARCH="$xarch" \
-D BOOST_LIBRARYDIR=$build_root/build/boost/$arch/lib \
-D BOOST_ROOT=$build_root/build/boost/$arch \
-D BUILD_64=$sixtyfour \
-D BUILD_GUI_DEPS=1 \
-D BUILD_TAG="android" \
-D BUILD_TESTS=OFF \
-D CMAKE_BUILD_TYPE=$build_type \
-D CMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
-D FORCE_USE_HEAP=1 \
-D OPENSSL_CRYPTO_LIBRARY=$build_root/build/openssl/$arch/lib/libcrypto.so \
-D OPENSSL_INCLUDE_DIR=$build_root/build/openssl/$arch/include \
-D OPENSSL_ROOT_DIR=$build_root/build/openssl/$arch \
-D OPENSSL_SSL_LIBRARY=$build_root/build/openssl/$arch/lib/libssl.so \
-D LIBSODIUM_INCLUDE_DIR=$build_root/build/libsodium/$arch/include \
-D STATIC=ON \
$extra_cmake_flags \
../..
make -j $NPROC wallet_api
find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
TARGET_LIB_DIR=$build_root/build/monero/$arch/lib
rm -rf $TARGET_LIB_DIR
mkdir -p $TARGET_LIB_DIR
cp $OUTPUT_DIR/lib/*.a $TARGET_LIB_DIR
TARGET_INC_DIR=$build_root/build/monero/include
rm -rf $TARGET_INC_DIR
mkdir -p $TARGET_INC_DIR
cp -a ../../src/wallet/api/wallet2_api.h $TARGET_INC_DIR
cd $base_dir
done
exit 0

@ -4,8 +4,6 @@ set -e
source script/build-external-libs/env.sh
cp script/build-external-libs/wownero/build-all-arch.sh $EXTERNAL_LIBS_BUILD_ROOT/wownero
cd $EXTERNAL_LIBS_BUILD_ROOT
cd wownero

@ -1,90 +0,0 @@
#!/bin/bash
set -e
orig_path=$PATH
base_dir=`pwd`
build_root=$EXTERNAL_LIBS_BUILD_ROOT
build_type=release # or debug
archs=(arm arm64 x86_64)
for arch in ${archs[@]}; do
ldflags=""
extra_cmake_flags=""
case ${arch} in
"arm")
target_host=arm-linux-androideabi
ldflags="-march=armv7-a -Wl,--fix-cortex-a8"
xarch=armv7-a
sixtyfour=OFF
extra_cmake_flags="-D NO_AES=true"
;;
"arm64")
target_host=aarch64-linux-android
xarch="armv8-a"
sixtyfour=ON
;;
"x86")
target_host=i686-linux-android
xarch="i686"
sixtyfour=OFF
;;
"x86_64")
target_host=x86_64-linux-android
xarch="x86-64"
sixtyfour=ON
;;
*)
exit 16
;;
esac
OUTPUT_DIR=$base_dir/build/$build_type.$arch
mkdir -p $OUTPUT_DIR
cd $OUTPUT_DIR
PATH=$build_root/tool/$arch/$target_host/bin:$build_root/tool/$arch/bin:$PATH \
CC=clang CXX=clang++ \
CMAKE_LIBRARY_PATH=$build_root/build/libsodium/$arch/lib \
cmake \
-D ANDROID=true \
-D ARCH="$xarch" \
-D BOOST_LIBRARYDIR=$build_root/build/boost/$arch/lib \
-D BOOST_ROOT=$build_root/build/boost/$arch \
-D BUILD_64=$sixtyfour \
-D BUILD_GUI_DEPS=1 \
-D BUILD_TAG="android" \
-D BUILD_TESTS=OFF \
-D CMAKE_BUILD_TYPE=$build_type \
-D CMAKE_POSITION_INDEPENDENT_CODE:BOOL=true \
-D FORCE_USE_HEAP=1 \
-D OPENSSL_CRYPTO_LIBRARY=$build_root/build/openssl/$arch/lib/libcrypto.so \
-D OPENSSL_INCLUDE_DIR=$build_root/build/openssl/$arch/include \
-D OPENSSL_ROOT_DIR=$build_root/build/openssl/$arch \
-D OPENSSL_SSL_LIBRARY=$build_root/build/openssl/$arch/lib/libssl.so \
-D LIBSODIUM_INCLUDE_DIR=$build_root/build/libsodium/$arch/include \
-D STATIC=ON \
$extra_cmake_flags \
../..
make -j $NPROC wallet_api
find . -path ./lib -prune -o -name '*.a' -exec cp '{}' lib \;
TARGET_LIB_DIR=$build_root/build/monero/$arch/lib
rm -rf $TARGET_LIB_DIR
mkdir -p $TARGET_LIB_DIR
cp $OUTPUT_DIR/lib/*.a $TARGET_LIB_DIR
TARGET_INC_DIR=$build_root/build/monero/include
rm -rf $TARGET_INC_DIR
mkdir -p $TARGET_INC_DIR
cp -a ../../src/wallet/api/wallet2_api.h $TARGET_INC_DIR
cd $base_dir
done
exit 0