iphonesim HXCPP_ARM64: distinct LIBEXTRA/objdir, arm64 dll linker (follow-up to 3668203c) - #1343
Open
AxGord wants to merge 5 commits into
Open
iphonesim HXCPP_ARM64: distinct LIBEXTRA/objdir, arm64 dll linker (follow-up to 3668203c)#1343AxGord wants to merge 5 commits into
AxGord wants to merge 5 commits into
Conversation
tobil4sk
reviewed
May 14, 2026
Per review feedback: -isysroot and its SDK path are identical in both ARM64 and x86_64/i386 sections, move them out to avoid duplication. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
MRK2009
approved these changes
May 15, 2026
MRK2009
left a comment
There was a problem hiding this comment.
Now it's much better, I think it would be cool if ARM64 support for iOS simulator going to be implemented in lime.
tobil4sk
reviewed
Jul 15, 2026
|
This commit causes the pr have merge conflicts |
Author
|
Conflicts resolved — merged master in (fc373fe). Since 3668203 implements the arm64 simulator compiler flags upstream (thanks!), I dropped this branch's equivalent |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rescoped after 3668203 — the core arm64 iOS simulator support
(
-arch arm64+-mios-simulator-version-min) landed upstream in3668203, which supersedes the compiler-flag part of this PR. Upstream
master has been merged in and this branch's equivalent
-targettriplesections were dropped in favor of upstream's approach.
What remains (8 insertions, 5 deletions across 2 files):
LIBEXTRAfor arm64-sim (finish-setup.xml): withHXCPP_ARM64set, simulator libs currently get the plain.iphonesimsuffix — colliding with the i386 name. This PR names them
.iphonesim-arm64so arm64/x86_64/i386 simulator binaries can coexist(matters for multi-slice workflows and for Lime's NDLL naming).
iphonesim-toolchain.xml): all simulator archscurrently share
obj/iphonesim/; switching arch without a cleanrebuild mixes object files. arm64-sim gets
obj/iphonesim…-arm64/.iphonesim-toolchain.xml): thedlllinkerstill only emits
-arch i386/-arch x86_64— withHXCPP_ARM64itproduces an i386 dylib. Rarely hit (sim builds are
static_linkbydefault), but wrong; this adds the
arm64case with the sameif/unlessguards as the compiler.With
HXCPP_ARM64unset, everything is byte-identical to master.We've been carrying arm64-sim support in our
soccertutor/hxcppfork for~1.5 years, used in production OpenFL+AIR apps that ship to iPad; built
and tested on Apple Silicon (M1 Pro) against Xcode 15/16 SDKs, iOS
simulator runtimes 16/17/18.
xmllint --nooutconfirms both files arewell-formed.
Use
Context for follow-up
This is the foundation for an Apple Silicon support PR queued for
openfl/lime(NDLL fallback chain, auto-OpenAL backend selection),which keys off the arm64-sim
LIBEXTRAnaming.Original PR description (pre-3668203c)
The original scope added full arm64 simulator support via
-target arm64-apple-ios${version}-simulatorcompiler flags, separateLIBEXTRA/objdir, and the dll linker arch. The compiler-flag half wasimplemented upstream independently in 3668203 using
-arch arm64+-mios-simulator-version-min, which achieves the samecorrect
LC_BUILD_VERSIONsimulator platform marking.