2 # Copyright (C) Igor Sysoev
3 # Copyright (C) Nginx, Inc.
7 # MSVC Toolkit 2003 (7.1)
8 # MSVC 2005 Express Edition SP1 (8.0)
12 # maximize speed, equivalent to -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy
15 # enable global optimization
17 # enable intrinsic functions
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"
27 # enable frame pointer omission
29 # disable stack checking calls
32 # pools strings as read/write
34 # pools strings as read-only
40 # optimize for Pentium and Athlon
45 # optimize for Pentium Pro, Pentium II and Pentium III
50 # optimize for Pentium 4, MSVC 7
55 # __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm
56 #CPU_OPT="$CPU_OPT -Gd"
58 #CPU_OPT="$CPU_OPT -Gz"
60 #CPU_OPT="$CPU_OPT -Gr"
63 CFLAGS="$CFLAGS $CPU_OPT"
74 CFLAGS="$CFLAGS -nologo"
77 CORE_LINK="$CORE_LINK -link -verbose:lib"
79 # link with libcmt.lib, multithreaded
81 # link with msvcrt.dll
82 # however, MSVC Toolkit 2003 has no MSVCRT.LIB
85 CFLAGS="$CFLAGS $LIBC"
87 CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
89 # Win32 GUI mode application
90 #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"
93 # msvc8 under Wine issues
94 # Program database manager mismatch; please check your installation
95 if [ $NGX_CC_NAME != msvc8 ]; then
97 CORE_LINK="$CORE_LINK -debug"
101 # MSVC 2005 supports C99 variadic macros
102 if [ $NGX_CC_NAME = msvc8 ]; then
103 have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
107 # precompiled headers
108 CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
109 NGX_PCH="$NGX_OBJS/ngx_config.pch"
110 NGX_BUILD_PCH="-Ycngx_config.h -Fp$NGX_OBJS/ngx_config.pch"
111 NGX_USE_PCH="-Yungx_config.h -Fp$NGX_OBJS/ngx_config.pch"
115 NGX_RES="$NGX_OBJS/nginx.res"
116 NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
117 CORE_LINK="$NGX_RES $CORE_LINK"
128 ngx_long_regex_cont=' \
133 # MSVC understand / in path
134 #ngx_regex_dirsep='\\'