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

Makefile.m32: add NGTCP2_LIBS option [ci skip] #9109

Closed
wants to merge 1 commit into from

Conversation

vszakats
Copy link
Member

@vszakats vszakats commented Jul 5, 2022

Makefile.m32's ngtcp2 has its two libs hardwired for OpenSSL.
Add NGTCP2_LIBS envvar to override them with a custom list,
making it possible to use BoringSSL, or any other backend.

@vszakats vszakats added build Windows Windows-specific labels Jul 5, 2022
@vszakats vszakats changed the title Makefile.m32: add NGTCP2_LIBS customization option [ci skip] Makefile.m32: add NGTCP2_LIBS option [ci skip] Jul 5, 2022
Makefile.m32's ngtcp2 has its two libs hardwired for OpenSSL.
Add `NGTCP2_LIBS` envvar to override them with a custom list,
making it possible to use BoringSSL, or any other backend.
@vszakats vszakats changed the title Makefile.m32: add NGTCP2_LIBS option [ci skip] Makefile.m32: add NGTCP2_LIBS option [ci skip] Jul 5, 2022
@vszakats vszakats closed this in 190caa9 Jul 6, 2022
@vszakats vszakats deleted the m32-ngtcp-libs branch July 6, 2022 09:23
vszakats added a commit to curl/curl-for-win that referenced this pull request Jul 6, 2022
Its downside is that this isn't supposed to be used as a dependency, has
no versioning or formal releases. TLS-SRP also isn't supported, but its
advantages outweigh it.

A smaller downside is that it uses pthread even on Windows, which has an
issue with static linking, possibly in combination with UCRT builds with
the cross-toolchain I tested it with. With this fixed, it's the most
promising alternative TLS backend. Binary size is also 2MB lower for both
curl EXE and DLL.

curl needs two patches, one merged [1], one fixing new iterations of a
known issue [2] pending.

[1] curl/curl#9109
[2] curl/curl#9110

curl would probably use a third patch from a CMake expert: ngtcp2
detection is broken, so we need to use an local workaround.

curl autotools doesn't support BoringSSL because I've found no way to
tell libtool to link pthread DLL instead of the static version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Windows Windows-specific
Development

Successfully merging this pull request may close these issues.

None yet

1 participant