#!/bin/sh set -x -e cd "$(dirname "$0")" NPROC="-j$(sysctl -n hw.logicalcpu)" MONERO_LIBS="" WOWNERO_LIBS="" MONEROC_RELEASE_DIR="../monero_c/release/monero" WOWNEROC_RELEASE_DIR="../monero_c/release/wownero" ../prepare_moneroc.sh # NOTE: -j1 is intentional. Otherwise you will run into weird behaviour on macos if [[ ! "x$USE_DOCKER" == "x" ]]; then for COIN in monero wownero; do pushd ../monero_c echo "unsupported!" exit 1 popd done else if [[ "x$1" == "xuniversal" ]]; then ARCHS=(x86_64 arm64) else ARCHS=$(uname -m) fi for COIN in monero wownero; do MONERO_LIBS="" WOWNERO_LIBS="" for ARCH in "${ARCHS[@]}"; do if [[ "$ARCH" == "arm64" ]]; then export HOMEBREW_PREFIX=/opt/homebrew HOST="aarch64-host-apple-darwin" else export HOMEBREW_PREFIX=/usr/local HOST="${ARCH}-host-apple-darwin" fi MONERO_LIBS="$MONERO_LIBS -arch ${ARCH} ${MONEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib" WOWNERO_LIBS="$WOWNERO_LIBS -arch ${ARCH} ${WOWNEROC_RELEASE_DIR}/${HOST}_libwallet2_api_c.dylib" if [[ ! $(uname -m) == $ARCH ]]; then PRC="arch -${ARCH}" else PRC="" fi pushd ../monero_c $PRC ./build_single.sh ${COIN} ${HOST} $NPROC unxz -f ./release/${COIN}/${HOST}_libwallet2_api_c.dylib.xz popd done done fi lipo -create ${MONERO_LIBS} -output "${MONEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib" lipo -create ${WOWNERO_LIBS} -output "${WOWNEROC_RELEASE_DIR}/host-apple-darwin_libwallet2_api_c.dylib"