123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- # Copyright (C) Igor Sysoev
- # Copyright (C) Nginx, Inc.
- # MSVC 6.0 SP2 cl 12.00
- # MSVC Toolkit 2003 (7.1) cl 13.10
- # MSVC 2005 Express Edition SP1 (8.0) cl 14.00
- # MSVC 2008 Express Edition (9.0) cl 15.00
- # MSVC 2010 (10.0) cl 16.00
- # MSVC 2015 (14.0) cl 19.00
- NGX_MSVC_VER=`$NGX_WINE $CC 2>&1 | grep 'Compiler Version' 2>&1 \
- | sed -e 's/^.* Version \(.*\)/\1/'`
- echo " + cl version: $NGX_MSVC_VER"
- have=NGX_COMPILER value="\"cl $NGX_MSVC_VER\"" . auto/define
- ngx_msvc_ver=`echo $NGX_MSVC_VER | sed -e 's/^\([0-9]*\).*/\1/'`
- # optimizations
- # maximize speed, equivalent to -Og -Oi -Ot -Oy -Ob2 -Gs -GF -Gy
- CFLAGS="$CFLAGS -O2"
- # enable global optimization
- #CFLAGS="$CFLAGS -Og"
- # enable intrinsic functions
- #CFLAGS="$CFLAGS -Oi"
- # disable inline expansion
- #CFLAGS="$CFLAGS -Ob0"
- # explicit inline expansion
- #CFLAGS="$CFLAGS -Ob1"
- # explicit and implicit inline expansion
- #CFLAGS="$CFLAGS -Ob2"
- # enable frame pointer omission
- #CFLAGS="$CFLAGS -Oy"
- # disable stack checking calls
- #CFLAGS="$CFLAGS -Gs"
- # pools strings as read/write
- #CFLAGS="$CFLAGS -Gf"
- # pools strings as read-only
- #CFLAGS="$CFLAGS -GF"
- 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
- # __cdecl, default, must be used with OpenSSL, md5 asm, and sha1 asm
- #CPU_OPT="$CPU_OPT -Gd"
- # __stdcall
- #CPU_OPT="$CPU_OPT -Gz"
- # __fastcall
- #CPU_OPT="$CPU_OPT -Gr"
- CFLAGS="$CFLAGS $CPU_OPT"
- # warnings
- CFLAGS="$CFLAGS -W4"
- # stop on warning
- CFLAGS="$CFLAGS -WX"
- # disable logo
- CFLAGS="$CFLAGS -nologo"
- # the link flags
- CORE_LINK="$CORE_LINK -link -verbose:lib"
- # link with libcmt.lib, multithreaded
- LIBC="-MT"
- # link with msvcrt.dll
- # however, MSVC Toolkit 2003 has no MSVCRT.LIB
- #LIBC="-MD"
- CFLAGS="$CFLAGS $LIBC"
- CORE_LIBS="$CORE_LIBS kernel32.lib user32.lib"
- # Win32 GUI mode application
- #CORE_LINK="$CORE_LINK -subsystem:windows -entry:mainCRTStartup"
- # debug
- # msvc under Wine issues
- # C1902: Program database manager mismatch; please check your installation
- if [ -z "$NGX_WINE" ]; then
- CFLAGS="$CFLAGS -Zi -Fd$NGX_OBJS/nginx.pdb"
- CORE_LINK="$CORE_LINK -debug"
- fi
- # MSVC 2005 supports C99 variadic macros
- if [ "$ngx_msvc_ver" -ge 14 ]; then
- have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
- fi
- # precompiled headers
- CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
- CORE_LINK="$CORE_LINK $NGX_OBJS/ngx_pch.obj"
- NGX_PCH="$NGX_OBJS/ngx_config.pch"
- NGX_BUILD_PCH="-Ycngx_config.h -Fp$NGX_OBJS/ngx_config.pch"
- NGX_USE_PCH="-Yungx_config.h -Fp$NGX_OBJS/ngx_config.pch"
- # the resource file
- NGX_RES="$NGX_OBJS/nginx.res"
- NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
- CORE_LINK="$NGX_RES $CORE_LINK"
- # dynamic modules
- #MAIN_LINK="-link -def:$NGX_OBJS/nginx.def"
- #MODULE_LINK="-LD $NGX_OBJS/nginx.lib"
- ngx_pic_opt=
- ngx_objout="-Fo"
- ngx_binout="-Fe"
- ngx_objext="obj"
- ngx_long_start='@<<
- '
- ngx_long_end='<<'
- ngx_long_regex_cont=' \
- '
- ngx_long_cont='
- '
- # MSVC understand / in path
- #ngx_regex_dirsep='\\'
- #ngx_dirsep="\\"
|