Skip to content
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

build: add support for native Windows ARM64 MSVC #44226

Conversation

dennisameling
Copy link
Contributor

Visual Studio 2022 17.4 introduces native ARM64 support, including host tools for MSVC. As this won't be supported on VS2019, this commit only adds the detection logic for native ARM64 tools to vs-set-2022.

Refs: nodejs/build#2540
Refs: https://devblogs.microsoft.com/visualstudio/arm64-visual-studio/

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. windows Issues and PRs related to the Windows platform. labels Aug 13, 2022
@dennisameling dennisameling force-pushed the native-windows-arm64-msbuild-tools branch 2 times, most recently from e838cd9 to 5aeda6c Compare August 14, 2022 06:28
@nodejs-github-bot
Copy link
Collaborator

@lpinca lpinca self-requested a review August 16, 2022 18:22
Copy link
Member

@lpinca lpinca left a comment

Choose a reason for hiding this comment

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

RSLGTM

@nodejs-github-bot
Copy link
Collaborator

Visual Studio 2022 17.4 introduces native ARM64 support, including host
tools for MSVC. As this won't be supported on VS2019, this commit only
adds the detection logic for native ARM64 tools to vs-set-2022.

Refs: nodejs/build#2540
Refs: https://devblogs.microsoft.com/visualstudio/arm64-visual-studio/
@dennisameling dennisameling force-pushed the native-windows-arm64-msbuild-tools branch from 5aeda6c to f7ca15b Compare January 28, 2023 11:53
@dennisameling
Copy link
Contributor Author

dennisameling commented Jan 28, 2023

Now that #46228 has been merged, this seems to be the right time to merge this PR too. Just rebased it and ran it on an arm64 device. The build finished successfully and used the native VS2022 arm64 build tools:

PS C:\repos\node> ./vcbuild.bat arm64 release
Looking for Python
Python found in C:\Program Files\Python311-arm64\\python.exe
Python 3.11.0rc1
Looking for Visual Studio 2022
calling: "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\\Auxiliary\Build\vcvarsall.bat" arm64
**********************************************************************
** Visual Studio 2022 Developer Command Prompt v17.4.4
** Copyright (c) 2022 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'arm64'
Found MSVS version 17.0
configure  --with-ltcg --dest-cpu=arm64
Node.js configure: Found Python 3.11.0...

....

  node.vcxproj -> out\Release\\node.exe
Junction created for Release <<===>> out\Release
Creating package...
Creating node-v20.0.0-win-arm64.7z
Creating node-v20.0.0-win-arm64.zip
Creating node_pdb.7z
Creating node_pdb.zip
Package created!

@dennisameling
Copy link
Contributor Author

Superseded by #46420 which just got merged 👍🏼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. needs-ci PRs that need a full CI run. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants