Return to msvc CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / nginx / auto / cc |
1.1 ! misho 1: ! 2: # Copyright (C) Igor Sysoev ! 3: # Copyright (C) Nginx, Inc. ! 4: ! 5: ! 6: # MSVC 6.0 SP2 ! 7: # MSVC Toolkit 2003 (7.1) ! 8: # MSVC 2005 Express Edition SP1 (8.0) ! 9: ! 10: # optimizations ! 11: ! 12: # maximize speed, equivalent to -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy ! 13: CFLAGS="$CFLAGS -O2" ! 14: ! 15: # enable global optimization ! 16: #CFLAGS="$CFLAGS -Og" ! 17: # enable intrinsic functions ! 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: ! 27: # enable frame pointer omission ! 28: #CFLAGS="$CFLAGS -Oy" ! 29: # disable stack checking calls ! 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: ! 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) ! 50: # optimize for Pentium 4, MSVC 7 ! 51: CPU_OPT="-G7" ! 52: ;; ! 53: esac ! 54: ! 55: # __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm ! 56: #CPU_OPT="$CPU_OPT -Gd" ! 57: # __stdcall ! 58: #CPU_OPT="$CPU_OPT -Gz" ! 59: # __fastcall ! 60: #CPU_OPT="$CPU_OPT -Gr" ! 61: ! 62: ! 63: CFLAGS="$CFLAGS $CPU_OPT" ! 64: ! 65: ! 66: # warnings ! 67: ! 68: CFLAGS="$CFLAGS -W4" ! 69: ! 70: # stop on warning ! 71: CFLAGS="$CFLAGS -WX" ! 72: ! 73: # disable logo ! 74: CFLAGS="$CFLAGS -nologo" ! 75: ! 76: # the link flags ! 77: CORE_LINK="$CORE_LINK -link -verbose:lib" ! 78: ! 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" ! 84: ! 85: CFLAGS="$CFLAGS $LIBC" ! 86: ! 87: CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib" ! 88: ! 89: # Win32 GUI mode application ! 90: #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup" ! 91: ! 92: # debug ! 93: # msvc8 under Wine issues ! 94: # Program database manager mismatch; please check your installation ! 95: if [ $NGX_CC_NAME != msvc8 ]; then ! 96: CFLAGS="$CFLAGS -Zi" ! 97: CORE_LINK="$CORE_LINK -debug" ! 98: fi ! 99: ! 100: ! 101: # MSVC 2005 supports C99 variadic macros ! 102: if [ $NGX_CC_NAME = msvc8 ]; then ! 103: have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have ! 104: fi ! 105: ! 106: ! 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" ! 112: ! 113: ! 114: # the resource file ! 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" ! 118: ! 119: ! 120: ngx_objout="-Fo" ! 121: ngx_binout="-Fe" ! 122: ngx_objext="obj" ! 123: ngx_binext=".exe" ! 124: ! 125: ngx_long_start='@<< ! 126: ' ! 127: ngx_long_end='<<' ! 128: ngx_long_regex_cont=' \ ! 129: ' ! 130: ngx_long_cont=' ! 131: ' ! 132: ! 133: # MSVC understand / in path ! 134: #ngx_regex_dirsep='\\' ! 135: #ngx_dirsep="\\"