Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Enable Windows ARM64 builds using release product tools #19115

Merged
merged 2 commits into from
Aug 2, 2018

Conversation

BruceForstall
Copy link
Member

Remove support for specifying the toolset directory for arm64,
which was used to point to an internal toolset.

Building for arm64 now works just like the other platforms, e.g.
invoke build arm64.

The requirements:
. Visual Studio 2017 Update 4 or later, with ARM64 toolset installed
. Windows SDK 10.0.17134.0 or later
. CMake 3.10 or later

@BruceForstall BruceForstall added the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Jul 24, 2018
@BruceForstall
Copy link
Member Author

@BruceForstall
Copy link
Member Author

@dotnet-bot test ci please

BruceForstall and others added 2 commits August 1, 2018 22:37
Remove support for specifying the toolset directory for arm64,
which was used to point to an internal toolset.

Building for arm64 now works just like the other platforms, e.g.
invoke `build arm64`.

The requirements:
. Visual Studio 2017 Update 4 or later, with ARM64 toolset installed
. Windows SDK 10.0.17134.0 or later
. CMake 3.10 or later
These will be PR triggered for all users, not just those on the
arm64Users list. Since these are Build only, and do no testing,
with the change to use public VS2017 build tools, they can be run
by anyone.

Users on the arm64Users list will still get Checked Build and Test
jobs, which require using the private test machines.
@BruceForstall
Copy link
Member Author

The arm64 test failure is expected, because the netci.groovy changes aren't used to test the PR.

The real testing for this PR is in the dev/unix_test_workflow branch, here: #19242

@BruceForstall BruceForstall removed the * NO MERGE * The PR is not ready for merge yet (see discussion for detailed reasons) label Aug 2, 2018
@BruceForstall
Copy link
Member Author

The official build machines have also been updated with current tools, and have been tested with this change.

@BruceForstall
Copy link
Member Author

@dotnet/jit-contrib @dotnet/arm64-contrib

Copy link

@jashook jashook left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is awesome thanks for the work!

@@ -63,6 +63,24 @@ if (WIN32)
set(CMAKE_ASM_MASM_COMPILER ${CMAKE_ASM_COMPILER})
message("CMAKE_ASM_MASM_COMPILER explicitly set to: ${CMAKE_ASM_MASM_COMPILER}")

# Enable generic assembly compilation to avoid CMake generate VS proj files that explicitly
# use ml[64].exe as the assembler.
enable_language(ASM)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@jashook
Copy link

jashook commented Aug 2, 2018

Before we merge this change though we should run the official build as well.

@BruceForstall BruceForstall changed the title Enable ARM64 builds using release product tools Enable Windows ARM64 builds using release product tools Aug 2, 2018
@BruceForstall BruceForstall merged commit 1b87d82 into master Aug 2, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants