Add support for macOS 14, 15, and future darwin versions - #64
Add support for macOS 14, 15, and future darwin versions#64tobiashochguertel wants to merge 1 commit into
Conversation
- Added darwin23 (macOS 14) and darwin24 (macOS 15) specific cases - Added darwin2* wildcard pattern to support future macOS versions - Maintains backward compatibility with all previous macOS versions - Uses modern SDK path and supports both x86_64 and arm64 architectures This fix resolves build errors on macOS 15 (darwin25) and ensures forward compatibility with future macOS releases.
|
This fix has been tested and verified working on macOS 15 (darwin25.1.0). The wildcard pattern approach ensures that future macOS versions (darwin26, darwin27, etc.) will work without requiring additional code changes. The changes are minimal and surgical - only updating the |
There was a problem hiding this comment.
Pull Request Overview
This PR adds support for macOS Sonoma (darwin23) and macOS Sequoia (darwin24), along with a catch-all pattern for future macOS versions in the darwin2X family. The changes update the autoconf macros to properly configure SDK paths, architecture flags, and deployment targets for these newer operating systems.
- Adds darwin23 (macOS 14 Sonoma) and darwin24 (macOS 15 Sequoia) support
- Includes darwin2* catch-all patterns to handle future macOS versions (darwin25+)
- Sets deployment targets to 14 for darwin23 and 15 for darwin24/darwin25+
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
DUTI_CHECK_DEPLOYMENT_TARGET mapped each darwin release to its own OS version, so a binary built on macOS 26 carried minos 26.0 and would not run anywhere else, and every macOS release needed a new case or configure failed with "not a supported system". Collapse darwin20 and later to a single darwin2* case in both macros: the SDK is always MacOSX.sdk with x86_64 + arm64 (the darwin2* idea comes from upstream PR moretension#64), and the deployment target is a fixed 11 -- the floor imposed by the arm64 slice, not by the source, which calls no Launch Services or UTType API newer than 10.5. Verified on macOS 26 / SDK 26.5: builds with only the expected -Wdeprecated-declarations warnings and yields a 2-architecture binary with minos 11.0. Pre-darwin20 cases and --with-macosx-deployment-target are untouched.
Problem
The build system currently fails on macOS 15 (darwin25) with the error:
Solution
This PR updates
aclocal.m4to add support for:Changes
darwin2*to support future macOS versions without requiring code changesMacOSX.sdk) and supports both x86_64 and arm64 architecturesTesting
Successfully built and tested on macOS 15 (darwin25.1.0):
autoreconf -i ./configure make ./duti -x html # Works correctlyThe fix ensures forward compatibility while maintaining backward compatibility with older macOS versions.