New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ios] initial watch64_32 support #11691
Conversation
|
||
ios-target32_SYSROOT = $(ios_sysroot) | ||
ios-target32s_SYSROOT = $(ios_sysroot) | ||
ios-target64_SYSROOT = $(ios_sysroot) | ||
ios-targettv_SYSROOT = $(tvos_sysroot) | ||
ios-targetwatch_SYSROOT = $(watchos_sysroot) | ||
ios-targetwatch64_32_SYSROOT = $(watchos5_sysroot) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not quite happy with the naming here: watch64_32
gonna need at least watchOS 5.0, which is different to what watch
needs. Any suggestions?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd suggest naming it simply watch64.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@vargaz what will you name it when Apple releases a watch that does plain arm64 then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that ever happens, we can rename it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That'll be watch6464
. :)
$(eval $(call iOSDeviceTemplate,target64,aarch64-apple-darwin10,arm64)) | ||
$(eval $(call iOSDeviceTemplate,targettv,aarch64-apple-darwin10,arm64)) | ||
$(eval $(call iOSDeviceTemplate,targetwatch,armv7k-apple-darwin10,armv7k)) | ||
$(eval $(call iOSDeviceTemplate,targetwatch64_32,aarch64-apple-darwin10_ilp32,arm64_32)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@luhenry is the archive
target automatically going to pick up that new target?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The target fails on CI because it requires Xcode10, but we only have Xcode9 on the bots. So the answer is yes 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resolved by #12055
TARGET=ARM64; | ||
arch_target=arm64 | ||
AC_DEFINE(__mono_ilp32__, 1, [64 bit mode with 4 byte longs and pointers]) | ||
sizeof_register=8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The define was renamed in another PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, fixed.
|
||
ios-target32_CPPFLAGS = -DHOST_IOS | ||
ios-target32s_CPPFLAGS = -DHOST_IOS | ||
ios-target64_CPPFLAGS = -DHOST_IOS | ||
ios-targettv_CPPFLAGS = -DHOST_APPLETVOS -DTARGET_APPLETVOS | ||
ios-targetwatch_CPPFLAGS = -DHOST_IOS -DHOST_WATCHOS | ||
ios-targetwatch64_32_CPPFLAGS = -DHOST_IOS -DHOST_WATCHOS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Question related to the surrounding code instead of this PR: why does targettv_CPPFLAGS
not define HOST_IOS when both the iOS and watchOS versions do? And why doesn't the iOS and watchOS variables define a TARGET_* variable when the tvOS one does?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good question, I opened an issue: #11697
This doesn't work yet, as we need Xcode94 and Xcode10 on the bots. This requires changes in the build system so that Xcode94 is used for building 32bit macOS binaries, and Xcode10 otherwise. The bots are already in order:
|
sdks/builds/ios.mk
Outdated
|
||
ios-targettv_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm | ||
ios-targettv_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm | ||
ios-targetwatch_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm | ||
ios-targetwatch_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm | ||
ios-targetwatch64_32_CFLAGS = -fembed-bitcode -fno-gnu-inline-asm | ||
5os-targetwatch64_32_CXXFLAGS = -fembed-bitcode -fno-gnu-inline-asm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like typo
…it cross compilers. (mono#12055) Forward port of mono#10139 Needed for arm64_32 (mono#11691): We still need to build AOT compilers that are 32bit, which is only possible with Xcode9. However, arm64_32 needs Xcode10.
ready to be reviewed & merged |
@monojenkins build Windows x64 |
…it cross compilers. (mono#12055) Forward port of mono#10139 Needed for arm64_32 (mono#11691): We still need to build AOT compilers that are 32bit, which is only possible with Xcode9. However, arm64_32 needs Xcode10.
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
@monojenkins backport 2018-10 |
@lewurm backporting to 2018-10 failed, the patch results in conflicts:
Please backport manually! |
…it cross compilers. (mono#12055) Forward port of mono#10139 Needed for arm64_32 (mono#11691): We still need to build AOT compilers that are 32bit, which is only possible with Xcode9. However, arm64_32 needs Xcode10.
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
…it cross compilers. (mono#12055) Forward port of mono#10139 Needed for arm64_32 (mono#11691): We still need to build AOT compilers that are 32bit, which is only possible with Xcode9. However, arm64_32 needs Xcode10.
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
* [ios] initial watch64_32 support * align iOSSimulatorTemplate with iOSDeviceTemplate
…it cross compilers. (mono#12055) Forward port of mono#10139 Needed for arm64_32 (mono#11691): We still need to build AOT compilers that are 32bit, which is only possible with Xcode9. However, arm64_32 needs Xcode10.
Note, it doesn't add an AOT compiler yet.
Contributes to #10641