Files
ICCery-CPU/Scripts/make_universal.sh
T
Local Admin 43bff18101
Build macOS Packages / Build macOS (Intel) (push) Failing after 10s
Build macOS Packages / Build macOS (Apple Silicon) (push) Failing after 10s
Build macOS Packages / Build macOS (Universal) (push) Skipped
removed cruft and restructured.
2026-09-07 05:21:44 -07:00

39 lines
1.1 KiB
Bash

#!/bin/bash
# Lipo x86_64 + arm64 TargetPrint.app into a Universal 2 bundle.
# Usage: make_universal.sh [x86_app] [arm_app] [out_app]
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
X86_APP="${1:-$ROOT/build/apps/x86_64/TargetPrint.app}"
ARM_APP="${2:-$ROOT/build/apps/arm64/TargetPrint.app}"
OUT_APP="${3:-$ROOT/build/apps/universal/TargetPrint.app}"
test -d "$X86_APP"
test -d "$ARM_APP"
echo "==> Universal 2 from"
echo " x86_64: $X86_APP"
echo " arm64: $ARM_APP"
rm -rf "$OUT_APP"
mkdir -p "$(dirname "$OUT_APP")"
# Copy the arm64 bundle as the template (same resources), then replace the Mach-O.
cp -R "$ARM_APP" "$OUT_APP"
lipo -create \
"$X86_APP/Contents/MacOS/TargetPrint" \
"$ARM_APP/Contents/MacOS/TargetPrint" \
-output "$OUT_APP/Contents/MacOS/TargetPrint"
# shellcheck source=lib.sh
source "$(dirname "$0")/lib.sh"
sign_app "$OUT_APP" "$ROOT/TargetPrint.entitlements"
echo "==> lipo -info"
lipo -info "$OUT_APP/Contents/MacOS/TargetPrint"
ARCHS="$(lipo -archs "$OUT_APP/Contents/MacOS/TargetPrint")"
echo "$ARCHS" | grep -q x86_64
echo "$ARCHS" | grep -q arm64
echo "==> $OUT_APP"