Mercurial > hg > nginx-quic
view auto/lib/pcre/make @ 8954:41796b6804d9 quic
QUIC: support for setting QUIC methods with LibreSSL.
Setting QUIC methods is converted to use C99 designated initializers
for simplicity, as LibreSSL 3.6.0 has different SSL_QUIC_METHOD layout.
Additionally, only set_read_secret/set_write_secret callbacks are set.
Although they are preferred in LibreSSL over set_encryption_secrets,
better be on a safe side as LibreSSL has unexpectedly incompatible
set_encryption_secrets calling convention expressed in passing read
and write secrets split in separate calls, unlike this is documented
in old BoringSSL sources. To avoid introducing further changes for
the old API, it is simply disabled.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Thu, 20 Oct 2022 16:21:06 +0400 |
parents | 0b5f12d5c531 |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. if [ $PCRE_LIBRARY = PCRE2 ]; then # PCRE2 if [ $NGX_CC_NAME = msvc ]; then # With PCRE2, it is not possible to compile all sources. # Since list of source files changes between versions, we # test files which might not be present. ngx_pcre_srcs="pcre2_auto_possess.c \ pcre2_chartables.c \ pcre2_compile.c \ pcre2_config.c \ pcre2_context.c \ pcre2_dfa_match.c \ pcre2_error.c \ pcre2_jit_compile.c \ pcre2_maketables.c \ pcre2_match.c \ pcre2_match_data.c \ pcre2_newline.c \ pcre2_ord2utf.c \ pcre2_pattern_info.c \ pcre2_string_utils.c \ pcre2_study.c \ pcre2_substitute.c \ pcre2_substring.c \ pcre2_tables.c \ pcre2_ucd.c \ pcre2_valid_utf.c \ pcre2_xclass.c" ngx_pcre_test="pcre2_convert.c \ pcre2_extuni.c \ pcre2_find_bracket.c \ pcre2_script_run.c \ pcre2_serialize.c" for ngx_src in $ngx_pcre_test do if [ -f $PCRE/src/$ngx_src ]; then ngx_pcre_srcs="$ngx_pcre_srcs $ngx_src" fi done ngx_pcre_objs=`echo $ngx_pcre_srcs \ | sed -e "s#\([^ ]*\.\)c#\1$ngx_objext#g"` ngx_pcre_srcs=`echo $ngx_pcre_srcs \ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"` ngx_pcre_objs=`echo $ngx_pcre_objs \ | sed -e "s/ *\([^ ][^ ]*\)/$ngx_regex_cont\1/g"` cat << END >> $NGX_MAKEFILE PCRE_CFLAGS = -O2 -Ob1 -Oi -Gs $LIBC $CPU_OPT PCRE_FLAGS = -DHAVE_CONFIG_H -DPCRE2_STATIC -DPCRE2_CODE_UNIT_WIDTH=8 \\ -DHAVE_MEMMOVE PCRE_SRCS = $ngx_pcre_srcs PCRE_OBJS = $ngx_pcre_objs $PCRE/src/pcre2.h: cd $PCRE/src \\ && copy /y config.h.generic config.h \\ && copy /y pcre2.h.generic pcre2.h \\ && copy /y pcre2_chartables.c.dist pcre2_chartables.c $PCRE/src/pcre2-8.lib: $PCRE/src/pcre2.h $NGX_MAKEFILE cd $PCRE/src \\ && cl -nologo -c \$(PCRE_CFLAGS) -I . \$(PCRE_FLAGS) \$(PCRE_SRCS) \\ && link -lib -out:pcre2-8.lib -verbose:lib \$(PCRE_OBJS) END else cat << END >> $NGX_MAKEFILE $PCRE/src/pcre2.h: $PCRE/Makefile $PCRE/Makefile: $NGX_MAKEFILE cd $PCRE \\ && if [ -f Makefile ]; then \$(MAKE) distclean; fi \\ && CC="\$(CC)" CFLAGS="$PCRE_OPT" \\ ./configure --disable-shared $PCRE_CONF_OPT $PCRE/.libs/libpcre2-8.a: $PCRE/Makefile cd $PCRE \\ && \$(MAKE) libpcre2-8.la END fi else # PCRE case "$NGX_CC_NAME" in msvc) ngx_makefile=makefile.msvc ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC" ngx_pcre="PCRE=\"$PCRE\"" ;; owc) ngx_makefile=makefile.owc ngx_opt="CPU_OPT=\"$CPU_OPT\"" ngx_pcre=`echo PCRE=\"$PCRE\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; bcc) ngx_makefile=makefile.bcc ngx_opt="-DCPU_OPT=\"$CPU_OPT\"" ngx_pcre=`echo \-DPCRE=\"$PCRE\" \ | sed -e "s/\//$ngx_regex_dirsep/g"` ;; *) ngx_makefile= ;; esac if [ -n "$ngx_makefile" ]; then cat << END >> $NGX_MAKEFILE `echo "$PCRE/pcre.lib: $PCRE/pcre.h $NGX_MAKEFILE" \ | sed -e "s/\//$ngx_regex_dirsep/g"` \$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre $ngx_opt `echo "$PCRE/pcre.h:" | sed -e "s/\//$ngx_regex_dirsep/g"` \$(MAKE) -f auto/lib/pcre/$ngx_makefile $ngx_pcre pcre.h END else cat << END >> $NGX_MAKEFILE $PCRE/pcre.h: $PCRE/Makefile $PCRE/Makefile: $NGX_MAKEFILE cd $PCRE \\ && if [ -f Makefile ]; then \$(MAKE) distclean; fi \\ && CC="\$(CC)" CFLAGS="$PCRE_OPT" \\ ./configure --disable-shared $PCRE_CONF_OPT $PCRE/.libs/libpcre.a: $PCRE/Makefile cd $PCRE \\ && \$(MAKE) libpcre.la END fi fi