nginx-0.1.5-RELEASE import
*) Bugfix: on Solaris and Linux there may be too many "recvmsg()
returned not enough data" alerts.
*) Bugfix: there were the "writev() failed (22: Invalid argument)"
errors on Solaris in proxy mode without sendfile. On other platforms
that do not support sendfile at all the process got caught in an
endless loop.
*) Bugfix: segmentation fault on Solaris in proxy mode and using
sendfile.
*) Bugfix: segmentation fault on Solaris.
*) Bugfix: on-line upgrade did not work on Linux.
*) Bugfix: the ngx_http_autoindex_module module did not escape the
spaces, the quotes, and the percent signs in the directory listing.
*) Change: the decrease of the copy operations.
*) Feature: the userid_p3p directive.
diff --git a/auto/cc/bcc b/auto/cc/bcc
index 5765c47..a76b68f 100644
--- a/auto/cc/bcc
+++ b/auto/cc/bcc
@@ -32,17 +32,31 @@
# disable logo
CFLAGS="$CFLAGS -q"
+
# precompiled headers
CORE_DEPS="$CORE_DEPS $OBJS/ngx_config.csm"
NGX_PCH="$OBJS/ngx_config.csm"
NGX_BUILD_PCH="-H=$OBJS/ngx_config.csm"
NGX_USE_PCH="-Hu -H=$OBJS/ngx_config.csm"
-LINK="\$(CC)"
+
+# Win32 GUI mode application
+LINK="\$(CC) -laa"
+
+
+# the resource file
+NGX_RES="$OBJS/nginx.res"
+NGX_RCC="brcc32 -fo$OBJS/nginx.res \$(CORE_INCS) $NGX_WIN32_RC"
+# the pragma allows to link the resource file using bcc32 and
+# to avoid the direct ilink32 calling and the c0w32.obj's WinMain/main problem
+NGX_PRAGMA="#pragma resource \"$OBJS/nginx.res\""
+
ngx_include_opt="-I"
ngx_objout="-o"
ngx_binout="-e"
ngx_objext="obj"
ngx_binext=".exe"
-ngx_dirsep='\\'
+
+ngx_regex_dirsep='\\'
+ngx_dirsep="\\"
diff --git a/auto/cc/conf b/auto/cc/conf
index 77eeda7..acb68f8 100644
--- a/auto/cc/conf
+++ b/auto/cc/conf
@@ -64,8 +64,8 @@
# . auto/cc/acc
# ;;
- msvc)
- # MSVC 6.0 SP2
+ msvc*)
+ # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
. auto/cc/msvc
;;
@@ -93,6 +93,22 @@
if [ "$PLATFORM" != win32 ]; then
+ if test -n "$NGX_LD_OPT"; then
+ ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
+ ngx_feature_name=DUMMY
+ ngx_feature_run=no
+ ngx_feature_incs=
+ ngx_feature_libs=
+ ngx_feature_test=
+ . auto/feature
+
+ if [ $ngx_found = no ]; then
+ echo $0: error: the invalid value in --with-ld-opt=\"$NGX_LD_OPT\"
+ echo
+ exit 1
+ fi
+ fi
+
ngx_feature="gcc variadic macros"
ngx_feature_name=HAVE_GCC_VARIADIC_MACROS
ngx_feature_run=yes
diff --git a/auto/cc/gcc b/auto/cc/gcc
index 61f048b..756e397 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -104,6 +104,3 @@
fi
LINK="\$(CC)"
-
-
-CC_STRONG="-Wall -Werror"
diff --git a/auto/cc/icc b/auto/cc/icc
index 94d5cdd..89c6f35 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -64,6 +64,3 @@
CFLAGS="$CFLAGS -g"
LINK="\$(CC)"
-
-
-CC_STRONG="-w1 -Werror"
diff --git a/auto/cc/msvc b/auto/cc/msvc
index d47d4b2..8272cac 100644
--- a/auto/cc/msvc
+++ b/auto/cc/msvc
@@ -2,7 +2,7 @@
# Copyright (C) Igor Sysoev
-# MSVC 6.0 SP2
+# MSVC 6.0 SP2, MSVC Toolkit 2003 (7.1)
# optimizations
@@ -31,8 +31,8 @@
;;
pentium4)
- # optimize for Pentium 4
- #CPU_OPT="-G7"
+ # optimize for Pentium 4, MSVC 7
+ CPU_OPT="-G7"
;;
esac
@@ -47,30 +47,48 @@
# stop on warning
CFLAGS="$CFLAGS -WX"
-# link with libcmt.lib, multithreaded
-#LIBC="-MT"
-# link with msvcrt.dll
-LIBC="-MD"
-
-CFLAGS="$CFLAGS $LIBC"
-
# disable logo
CFLAGS="$CFLAGS -nologo"
+
LINK="\$(CC)"
-# link flags
+# 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
-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"
+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"
diff --git a/auto/cc/name b/auto/cc/name
index b974479..cbed6a7 100644
--- a/auto/cc/name
+++ b/auto/cc/name
@@ -6,8 +6,17 @@
if [ $CC = cl ]; then
- NGX_CC_NAME=msvc
- echo " using Microsoft Visual C compiler"
+ if `$NGX_WINE $CC -v 2>&1 \
+ | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13' \
+ 2>&1 >/dev/null`; then
+
+ NGX_CC_NAME=msvc7
+ echo " using Microsoft Visual C++ 7 compiler"
+
+ else
+ NGX_CC_NAME=msvc
+ echo " using Microsoft Visual C++ compiler"
+ fi
else
if [ $CC = wcl386 ]; then
diff --git a/auto/cc/owc b/auto/cc/owc
index 0c8194d..789ffad 100644
--- a/auto/cc/owc
+++ b/auto/cc/owc
@@ -59,18 +59,25 @@
CFLAGS="$CFLAGS -zq"
# Open Watcom C 1.2
-#have=HAVE_C99_VARIADIC_MACROS . auto/have
+#have=NGX_HAVE_C99_VARIADIC_MACROS . auto/have
-# precompiled headers
+
+# the precompiled headers
CORE_DEPS="$CORE_DEPS $OBJS/ngx_config.pch"
NGX_PCH="$OBJS/ngx_config.pch"
NGX_BUILD_PCH="-fhq=$OBJS/ngx_config.pch"
NGX_USE_PCH="-fh=$OBJS/ngx_config.pch"
+
LINK="\$(CC)"
-# link flags
-CORE_LINK="$CORE_LINK -l=nt"
+# the link flags, built target is NT GUI mode application
+CORE_LINK="$CORE_LINK -l=nt_win"
+
+
+# the resource file
+NGX_RCC="wrc \$(CORE_INCS) -fo=$OBJS/nginx.res $NGX_WIN32_RC $OBJS/nginx.exe"
+
ngx_include_opt="-i="
ngx_objout="-fo"