msvc 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. # Copyright (C) Igor Sysoev
  2. # Copyright (C) Nginx, Inc.
  3. # MSVC 6.0 SP2
  4. # MSVC Toolkit 2003 (7.1)
  5. # MSVC 2005 Express Edition SP1 (8.0)
  6. # optimizations
  7. # maximize speed, equivalent to -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy
  8. CFLAGS="$CFLAGS -O2"
  9. # enable global optimization
  10. #CFLAGS="$CFLAGS -Og"
  11. # enable intrinsic functions
  12. #CFLAGS="$CFLAGS -Oi"
  13. # disable inline expansion
  14. #CFLAGS="$CFLAGS -Ob0"
  15. # explicit inline expansion
  16. #CFLAGS="$CFLAGS -Ob1"
  17. # explicit and implicit inline expansion
  18. #CFLAGS="$CFLAGS -Ob2"
  19. # enable frame pointer omission
  20. #CFLAGS="$CFLAGS -Oy"
  21. # disable stack checking calls
  22. #CFLAGS="$CFLAGS -Gs"
  23. # pools strings as read/write
  24. #CFLAGS="$CFLAGS -Gf"
  25. # pools strings as read-only
  26. #CFLAGS="$CFLAGS -GF"
  27. case $CPU in
  28. pentium)
  29. # optimize for Pentium and Athlon
  30. CPU_OPT="-G5"
  31. ;;
  32. pentiumpro)
  33. # optimize for Pentium Pro, Pentium II and Pentium III
  34. CPU_OPT="-G6"
  35. ;;
  36. pentium4)
  37. # optimize for Pentium 4, MSVC 7
  38. CPU_OPT="-G7"
  39. ;;
  40. esac
  41. # __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm
  42. #CPU_OPT="$CPU_OPT -Gd"
  43. # __stdcall
  44. #CPU_OPT="$CPU_OPT -Gz"
  45. # __fastcall
  46. #CPU_OPT="$CPU_OPT -Gr"
  47. CFLAGS="$CFLAGS $CPU_OPT"
  48. # warnings
  49. CFLAGS="$CFLAGS -W4"
  50. # stop on warning
  51. CFLAGS="$CFLAGS -WX"
  52. # disable logo
  53. CFLAGS="$CFLAGS -nologo"
  54. LINK="\$(CC)"
  55. # the link flags
  56. CORE_LINK="$CORE_LINK -link -verbose:lib"
  57. # link with libcmt.lib, multithreaded
  58. LIBC="-MT"
  59. # link with msvcrt.dll
  60. # however, MSVC Toolkit 2003 has no MSVCRT.LIB
  61. #LIBC="-MD"
  62. CFLAGS="$CFLAGS $LIBC"
  63. CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
  64. # Win32 GUI mode application
  65. #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"
  66. # debug
  67. # msvc8 under Wine issues
  68. # Program database manager mismatch; please check your installation
  69. if [ $NGX_CC_NAME != msvc8 ]; then
  70. CFLAGS="$CFLAGS -Zi"
  71. CORE_LINK="$CORE_LINK -debug"
  72. fi
  73. # MSVC 2005 supports C99 variadic macros
  74. if [ $NGX_CC_NAME = msvc8 ]; then
  75. have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
  76. fi
  77. # precompiled headers
  78. CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
  79. NGX_PCH="$NGX_OBJS/ngx_config.pch"
  80. NGX_BUILD_PCH="-Ycngx_config.h -Fp$NGX_OBJS/ngx_config.pch"
  81. NGX_USE_PCH="-Yungx_config.h -Fp$NGX_OBJS/ngx_config.pch"
  82. # the resource file
  83. NGX_RES="$NGX_OBJS/nginx.res"
  84. NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
  85. CORE_LINK="$NGX_RES $CORE_LINK"
  86. ngx_objout="-Fo"
  87. ngx_binout="-Fe"
  88. ngx_objext="obj"
  89. ngx_binext=".exe"
  90. ngx_long_start='@<<
  91. '
  92. ngx_long_end='<<'
  93. ngx_long_regex_cont=' \
  94. '
  95. ngx_long_cont='
  96. '
  97. # MSVC understand / in path
  98. #ngx_regex_dirsep='\\'
  99. #ngx_dirsep="\\"