-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
[arm64ec] Fix Windows toolchain. #23139
Conversation
BillyONeal
commented
Feb 16, 2022
- set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) when linking arm64ec static to workaround softintrin as explained in the comment.
- Switch to using the _INIT versions of flags now that we require CMake >= 3.7 (as of Change minimum CMake version to 3.7.2. #23134 )
* set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY) when linking arm64ec static to workaround softintrin as explained in the comment. * Switch to using the _INIT versions of flags now that we require CMake >= 3.7 (as of microsoft#23134 )
I intentionally cancelled the validation build because this triggers a world rebuild and I would like folks to say it isn't entirely broken first. |
Probably should be "rolled up" with #22831 |
@@ -9,6 +9,11 @@ if(NOT _CMAKE_IN_TRY_COMPILE) | |||
set(VCPKG_CRT_LINK_FLAG_PREFIX "/MD") | |||
elseif(VCPKG_CRT_LINKAGE STREQUAL "static") | |||
set(VCPKG_CRT_LINK_FLAG_PREFIX "/MT") | |||
if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64ec") | |||
# When linking statically to the CRT, an executable also has to link against softintrin.lib, but that |
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.
an executable also has to link against softintrin.lib
So should that be added to the exe link flags?
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.
In Phil's case the lib isn't available in the environment he wants; it's something that needs to be fixed in the product itself.
We need to be careful of what happened in: |
See also: #16111 (thanks to Iluin on Discord for pointing these out) |
That is just me on mobile. Hmm what is actually the plan behind switching to the Maybe it is time to have dedicated toolchains instead of one fits it all? |
Ha! Well thank you nonetheless :)
There isn't really so much of a "plan" here; I just applied the change that some arm64ec folks are using because it looked mostly harmless. Your comments have indicated that it isn't mostly harmless so I don't know on what timescale this is going to land. I'm still a bit hazy on what the end game for this arm64ec feature is.
I have no opinion on such a change. |
Maybe the people who use it should point out the difference in compiler flags. I only see: |