Skip to content

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

Closed
vszakats wants to merge 1 commit into
curl:masterfrom
vszakats:m32-ngtcp-libs
Closed

Makefile.m32: add NGTCP2_LIBS option [ci skip]#9109
vszakats wants to merge 1 commit into
curl:masterfrom
vszakats:m32-ngtcp-libs

Conversation

@vszakats
Copy link
Copy Markdown
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.

1 participant