Build universal binaries (arm64 + x86_64) with modern Xcode#8
Build universal binaries (arm64 + x86_64) with modern Xcode#8eighteight wants to merge 4 commits into
Conversation
- Remove VALID_ARCHS = "i386 x86_64" from both app projects: it filtered arm64 out of ARCHS, so builds were Intel-only - Use $(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET) instead of 10.9, matching Syphon-Framework; targeting 10.9 no longer builds on current Xcode (libarclite was removed in Xcode 14.3) - Add LD_RUNPATH_SEARCH_PATHS = @loader_path/../Frameworks to the app targets: current Syphon-Framework uses an @rpath install name, and without a runpath the apps crash at launch (no LC_RPATH's found) - Bump the Syphon-Framework submodule to current master Fixes Syphon#7 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Added a follow-up commit for Simple Client: rebuilding with a modern SDK broke the toolbar — 🤖 Generated with Claude Code |
2b624d9 to
2ae2344
Compare
Two regressions appear when the app is rebuilt with a macOS 11+ SDK: - NSToolbarItem no longer derives its size from a custom view's frame, so the view-based items (server menu, status box) collapse to zero size and vanish into the toolbar overflow menu. Pin the views to their nib sizes with explicit constraints, as old SDKs did implicitly. - Windows default to the compact unified toolbar style; opt into the classic expanded layout to preserve the app's original appearance. Also give the server menu's overflow representation a title. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Awesome, thank you! Ill review this shortly! Much obliged! |
|
One more commit: Simple Server now draws a rotating wheel again. The original app animated a bundled Quartz Composer composition; since the QC dependency was removed the renderer had been a pulsing clear color with a 🤖 Generated with Claude Code |
The original Simple Server rendered an animated dial from a bundled Quartz Composer composition; when the QC dependency was removed the renderer became a pulsing clear color, leaving the TODO for a more interesting animation. Draw a wheel in its spirit with OpenGL 3.2 Core: an outer ring carrying three arrows, a counter-rotating inner ring, a central disc, a slowly turning diameter and an orbiting dot. Animation time is measured from renderer start, as GPU sin/cos degrade on huge absolute timestamps. Fixes Syphon#4 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Ha - lets pause on that last one - keep the issue focused - at some point soon we're going to re-introduce the full Syphon icon render via https://fabric.graphics :) |
Server menu at the left, status box beside it — as the app has always looked. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
NP |
Closes #7.
The Simple apps currently build Intel-only (and fail to build at all with recent Xcode). This PR makes both apps build and run as universal binaries out of the box.
Changes
VALID_ARCHS = "i386 x86_64"from both app projects. This setting filtered arm64 out ofARCHS, so builds on Apple Silicon were Intel-only. With it removed, Xcode's standard architectures apply (arm64 + x86_64 on current toolchains).MACOSX_DEPLOYMENT_TARGET = 10.9→$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)in both app projects, matching what Syphon-Framework already does on master. Targeting 10.9 no longer compiles with current Xcode (libarclite was removed in Xcode 14.3).LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks"to the app targets. Current Syphon-Framework uses an@rpathinstall name; without a runpath entry the apps crash at launch withLibrary not loaded … no LC_RPATH's found.ef72eff(2022) to current master (71351d4). Note: building the framework now requires Xcode's Metal toolchain component (xcodebuild -downloadComponent MetalToolchain).Verification
Built with Xcode 26.6 on an Apple Silicon Mac (macOS 26):
lipo -archson both app executables and the embedded Syphon.framework:x86_64 arm64arch -x86_64) to exercise the Intel slice — both run cleanly🤖 Generated with Claude Code