summaryrefslogtreecommitdiff
path: root/auto/cc/msvc
blob: 8272cac9acec584b2b0b5ad7f933a151f61d057c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

# Copyright (C) Igor Sysoev


# MSVC 6.0 SP2, MSVC Toolkit 2003 (7.1)

# optimizations

# maximize speed
CFLAGS="$CFLAGS -O2"
# enable global optimization
CFLAGS="$CFLAGS -Og"
# enable intrinsic functions
CFLAGS="$CFLAGS -Oi"
# inline expansion
CFLAGS="$CFLAGS -Ob1"
# enable frame pointer omission
CFLAGS="$CFLAGS -Oy"
# disable stack checking calls
CFLAGS="$CFLAGS -Gs"

case $CPU in
    pentium)
        # optimize for Pentium and Athlon
        CPU_OPT="-G5"
    ;;

    pentiumpro)
        # optimize for Pentium Pro, Pentium II and Pentium III
        CPU_OPT="-G6"
    ;;

    pentium4)
        # optimize for Pentium 4, MSVC 7
        CPU_OPT="-G7"
    ;;
esac

CFLAGS="$CFLAGS $CPU_OPT"


# warnings

#CFLAGS="$CFLAGS -W3"
CFLAGS="$CFLAGS -W4"

# stop on warning
CFLAGS="$CFLAGS -WX"

# disable logo
CFLAGS="$CFLAGS -nologo"


LINK="\$(CC)"

# the link flags
CORE_LINK="$CORE_LINK -link -verbose:lib"

if [ $NGX_CC_NAME = msvc7 ]; then
    # link with libcmt.lib, multithreaded
    LIBC="-MT"
else
    # link with msvcrt.dll
    LIBC="-MD"
fi

CFLAGS="$CFLAGS $LIBC"

# Win32 GUI mode application
CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"

# debug
CFLAGS="$CFLAGS -Yd"
CORE_LINK="$CORE_LINK -debug -debugtype:coff"


# precompiled headers
if [ $NGX_CC_NAME != msvc7 ]; then
    CORE_DEPS="$CORE_DEPS $OBJS/ngx_config.pch"
    NGX_PCH="$OBJS/ngx_config.pch"
    NGX_BUILD_PCH="-Ycngx_config.h -Fp$OBJS/ngx_config.pch"
    NGX_USE_PCH="-Yungx_config.h -Fp$OBJS/ngx_config.pch"
fi


# the resource file
NGX_RES="$OBJS/nginx.res"
NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
CORE_LINK="$NGX_RES $CORE_LINK"


ngx_objout="-Fo"
ngx_binout="-Fe"
ngx_objext="obj"
ngx_binext=".exe"

#ngx_regex_dirsep='\\'
#ngx_dirsep="\\"