The ngx_http_perl_module module doesn't have a notion of including additional
search paths through --with-cc-opt, which results in compile error incomplete
type 'enum ssl_encryption_level_t' when building nginx without QUIC support.
The enum is visible from quic event headers and eventually pollutes ngx_core.h.
The fix is to limit including headers to compile units that are real consumers.
#include <ngx_event_openssl.h>
#if (NGX_OPENSSL_QUIC)
#include <ngx_event_quic.h>
-#include <ngx_event_quic_transport.h>
-#include <ngx_event_quic_protection.h>
#endif
#endif
#include <ngx_process_cycle.h>
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
+#include <ngx_event_quic_protection.h>
/* 0-RTT and 1-RTT data exist in the same packet number space,
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
+#include <ngx_event_quic_protection.h>
#define NGX_QUIC_IV_LEN 12
#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
+#include <ngx_event_quic_transport.h>
#if (NGX_HAVE_NONALIGNED)