Mercurial > hg > nginx
view auto/lib/sha1/make @ 6397:78f8ac479735
Win32: simplified and improved handling of MSVC versions.
Now we always set NGX_CC_NAME to "msvc", and additionally test compiler
version as reported by "cl" in auto/cc/msvc (the same version is also
available via the _MSC_VER define). In particular, this approach allows
to properly check for C99 variadic macros support, which previously was
not used with MSVC versions not explicitly recognized.
Now unneeded wildcards in NGX_CC_NAME tests for msvc removed accordingly,
as well as unused wildcards for owc and icc.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 13 Feb 2016 06:47:34 +0300 |
parents | d620f497c50f |
children |
line wrap: on
line source
# Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. case "$NGX_CC_NAME" in msvc) ngx_makefile=makefile.msvc ngx_opt="CPU_OPT=\"$CPU_OPT\" LIBC=$LIBC SHA1_ASM=$SHA1_ASM" ngx_sha1="SHA1=\"$SHA1\"" ;; owc) ngx_makefile=makefile.owc ngx_opt="CPU_OPT=\"$CPU_OPT\"" ngx_sha1=`echo SHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; bcc) ngx_makefile=makefile.bcc ngx_opt="-DCPU_OPT=\"$CPU_OPT\" -DSHA1_ASM=$SHA1_ASM" ngx_sha1=`echo \-DSHA1=\"$SHA1\" | sed -e "s/\//$ngx_regex_dirsep/g"` ;; esac done=NO case "$NGX_PLATFORM" in win32) cat << END >> $NGX_MAKEFILE `echo "$SHA1/sha1.lib: $NGX_MAKEFILE" | sed -e "s/\//$ngx_regex_dirsep/g"` \$(MAKE) -f auto/lib/sha1/$ngx_makefile $ngx_opt $ngx_sha1 END done=YES ;; SunOS:*:i86pc) if [ $SHA1_ASM = YES ]; then cat << END >> $NGX_MAKEFILE $SHA1/libsha.a: $NGX_MAKEFILE cd $SHA1 \\ && \$(MAKE) CFLAGS="$SHA1_OPT -DSOL -DSHA1_ASM -DL_ENDIAN" \\ CC="\$(CC)" CPP="\$(CPP)" \\ SHA_ASM_OBJ=asm/sx86-sol.o clean libsha.a END done=YES fi ;; # FreeBSD: i386 # Linux: i686 *:i386 | *:i686) if [ $SHA1_ASM = YES ]; then cat << END >> $NGX_MAKEFILE $SHA1/libsha.a: $NGX_MAKEFILE cd $SHA1 \\ && \$(MAKE) CFLAGS="$SHA1_OPT -DELF -DSHA1_ASM -DL_ENDIAN" \\ CC="\$(CC)" CPP="\$(CPP)" \\ SHA_ASM_OBJ=asm/sx86-elf.o clean libsha.a END done=YES fi ;; esac if [ $done = NO ]; then cat << END >> $NGX_MAKEFILE $SHA1/libsha.a: $NGX_MAKEFILE cd $SHA1 \\ && \$(MAKE) CFLAGS="$SHA1_OPT" \\ CC="\$(CC)" SHA_ASM_OBJ= clean libsha.a END fi