diff options
| author | Mateusz Franik <47059999+Im-Beast@users.noreply.github.com> | 2024-12-19 13:19:33 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-19 13:19:33 +0100 |
| commit | 10c0df93ff92c2001ed5aa2b22e5db85ab91242e (patch) | |
| tree | c08ce2f21126bd956b118aa4908d9a69d79b3e7f /build_single.sh | |
| parent | 7d8db85942194fc7576d58beb7a4dc65e415a56b (diff) | |
| parent | 2a38bf29618a8ce163f9d6f83b7ae86924752e32 (diff) | |
Merge branch 'develop' into tests-other-platforms
Diffstat (limited to 'build_single.sh')
| -rwxr-xr-x | build_single.sh | 354 |
1 files changed, 10 insertions, 344 deletions
diff --git a/build_single.sh b/build_single.sh index 4f0c5ad..f868f98 100755 --- a/build_single.sh +++ b/build_single.sh @@ -28,6 +28,7 @@ if [[ "x$repo" != "xwownero" && "x$repo" != "xmonero" ]]; then echo "Usage: $0 monero/wownero $(gcc -dumpmachine) -j$proccount" echo "Invalid target given, only monero and wownero are supported targets" + exit 1 fi if [[ ! -d "$repo" ]] @@ -53,354 +54,18 @@ then fi cd $(dirname $0) WDIR=$PWD -CC="" -CXX="" -case "$HOST_ABI" in - "x86_64-linux-gnu") - export CC="${HOST_ABI}-gcc" - export CXX="${HOST_ABI}-g++" - ;; - "i686-linux-gnu") - export CC="${HOST_ABI}-gcc" - export CXX="${HOST_ABI}-g++" - ;; - "i686-meego-linux-gnu") - # sanity checks, we should only run on native cpu - if [[ ! "$(uname -m)" == "x86_64" ]]; - then - echo "${HOST_ABI} builds are only supported on x86_64 host." - exit 1 - fi - # we also only support sailfishos linux - source /etc/os-release - if [[ ! "$ID" == "sailfishos" ]]; - then - echo "${HOST_ABI} builds are only supported on sailfishos host." - exit 1 - fi - export CC="${HOST_ABI}-gcc" - export CXX="${HOST_ABI}-g++" - ;; - "aarch64-linux-gnu") - export CC="${HOST_ABI}-gcc" - export CXX="${HOST_ABI}-g++" - ;; - "aarch64-meego-linux-gnu") - # sanity checks, we should only run on native cpu - if [[ ! "$(uname -m)" == "aarch64" ]]; - then - echo "${HOST_ABI} builds are only supported on aarch64 host." - exit 1 - fi - # we also only support sailfishos linux - source /etc/os-release - if [[ ! "$ID" == "sailfishos" ]]; - then - echo "${HOST_ABI} builds are only supported on sailfishos host." - exit 1 - fi - export CC="${HOST_ABI}-gcc" - export CXX="${HOST_ABI}-g++" - ;; - "x86_64-linux-android") - export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH" - export CC=x86_64-linux-android21-clang - export CXX=x86_64-linux-android21-clang++ - ;; - "i686-linux-android") - export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH" - export CC=i686-linux-android21-clang - export CXX=i686-linux-android21-clang++ - ;; - "aarch64-linux-android") - export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH" - export CC=aarch64-linux-android21-clang - export CXX=aarch64-linux-android21-clang++ - ;; - "armv7a-linux-androideabi") - export PATH="$WDIR/$repo/contrib/depends/${HOST_ABI}/native/bin/:$PATH" - export CC=armv7a-linux-androideabi21-clang - export CXX=armv7a-linux-androideabi21-clang++ - ;; - "i686-w64-mingw32") - update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - export CC=i686-w64-mingw32-gcc-posix - export CXX=i686-w64-mingw32-g++-posix - ;; - "x86_64-w64-mingw32") - $SUDO update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - $SUDO update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix - export CC=x86_64-w64-mingw32-gcc-posix - export CXX=x86_64-w64-mingw32-g++-posix - ;; - "x86_64-apple-darwin11") - export PATH="$WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/bin:$PATH" - export CC="clang -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.14 --sysroot $WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B$WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-" - export CXX="clang++ -stdlib=libc++ -target x86_64-apple-darwin11 -mmacosx-version-min=10.14 --sysroot $WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/SDK/ -mlinker-version=609 -B$WDIR/$repo/contrib/depends/x86_64-apple-darwin11/native/bin/x86_64-apple-darwin11-" - ;; - "aarch64-apple-darwin11") - export PATH="$WDIR/$repo/contrib/depends/aarch64-apple-darwin11/native/bin:$PATH" - export CC="clang -stdlib=libc++ -target arm64-apple-darwin11 -mmacosx-version-min=10.14 --sysroot $WDIR/$repo/contrib/depends/aarch64-apple-darwin11/native/SDK/ -mlinker-version=609 -B$WDIR/$repo/contrib/depends/aarch64-apple-darwin11/native/bin/aarch64-apple-darwin11-" - export CXX="clang++ -stdlib=libc++ -target arm64-apple-darwin11 -mmacosx-version-min=10.14 --sysroot $WDIR/$repo/contrib/depends/aarch64-apple-darwin11/native/SDK/ -mlinker-version=609 -B$WDIR/$repo/contrib/depends/aarch64-apple-darwin11/native/bin/aarch64-apple-darwin11-" - ;; - "host-apple-darwin"|"x86_64-host-apple-darwin"|"aarch64-host-apple-darwin") - export CC="clang" - export CXX="clang++" - ;; - "host-apple-ios") - export IOS_CC="clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" - export IOS_CXX="clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk" - ;; - *) - echo "Unsupported target." - exit 1 - ;; -esac -pushd $repo/contrib/depends - case "$HOST_ABI" in - "x86_64-linux-gnu" | "i686-linux-gnu" | "i686-meego-linux-gnu" | "aarch64-linux-gnu" | "aarch64-meego-linux-gnu" | "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11") - env -i PATH="$PATH" CC=gcc CXX=g++ make HOST="$HOST_ABI" "$NPROC" - ;; - "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin") - echo "====================================" - echo "= =" - echo "= CHECK README.md IF BUILD FAILS =" - echo "= =" - echo "====================================" - echo "WARN: using host dependencies on macos." - POLYSEED_DIR=../../../external/polyseed/build/${HOST_ABI} - rm -rf ${POLYSEED_DIR} - mkdir -p ${POLYSEED_DIR} - pushd ${POLYSEED_DIR} - CC="${CC}" CXX="${CXX}" cmake ../.. - make $NPROC - popd - if [[ "$repo" == "wownero" ]]; - then - WOWNEROSEED_DIR=../../../external/wownero-seed/build/${HOST_ABI} - rm -rf ${WOWNEROSEED_DIR} - mkdir -p ${WOWNEROSEED_DIR} - pushd ${WOWNEROSEED_DIR} - pushd ../.. - git reset --hard - patch -p1 < ../wownero-seed-0001-fix-duplicate-symbol-error.patch - popd - CC="${CC}" CXX="${CXX}" cmake ../.. - make $NPROC - popd - fi - MACOS_LIBS_DIR="${PWD}/${HOST_ABI}" - rm -rf ${MACOS_LIBS_DIR} - mkdir -p ${MACOS_LIBS_DIR}/lib - if [[ "$(uname -m)" == "arm64" ]]; - then - export HOMEBREW_PREFIX="/opt/homebrew" - elif [[ "$(uname -m)" == "x86_64" ]]; - then - export HOMEBREW_PREFIX="/usr/local" - fi - pushd ../../../external/macos - ./build_unbound.sh - popd - # NOTE: we can use unbound from brew but app store rejects the app because of nghttp2 symbols being included - # verbose_copy "${HOMEBREW_PREFIX}/lib/libunbound.a" ${MACOS_LIBS_DIR}/lib/libunbound.a - verbose_copy "../../../external/macos/build/MACOS/lib/libunbound.a" ${MACOS_LIBS_DIR}/lib/libunbound.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_chrono-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_chrono-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_locale-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_locale-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_date_time-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_date_time-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_filesystem-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_filesystem-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_program_options-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_program_options-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_regex-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_regex-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_serialization-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_serialization-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_system-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_system-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_thread-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_thread-mt.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libboost_wserialization-mt.a" ${MACOS_LIBS_DIR}/lib/libboost_wserialization-mt.a - verbose_copy "${POLYSEED_DIR}/libpolyseed.a" ${MACOS_LIBS_DIR}/lib/libpolyseed.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libssl.a" ${MACOS_LIBS_DIR}/lib/libssl.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libcrypto.a" ${MACOS_LIBS_DIR}/lib/libcrypto.a - verbose_copy "${HOMEBREW_PREFIX}/lib/libsodium.a" ${MACOS_LIBS_DIR}/lib/libsodium.a - if [[ "$repo" == "wownero" ]]; - then - verbose_copy "${WOWNEROSEED_DIR}/libwownero-seed.a" ${MACOS_LIBS_DIR}/lib/libwownero-seed.a - fi - ;; - "host-apple-ios") - echo "====================================" - echo "= =" - echo "= CHECK README.md IF BUILD FAILS =" - echo "= =" - echo "====================================" - pwd - pushd ../../../external/ios - ./install_missing_headers.sh - ./build_openssl.sh - ./build_boost.sh - ./build_sodium.sh - ./build_zmq.sh - ./build_unbound.sh - if [[ "$repo" == "wownero" ]]; - then - ./build_wownero_seed.sh - fi - popd - POLYSEED_DIR=../../../external/polyseed/build/${HOST_ABI} - rm -rf ${POLYSEED_DIR} - mkdir -p ${POLYSEED_DIR} - pushd ${POLYSEED_DIR} - CC="${IOS_CC}" CXX="${IOS_CXX}" cmake -DCMAKE_TOOLCHAIN_FILE=../../../ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64 ../.. - make $NPROC - popd - if [[ "$repo" == "wownero" ]]; - then - WOWNEROSEED_DIR=../../../external/wownero-seed/build/${HOST_ABI} - rm -rf ${WOWNEROSEED_DIR} - mkdir -p ${WOWNEROSEED_DIR} - pushd ${WOWNEROSEED_DIR} - pushd ../.. - git reset --hard - patch -p1 < ../wownero-seed-0001-fix-duplicate-symbol-error.patch - popd - CC="${CC}" CXX="${CXX}" cmake -DCMAKE_TOOLCHAIN_FILE=../../../ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64 ../.. - make $NPROC - popd - fi - IOS_LIBS_DIR="${PWD}/host-apple-ios" - rm -rf ${IOS_LIBS_DIR} - mkdir -p ${IOS_LIBS_DIR}/lib - export IOS_PREFIX="$(realpath "${PWD}/../../../external/ios/build/ios")" - verbose_copy "${IOS_PREFIX}/lib/libunbound.a" ${IOS_LIBS_DIR}/lib/libunbound.a - verbose_copy "${IOS_PREFIX}/lib/libboost_chrono.a" ${IOS_LIBS_DIR}/lib/libboost_chrono.a - verbose_copy "${IOS_PREFIX}/lib/libboost_locale.a" ${IOS_LIBS_DIR}/lib/libboost_locale.a - verbose_copy "${IOS_PREFIX}/lib/libboost_date_time.a" ${IOS_LIBS_DIR}/lib/libboost_date_time.a - verbose_copy "${IOS_PREFIX}/lib/libboost_filesystem.a" ${IOS_LIBS_DIR}/lib/libboost_filesystem.a - verbose_copy "${IOS_PREFIX}/lib/libboost_program_options.a" ${IOS_LIBS_DIR}/lib/libboost_program_options.a - verbose_copy "${IOS_PREFIX}/lib/libboost_regex.a" ${IOS_LIBS_DIR}/lib/libboost_regex.a - verbose_copy "${IOS_PREFIX}/lib/libboost_serialization.a" ${IOS_LIBS_DIR}/lib/libboost_serialization.a - verbose_copy "${IOS_PREFIX}/lib/libboost_system.a" ${IOS_LIBS_DIR}/lib/libboost_system.a - verbose_copy "${IOS_PREFIX}/lib/libboost_thread.a" ${IOS_LIBS_DIR}/lib/libboost_thread.a - verbose_copy "${IOS_PREFIX}/lib/libboost_wserialization.a" ${IOS_LIBS_DIR}/lib/libboost_wserialization.a - verbose_copy "${POLYSEED_DIR}/libpolyseed.a" ${IOS_LIBS_DIR}/lib/libpolyseed.a - verbose_copy "${IOS_PREFIX}/lib/libssl.a" ${IOS_LIBS_DIR}/lib/libssl.a - verbose_copy "${IOS_PREFIX}/lib/libcrypto.a" ${IOS_LIBS_DIR}/lib/libcrypto.a - verbose_copy "${IOS_PREFIX}/lib/libsodium.a" ${IOS_LIBS_DIR}/lib/libsodium.a - if [[ "$repo" == "wownero" ]]; - then - verbose_copy "${WOWNEROSEED_DIR}/libwownero-seed.a" ${IOS_LIBS_DIR}/lib/libwownero-seed.a - fi - # verbose_copy "${IOS_PREFIX}/lib/libevent.a" ${IOS_LIBS_DIR}/lib/libevent.a - ;; - *) - echo "Unable to build dependencies for '$HOST_ABI'." - exit 1 - ;; - esac +pushd contrib/depends + env -i PATH="$PATH" CC=gcc CXX=g++ make "$NPROC" HOST="$HOST_ABI" popd buildType=Debug -rm -rf $repo/build/${HOST_ABI} 2>/dev/null || true -mkdir -p $repo/build/${HOST_ABI} -pushd $repo/build/${HOST_ABI} - case "$HOST_ABI" in - "x86_64-linux-gnu") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="x86-64" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x64" -D CMAKE_SYSTEM_NAME="Linux" ../.. - ;; - "i686-linux-gnu") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="i686" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x86" -D CMAKE_SYSTEM_NAME="Linux" ../.. - ;; - "i686-meego-linux-gnu") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="i686" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-x86" -D CMAKE_SYSTEM_NAME="Linux" ../.. - ;; - "aarch64-linux-gnu") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-armv8" -D CMAKE_SYSTEM_NAME="Linux" ../.. - ;; - "aarch64-meego-linux-gnu") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=false -D BUILD_TAG="linux-armv8" -D CMAKE_SYSTEM_NAME="Linux" ../.. - ;; - "x86_64-linux-android") - env CC="${CC}" CXX="${CXX}" cmake -DMONERO_WALLET_CRYPTO_LIBRARY=amd64-64-24k -DHIDAPI_DUMMY=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="x86-64" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-x86_64" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="x86_64" ../.. - ;; - "i686-linux-android") - env CC="${CC}" CXX="${CXX}" cmake -DHIDAPI_DUMMY=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="x86" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-x86" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="x86" ../.. - ;; - "aarch64-linux-android") - env CC="${CC}" CXX="${CXX}" cmake -DHIDAPI_DUMMY=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64="ON" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-armv8" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="arm64-v8a" ../.. - ;; - "armv7a-linux-androideabi") - env CC="${CC}" CXX="${CXX}" cmake -DHIDAPI_DUMMY=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_SYSTEM_VERSION=1 -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64="OFF" -D CMAKE_BUILD_TYPE=$buildType -D ANDROID=true -D BUILD_TAG="android-armv7" -D CMAKE_SYSTEM_NAME="Android" -D CMAKE_ANDROID_ARCH_ABI="armeabi-v7a" ../.. - ;; - "x86_64-w64-mingw32") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=$buildType -D BUILD_TAG="win-x64" ../.. - ;; - "i686-w64-mingw32") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=$buildType -D BUILD_TAG="win-x32" ../.. - ;; - "x86_64-apple-darwin11") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=$buildType -D BUILD_TAG="mac-x64" ../.. - ;; - "aarch64-apple-darwin11") - env CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_TOOLCHAIN_FILE=$PWD/../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D STATIC=ON -D ARCH="armv8-a" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=$buildType -D BUILD_TAG="mac-armv8" ../.. - ;; - "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin") - PREFIX="$(realpath "${PWD}/../../../external/macos/build/MACOS")" - env \ - CMAKE_INCLUDE_PATH="${PREFIX}/include" \ - CMAKE_LIBRARY_PATH="${PREFIX}/lib" \ - CC="${CC}" CXX="${CXX}" cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -D USE_DEVICE_TREZOR=OFF -D BUILD_GUI_DEPS=1 -D BUILD_TESTS=OFF -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=$buildType ../.. - ;; - "host-apple-ios") - PREFIX="$(realpath "${PWD}/../../../external/ios/build/ios")" - # echo $PREFIX - # exit 1 - env \ - CMAKE_INCLUDE_PATH="${PREFIX}/include" \ - CMAKE_LIBRARY_PATH="${PREFIX}/lib" \ - CC="${IOS_CC}" CXX="${IOS_CXX}" cmake -DHIDAPI_DUMMY=ON -D IOS=ON -D ARCH=arm64 -D CMAKE_BUILD_DYPE=$buildType -D STATIC=ON -D BUILD_GUI_DEPS=1 -D UNBOUND_INCLUDE_DIR="${PREFIX}/lib" ../.. - ;; - *) - echo "we don't know how to compile monero for '$HOST_ABI'" - exit 1 - ;; - esac - CC=gcc CXX=g++ make wallet_api $NPROC -popd - -# Special treatment for apple -if [[ "${HOST_ABI}" == "x86_64-apple-darwin11" || "${HOST_ABI}" == "aarch64-apple-darwin11" ]]; -then - ${HOST_ABI}-ranlib $PWD/$repo/contrib/depends/${HOST_ABI}/lib/libpolyseed.a - if [[ "$repo" == "wownero" ]]; - then - ${HOST_ABI}-ranlib $PWD/$repo/contrib/depends/${HOST_ABI}/lib/libwownero-seed.a - fi -fi - pushd ${repo}_libwallet2_api_c rm -rf build/${HOST_ABI} || true mkdir -p build/${HOST_ABI} -p pushd build/${HOST_ABI} - case $HOST_ABI in - "x86_64-linux-gnu" | "i686-linux-gnu" | "i686-meego-linux-gnu" | "aarch64-linux-gnu" | "aarch64-meego-linux-gnu" | "i686-w64-mingw32" | "x86_64-w64-mingw32" | "x86_64-apple-darwin11" | "aarch64-apple-darwin11" | "host-apple-darwin" | "x86_64-host-apple-darwin" | "aarch64-host-apple-darwin") - echo $CC - env CC="${CC}" CXX="${CXX}" cmake -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../.. - CC="${CC}" CXX="${CXX}" make $NPROC - ;; - "x86_64-linux-android" | "i686-linux-android" | "aarch64-linux-android" | "armv7a-linux-androideabi") - echo $CC - env CC="${CC}" CXX="${CXX}" cmake -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../.. - CC="${CC}" CXX="${CXX}" make $NPROC - ;; - "host-apple-ios") - export -n CC CXX - CC=clang CXX=clang++ cmake -DCMAKE_TOOLCHAIN_FILE=../../../external/ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64 -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../.. - CC=clang CXX=clang++ make $NPROC - ;; - *) - echo "Unable to build ${repo}_libwallet2_api_c for ${HOST_ABI}" - exit 1 - ;; - esac + cmake -DCMAKE_TOOLCHAIN_FILE=$PWD/../../../contrib/depends/${HOST_ABI}/share/toolchain.cmake -DUSE_DEVICE_TREZOR=OFF -DMONERO_FLAVOR=$repo -DCMAKE_BUILD_TYPE=Debug -DHOST_ABI=${HOST_ABI} ../.. + make $NPROC popd popd @@ -409,11 +74,12 @@ pushd release/$repo APPENDIX="" if [[ "${HOST_ABI}" == "x86_64-w64-mingw32" || "${HOST_ABI}" == "i686-w64-mingw32" ]]; then + echo "TODO: check if it's still needed" APPENDIX="${APPENDIX}dll" - cp ../../$repo/build/${HOST_ABI}/external/polyseed/libpolyseed.${APPENDIX} ${HOST_ABI}_libpolyseed.${APPENDIX} - rm ${HOST_ABI}_libpolyseed.${APPENDIX}.xz || true - xz -e ${HOST_ABI}_libpolyseed.${APPENDIX} - elif [[ "${HOST_ABI}" == "x86_64-apple-darwin11" || "${HOST_ABI}" == "aarch64-apple-darwin11" || "${HOST_ABI}" == "host-apple-darwin" || "${HOST_ABI}" == "x86_64-host-apple-darwin" || "${HOST_ABI}" == "aarch64-host-apple-darwin" || "${HOST_ABI}" == "host-apple-ios" ]]; + # cp ../../$repo/build/${HOST_ABI}/external/polyseed/libpolyseed.${APPENDIX} ${HOST_ABI}_libpolyseed.${APPENDIX} + # rm ${HOST_ABI}_libpolyseed.${APPENDIX}.xz || true + # xz -e ${HOST_ABI}_libpolyseed.${APPENDIX} + elif [[ "${HOST_ABI}" == "x86_64-apple-darwin11" || "${HOST_ABI}" == "aarch64-apple-darwin11" || "${HOST_ABI}" == "host-apple-darwin" || "${HOST_ABI}" == "x86_64-host-apple-darwin" || "${HOST_ABI}" == "aarch64-apple-darwin" || "${HOST_ABI}" == "x86_64-apple-darwin" || "${HOST_ABI}" == "host-apple-ios" || "${HOST_ABI}" == "aarch64-apple-ios" ]]; then APPENDIX="${APPENDIX}dylib" else |
