Mercurial > hg > nginx-quic
annotate auto/cc/msvc @ 5092:c4d3310574e0
Apply server configuration as soon as host is known.
Previously, this was done only after the whole request header
was parsed, and if an error occurred earlier then the request
was processed in the default server (or server chosen by SNI),
while r->headers_in.server might be set to the value from the
Host: header or host from request line.
r->headers_in.server is in turn used for $host variable and
in HTTP redirects if "server_name_in_redirect" is disabled.
Without the change, configurations that rely on this during
error handling are potentially unsafe if SNI is used.
This change also allows to use server specific settings of
"underscores_in_headers", "ignore_invalid_headers", and
"large_client_header_buffers" directives for HTTP requests
and HTTPS requests without SNI.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Wed, 27 Feb 2013 17:27:15 +0000 |
parents | 2b71f6535c76 |
children | bfe536716dbf |
rev | line source |
---|---|
455 | 1 |
2 # Copyright (C) Igor Sysoev | |
4412 | 3 # Copyright (C) Nginx, Inc. |
455 | 4 |
5 | |
2630 | 6 # MSVC 6.0 SP2 |
7 # MSVC Toolkit 2003 (7.1) | |
8 # MSVC 2005 Express Edition SP1 (8.0) | |
455 | 9 |
10 # optimizations | |
11 | |
509 | 12 # maximize speed, equivalent to -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy |
455 | 13 CFLAGS="$CFLAGS -O2" |
509 | 14 |
455 | 15 # enable global optimization |
509 | 16 #CFLAGS="$CFLAGS -Og" |
455 | 17 # enable intrinsic functions |
509 | 18 #CFLAGS="$CFLAGS -Oi" |
19 | |
20 # disable inline expansion | |
21 #CFLAGS="$CFLAGS -Ob0" | |
22 # explicit inline expansion | |
23 #CFLAGS="$CFLAGS -Ob1" | |
24 # explicit and implicit inline expansion | |
25 #CFLAGS="$CFLAGS -Ob2" | |
26 | |
455 | 27 # enable frame pointer omission |
509 | 28 #CFLAGS="$CFLAGS -Oy" |
455 | 29 # disable stack checking calls |
509 | 30 #CFLAGS="$CFLAGS -Gs" |
31 | |
32 # pools strings as read/write | |
33 #CFLAGS="$CFLAGS -Gf" | |
34 # pools strings as read-only | |
35 #CFLAGS="$CFLAGS -GF" | |
36 | |
455 | 37 |
38 case $CPU in | |
39 pentium) | |
40 # optimize for Pentium and Athlon | |
41 CPU_OPT="-G5" | |
42 ;; | |
43 | |
44 pentiumpro) | |
45 # optimize for Pentium Pro, Pentium II and Pentium III | |
46 CPU_OPT="-G6" | |
47 ;; | |
48 | |
49 pentium4) | |
461 | 50 # optimize for Pentium 4, MSVC 7 |
51 CPU_OPT="-G7" | |
455 | 52 ;; |
53 esac | |
54 | |
2712
41f993457021
OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents:
2630
diff
changeset
|
55 # __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm |
583 | 56 #CPU_OPT="$CPU_OPT -Gd" |
503 | 57 # __stdcall |
58 #CPU_OPT="$CPU_OPT -Gz" | |
59 # __fastcall | |
2712
41f993457021
OpenSSL building by MSVC and BCC from sources
Igor Sysoev <igor@sysoev.ru>
parents:
2630
diff
changeset
|
60 #CPU_OPT="$CPU_OPT -Gr" |
503 | 61 |
62 | |
455 | 63 CFLAGS="$CFLAGS $CPU_OPT" |
64 | |
65 | |
66 # warnings | |
67 | |
68 CFLAGS="$CFLAGS -W4" | |
69 | |
70 # stop on warning | |
71 CFLAGS="$CFLAGS -WX" | |
72 | |
461 | 73 # disable logo |
74 CFLAGS="$CFLAGS -nologo" | |
75 | |
76 # the link flags | |
77 CORE_LINK="$CORE_LINK -link -verbose:lib" | |
78 | |
2630 | 79 # link with libcmt.lib, multithreaded |
80 LIBC="-MT" | |
81 # link with msvcrt.dll | |
82 # however, MSVC Toolkit 2003 has no MSVCRT.LIB | |
83 #LIBC="-MD" | |
455 | 84 |
85 CFLAGS="$CFLAGS $LIBC" | |
86 | |
2725 | 87 CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib" |
88 | |
461 | 89 # Win32 GUI mode application |
2725 | 90 #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup" |
455 | 91 |
92 # debug | |
2725 | 93 # msvc8 under Wine issues |
94 # Program database manager mismatch; please check your installation | |
1639
7d125a707158
msvc8 compatibility: it can not build with debug under Wine
Igor Sysoev <igor@sysoev.ru>
parents:
1638
diff
changeset
|
95 if [ $NGX_CC_NAME != msvc8 ]; then |
7d125a707158
msvc8 compatibility: it can not build with debug under Wine
Igor Sysoev <igor@sysoev.ru>
parents:
1638
diff
changeset
|
96 CFLAGS="$CFLAGS -Zi" |
7d125a707158
msvc8 compatibility: it can not build with debug under Wine
Igor Sysoev <igor@sysoev.ru>
parents:
1638
diff
changeset
|
97 CORE_LINK="$CORE_LINK -debug" |
7d125a707158
msvc8 compatibility: it can not build with debug under Wine
Igor Sysoev <igor@sysoev.ru>
parents:
1638
diff
changeset
|
98 fi |
455 | 99 |
461 | 100 |
2723
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
101 # MSVC 2005 supports C99 variadic macros |
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
102 if [ $NGX_CC_NAME = msvc8 ]; then |
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
103 have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have |
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
104 fi |
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
105 |
53be1d485af9
add variadic macros support for msvc8
Igor Sysoev <igor@sysoev.ru>
parents:
2712
diff
changeset
|
106 |
455 | 107 # precompiled headers |
1636
f2cf053d14fb
enable precompiled headers for msvc7,
Igor Sysoev <igor@sysoev.ru>
parents:
653
diff
changeset
|
108 CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch" |
f2cf053d14fb
enable precompiled headers for msvc7,
Igor Sysoev <igor@sysoev.ru>
parents:
653
diff
changeset
|
109 NGX_PCH="$NGX_OBJS/ngx_config.pch" |
f2cf053d14fb
enable precompiled headers for msvc7,
Igor Sysoev <igor@sysoev.ru>
parents:
653
diff
changeset
|
110 NGX_BUILD_PCH="-Ycngx_config.h -Fp$NGX_OBJS/ngx_config.pch" |
f2cf053d14fb
enable precompiled headers for msvc7,
Igor Sysoev <igor@sysoev.ru>
parents:
653
diff
changeset
|
111 NGX_USE_PCH="-Yungx_config.h -Fp$NGX_OBJS/ngx_config.pch" |
461 | 112 |
113 | |
114 # the resource file | |
469 | 115 NGX_RES="$NGX_OBJS/nginx.res" |
461 | 116 NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC" |
117 CORE_LINK="$NGX_RES $CORE_LINK" | |
118 | |
455 | 119 |
120 ngx_objout="-Fo" | |
121 ngx_binout="-Fe" | |
122 ngx_objext="obj" | |
123 ngx_binext=".exe" | |
124 | |
2825
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
2725
diff
changeset
|
125 ngx_long_start='@<< |
2896 | 126 ' |
2825
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
2725
diff
changeset
|
127 ngx_long_end='<<' |
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
2725
diff
changeset
|
128 ngx_long_regex_cont=' \ |
633 | 129 ' |
2825
bb05c0834c8c
remove BMAKE (build make): a cc compiler should use own make
Igor Sysoev <igor@sysoev.ru>
parents:
2725
diff
changeset
|
130 ngx_long_cont=' |
573 | 131 ' |
633 | 132 |
631 | 133 # MSVC understand / in path |
455 | 134 #ngx_regex_dirsep='\\' |
135 #ngx_dirsep="\\" |