Mercurial > hg > nginx-quic
view auto/cc/sunc @ 6785:d1d0dd69a419
Upstream: added the ngx_http_upstream_resolved_t.name field.
This fixes inconsistency in what is stored in the "host" field.
Normally it would contain the "host" part of the parsed URL
(e.g., proxy_pass with variables), but for the case of an
implicit upstream specified with literal address it contained
the text representation of the socket address (that is, host
including port for IP).
Now the "host" field always contains the "host" part of the URL,
while the text representation of the socket address is stored
in the newly added "name" field.
The ngx_http_upstream_create_round_robin_peer() function was
modified accordingly in a way to be compatible with the code
that does not know about the new "name" field.
The "stream" code was similarly modified except for not adding
compatibility in ngx_stream_upstream_create_round_robin_peer().
This change is also a prerequisite for the next change.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Mon, 31 Oct 2016 18:33:33 +0300 |
parents | e3faa5fb7772 |
children | d8e8ced78e77 |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10 # Sun C 5.8 2005/10/13 Sun Studio 11 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12 # Sun C 5.9 SunOS_sparc 2007/05/03 # Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1 # Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \ | sed -e 's/^.* Sun C \(.*\)/\1/'` echo " + Sun C version: $NGX_SUNC_VER" have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define cat << END > $NGX_AUTOTEST.c int main(void) { printf("%d", __SUNPRO_C); return 0; } END eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1" if [ -x $NGX_AUTOTEST ]; then ngx_sunc_ver=`$NGX_AUTOTEST` fi rm -rf $NGX_AUTOTEST* # 1424 == 0x590, Sun Studio 12 if [ "$ngx_sunc_ver" -ge 1424 ]; then ngx_sparc32="-m32" ngx_sparc64="-m64" ngx_amd64="-m64" else ngx_sparc32="-xarch=v8plus" ngx_sparc64="-xarch=v9" ngx_amd64="-xarch=amd64" fi case "$NGX_MACHINE" in i86pc) NGX_AUX=" src/os/unix/ngx_sunpro_x86.il" ;; sun4u | sun4v) NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il" ;; esac MAIN_LINK= MODULE_LINK="-G" # optimizations # 20736 == 0x5100, Sun Studio 12.1 if [ "$ngx_sunc_ver" -ge 20736 ]; then ngx_fast="-fast" else # older versions had problems with bit-fields ngx_fast="-fast -xalias_level=any" fi IPO=-xipo CFLAGS="$CFLAGS $ngx_fast $IPO" CORE_LINK="$CORE_LINK $ngx_fast $IPO" case $CPU in pentium) # optimize for Pentium and Athlon CPU_OPT="-xchip=pentium" ;; pentiumpro) # optimize for Pentium Pro, Pentium II CPU_OPT="-xchip=pentium_pro" ;; pentium3) # optimize for Pentium III CPU_OPT="-xchip=pentium3" #CPU_OPT="$CPU_OPT -xarch=sse" CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4" ;; pentium4) # optimize for Pentium 4 CPU_OPT="-xchip=pentium4" #CPU_OPT="$CPU_OPT -xarch=sse2" CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8" ;; opteron) # optimize for Opteron CPU_OPT="-xchip=opteron" #CPU_OPT="$CPU_OPT -xarch=sse2" CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16" ;; sparc32) # build 32-bit UltraSparc binary CPU_OPT="$ngx_sparc32" CORE_LINK="$CORE_LINK $ngx_sparc32" CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32" NGX_CPU_CACHE_LINE=64 ;; sparc64) # build 64-bit UltraSparc binary CPU_OPT="$ngx_sparc64" CORE_LINK="$CORE_LINK $ngx_sparc64" CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64" NGX_CPU_CACHE_LINE=64 ;; amd64) # build 64-bit amd64 binary CPU_OPT="$ngx_amd64" CORE_LINK="$CORE_LINK $ngx_amd64" CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64" NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il" NGX_CPU_CACHE_LINE=64 ;; esac CFLAGS="$CFLAGS $CPU_OPT" if [ ".$PCRE_OPT" = "." ]; then PCRE_OPT="$ngx_fast $IPO $CPU_OPT" fi if [ ".$ZLIB_OPT" = "." ]; then ZLIB_OPT="$ngx_fast $IPO $CPU_OPT" fi # stop on warning CFLAGS="$CFLAGS -errwarn=%all" # debug CFLAGS="$CFLAGS -g"