#!/bin/sh set -e cd /p2pool git fetch --jobs=$(nproc) git checkout $2 git submodule update --recursive --jobs $(nproc) export TZ=UTC0 BUILD_TIMESTAMP=$(git show --no-patch --format=%ct $2) CURRENT_DATE=$(date -u -d @$BUILD_TIMESTAMP +"%Y-%m-%d") CURRENT_TIME=$(date -u -d @$BUILD_TIMESTAMP +"%H:%M:%S") TOUCH_DATE=$(date -u -d @$BUILD_TIMESTAMP +"%Y%m%d%H%M.%S") flags_size="" flags_datetime="-D__DATE__=\"\\\"$CURRENT_DATE\\\"\" -D__TIME__=\"\\\"$CURRENT_TIME\\\"\" -Wno-builtin-macro-redefined" flags_libs="-Os -flto -w $flags_size $flags_datetime" flags_p2pool="$flags_size $flags_datetime" clang_bin="$(command -v aarch64-apple-darwin25-clang || true)" clangxx_bin="$(command -v aarch64-apple-darwin25-clang++ || true)" clangas_bin="$(command -v aarch64-apple-darwin25-as || true)" if [ -z "$clang_bin" ] || [ -z "$clangxx_bin" ] || [ -z "$clangas_bin" ]; then echo "macOS cross toolchain binaries not found in PATH" >&2 exit 1 fi find_macos_sdk() { if [ -n "${SDKROOT:-}" ] && [ -d "${SDKROOT:-}" ]; then echo "$SDKROOT" return 0 fi for base in /usr/local/target/SDK /usr/local/osxcross/target/SDK /osxcross/target/SDK; do if [ -d "$base" ]; then for candidate in "$base"/MacOSX*.sdk; do if [ -d "$candidate" ]; then echo "$candidate" return 0 fi done fi done find /usr/local -maxdepth 4 -name 'MacOSX*.sdk' -type d 2>/dev/null | head -n 1 } sdk_sysroot="$(find_macos_sdk)" if [ -z "$sdk_sysroot" ]; then echo "Unable to locate macOS SDK sysroot. Set SDKROOT to the SDK path." >&2 exit 1 fi export SDKROOT="$sdk_sysroot" cmake_osx_args="-DCMAKE_OSX_SYSROOT=$sdk_sysroot -DCMAKE_SYSROOT=$sdk_sysroot -DCMAKE_SYSTEM_FRAMEWORK_PATH=$sdk_sysroot/System/Library/Frameworks" wrap_compiler() { real_bin="$1" wrapper_path="$2" cat > "$wrapper_path" <