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

[nettle] Switch from yasm to clang #30175

Merged
merged 16 commits into from
May 8, 2023
Merged

Conversation

dg0yt
Copy link
Contributor

@dg0yt dg0yt commented Mar 14, 2023

  • Changes comply with the maintainer guide
  • SHA512s are updated for each updated download
  • The "supports" clause reflects platforms that may be fixed by this new version
  • Any fixed CI baseline entries are removed from that file.
  • Any patches that are no longer applied are deleted from the port's directory.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Only one version is added to each modified port's versions file.

@dg0yt
Copy link
Contributor Author

dg0yt commented Mar 14, 2023

Now CCAS clang is also used during configure, but stumbles over -nologo from MSVCish CFLAGS...

@Neumann-A
Copy link
Contributor

gmp has ASMFLAGS for that instead of cflags

@MonicaLiu0311 MonicaLiu0311 added category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist category:port-update The issue is with a library, which is requesting update new revision labels Mar 14, 2023
@dg0yt
Copy link
Contributor Author

dg0yt commented Mar 16, 2023

Building successfully now. Anyone out there who can validate the usability of the binary artifacts?
For arm-uwp and arm64-windows, there are no consuming ports. (shiftmedia-libgnutls doesn't support arm.)

@@ -43,6 +43,10 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
)
endif()

if(VCPKG_TARGET_IS_ANDROID AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
vcpkg_list(APPEND OPTIONS "CFLAGS=\$CFLAGS -m32")
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Found during x86 tests of nettle with the NDK's clang on linux host. To be removed from this PR.

Copy link
Contributor

Choose a reason for hiding this comment

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

That flag has to come from the toolchain.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But from which point in the toolchain setup?
I took the -m32 from https://developer.android.com/ndk/guides/abis#x86, but I didn't find it in the NDK's or CMake's Android toolchain initialization.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

... and I also had to add -m32 to nettle's ASMFLAGS for clang-cl x86

ports/nettle/portfile.cmake Outdated Show resolved Hide resolved
string(APPEND asmflags " --target=x86_64-pc-windows-msvc")
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
string(APPEND asmflags " --target=arm64-pc-windows-msvc")
else()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oh, no asm for arm-uwp

@dg0yt dg0yt marked this pull request as ready for review April 29, 2023 08:45
@MonicaLiu0311
Copy link
Contributor

All features are tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static
x64-linux
x64-osx
arm-uwp
arm64-windows

@MonicaLiu0311 MonicaLiu0311 added the info:reviewed Pull Request changes follow basic guidelines label May 5, 2023
@vicroms vicroms merged commit 1f94bed into microsoft:master May 8, 2023
@dg0yt dg0yt deleted the nettle-3.8.1-clang branch May 9, 2023 11:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants