forked from IQ.Lvbs/IQ.Pilot
53 lines
1.6 KiB
Bash
Executable File
53 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Check SIP status if not building only
|
|
if [[ "$1" != "--build" ]]; then
|
|
SIP_STATUS=$(csrutil status 2>&1)
|
|
if [[ "$SIP_STATUS" == *"enabled"* ]]; then
|
|
echo "ERROR: System Integrity Protection (SIP) is enabled."
|
|
echo "This dev build requires SIP to be disabled to load unsigned dexts."
|
|
echo ""
|
|
echo "To disable SIP:"
|
|
echo " 1. Restart and hold Power button (M1+) or Cmd+R (Intel)"
|
|
echo " 2. Open Terminal from Recovery menu"
|
|
echo " 3. Run: csrutil disable"
|
|
echo " 4. Restart"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
echo "SIP is disabled, proceeding with dev build..."
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# Build without code signing
|
|
xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -alltargets -configuration Debug build
|
|
|
|
APP_PATH="./build/Debug/TinyGPU.app"
|
|
DEXT_PATH="$APP_PATH/Contents/Library/SystemExtensions/org.tinygrad.tinygpu.driver2.dext"
|
|
|
|
# Ad-hoc sign with dev entitlements (matches any GPU)
|
|
codesign --sign - --entitlements ./TinyGPUDriverExtension/TinyGPUDriver.NoSIP.entitlements --force --timestamp --verbose "$DEXT_PATH"
|
|
codesign --sign - --entitlements ./macOS/macOS.entitlements --force --timestamp --verbose "$APP_PATH"
|
|
|
|
echo "Build complete: $APP_PATH"
|
|
|
|
if [[ "$1" == "--build" ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Install
|
|
echo "Installing to /Applications..."
|
|
|
|
if [ -d "/Applications/TinyGPU.app" ]; then
|
|
echo "Removing existing /Applications/TinyGPU.app..."
|
|
rm -rf "/Applications/TinyGPU.app"
|
|
fi
|
|
|
|
cp -r "$APP_PATH" /Applications/
|
|
echo "Installed to /Applications/TinyGPU.app"
|
|
|
|
echo "Activating driver extension..."
|
|
/Applications/TinyGPU.app/Contents/MacOS/TinyGPU install
|