-
Notifications
You must be signed in to change notification settings - Fork 5k
[aot] Build cross compilers targeting x64/x86 hosted on osx-arm64 #89027
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
[aot] Build cross compilers targeting x64/x86 hosted on osx-arm64 #89027
Conversation
/cc: @akoeplinger |
host: osx-arm64 target: android-x64 also works with this PR I probably will need to try host: linux-arm64 target: android-x64 separately since some of the changes here were in the |
host osx-arm64 target android-x86 is also now part of this PR |
Getting the linux-arm64 stuff working depends on me re-learning how to build stuff using Docker images |
Oh, the android-x86 build depends on a hack to work around #89039 diff --git a/eng/native/tryrun.cmake b/eng/native/tryrun.cmake
index 97947fe8879..a31a1de3f23 100644
--- a/eng/native/tryrun.cmake
+++ b/eng/native/tryrun.cmake
@@ -48,7 +48,7 @@ elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
endif()
if(DARWIN)
- if(TARGET_ARCH_NAME MATCHES "^(arm64|x64)$")
+ if(TARGET_ARCH_NAME MATCHES "^(arm64|x64|x86)$")
set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1)
set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 1)
set_cache_value(HAVE_BROKEN_FIFO_KEVENT_EXITCODE 1) |
Android Linux host repro command is:
Relies on offset files from the most recent build of https://dev.azure.com/dnceng-public/public/_build?definitionId=129&branchFilter=331 being in |
So as I understand it, I built the exact opposite of what we wanted for our CI. We want an |
Linux fix:
|
I think this covers yaml changes https://gist.github.com/directhex/6af1d74199084a992dad250294aa876e Workloads generally need some finesse to deal with all the new native arm64 stuff we have going in lots of places |
Co-Authored-By: Jo Shields <directhex@apebox.org>
@directhex Applied both of your patches, thanks! The x64 CI machines should be building the arm64 packages now, I believe. @steveisok @akoeplinger please take a look |
…, and android where possible As a result of dotnet#89027 and dotnet#74715, we can now build native arm64 cross compilers on linux and macos. This change adds the right references to the workload manifest so that they can be installed with maui and the mobile SDK's. win-arm64 is the only arm64 platform left and that is a work in progress. Contributes to dotnet#82495 Fixes dotnet/maui#4476
…, and android where possible (#89961) As a result of #89027 and #74715, we can now build native arm64 cross compilers on linux and macos. This change adds the right references to the workload manifest so that they can be installed with maui and the mobile SDK's. win-arm64 is the only arm64 platform left and that is a work in progress. Contributes to #82495 Fixes dotnet/maui#4476
This PR allows an
osx-arm64
orosx-x64
machine to produce amono-aot-cross
compiler that will run on the following host and create AOT images for the following targets:Additionally a
linux-x64
orlinux-arm64
machine can build amono-aot-cross
compiler for these host/target pairs:Related to #82495