Alien::ngtcp2
Alien::ngtcp2 finds or builds the native ngtcp2 QUIC transport library for Perl distributions.
It is deliberately independent of any Perl QUIC implementation, HTTP/3 implementation, TLS backend, or event loop.
Compatibility
Alien::ngtcp2 targets Perl 5.20 and newer and requires Alien::Build 2.84 or newer.
The source-build path is tested across a broad Perl version range on Linux, macOS, and Windows, including Strawberry Perl. The bundled native library requires a C11-capable compiler.
Behavior
If pkg-config can find libngtcp2 1.25.0 or newer, Alien::ngtcp2 uses that system installation.
Otherwise it downloads ngtcp2 1.25.0 and builds a private static copy of the core libngtcp2 library.
The fallback build does not include ngtcp2 crypto helper libraries or the example applications.
Use from another Perl distribution
Consumers use the normal Alien::Base interface:
use Alien::ngtcp2;
my $cflags = Alien::ngtcp2->cflags;
my $libs = Alien::ngtcp2->libs;
For XS distributions, the usual Alien::Base / Alien::Build integration can use those flags during compilation and linking.
Development
perl Makefile.PL
make
make test
Set ALIEN_INSTALL_TYPE=share to force the bundled source-build path when testing it:
ALIEN_INSTALL_TYPE=share perl Makefile.PL
make
make test
Set ALIEN_INSTALL_TYPE=system to require a suitable system installation.
Contributing
See CONTRIBUTING.md for contribution guidelines.
Security issues should be reported according to SECURITY.md.
License
MIT