Mercurial > hg > nginx
view auto/cc/clang @ 7941:65946a191197
SSL: SSL_sendfile() support with kernel TLS.
Requires OpenSSL 3.0 compiled with "enable-ktls" option. Further, KTLS
needs to be enabled in kernel, and in OpenSSL, either via OpenSSL
configuration file or with "ssl_conf_command Options KTLS;" in nginx
configuration.
On FreeBSD, kernel TLS is available starting with FreeBSD 13.0, and
can be enabled with "sysctl kern.ipc.tls.enable=1" and "kldload ktls_ocf"
to load a software backend, see man ktls(4) for details.
On Linux, kernel TLS is available starting with kernel 4.13 (at least 5.2
is recommended), and needs kernel compiled with CONFIG_TLS=y (with
CONFIG_TLS=m, which is used at least on Ubuntu 21.04 by default,
the tls module needs to be loaded with "modprobe tls").
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 21 Oct 2021 18:44:07 +0300 |
parents | ceab908790c4 |
children |
line wrap: on
line source
# Copyright (C) Nginx, Inc. # clang NGX_CLANG_VER=`$CC -v 2>&1 | grep 'version' 2>&1 \ | sed -n -e 's/^.*clang version \(.*\)/\1/p' \ -e 's/^.*LLVM version \(.*\)/\1/p'` echo " + clang version: $NGX_CLANG_VER" have=NGX_COMPILER value="\"clang $NGX_CLANG_VER\"" . auto/define CC_TEST_FLAGS="-pipe" # optimizations #NGX_CLANG_OPT="-O2" #NGX_CLANG_OPT="-Oz" NGX_CLANG_OPT="-O" case $CPU in pentium) # optimize for Pentium CPU_OPT="-march=pentium" NGX_CPU_CACHE_LINE=32 ;; pentiumpro | pentium3) # optimize for Pentium Pro, Pentium II and Pentium III CPU_OPT="-march=pentiumpro" NGX_CPU_CACHE_LINE=32 ;; pentium4) # optimize for Pentium 4 CPU_OPT="-march=pentium4" NGX_CPU_CACHE_LINE=128 ;; athlon) # optimize for Athlon CPU_OPT="-march=athlon" NGX_CPU_CACHE_LINE=64 ;; opteron) # optimize for Opteron CPU_OPT="-march=opteron" NGX_CPU_CACHE_LINE=64 ;; esac CC_AUX_FLAGS="$CC_AUX_FLAGS $CPU_OPT" CFLAGS="$CFLAGS -pipe $CPU_OPT" if [ ".$PCRE_OPT" = "." ]; then PCRE_OPT="-O2 -pipe $CPU_OPT" else PCRE_OPT="$PCRE_OPT -pipe" fi if [ ".$ZLIB_OPT" = "." ]; then ZLIB_OPT="-O2 -pipe $CPU_OPT" else ZLIB_OPT="$ZLIB_OPT -pipe" fi # warnings CFLAGS="$CFLAGS $NGX_CLANG_OPT -Wall -Wextra -Wpointer-arith" CFLAGS="$CFLAGS -Wconditional-uninitialized" #CFLAGS="$CFLAGS -Wmissing-prototypes" # we have a lot of unused function arguments CFLAGS="$CFLAGS -Wno-unused-parameter" # deprecated system OpenSSL library on OS X if [ "$NGX_SYSTEM" = "Darwin" ]; then CFLAGS="$CFLAGS -Wno-deprecated-declarations" fi # stop on warning CFLAGS="$CFLAGS -Werror" # debug CFLAGS="$CFLAGS -g" if [ ".$CPP" = "." ]; then CPP="$CC -E" fi