mirror of
https://github.com/nginx/nginx.git
synced 2024-11-21 16:28:40 +00:00
nginx-0.0.2-2004-03-09-22:47:07 import
This commit is contained in:
parent
833823cbb8
commit
fc5a10aedc
48
auto/cc
48
auto/cc
@ -31,8 +31,10 @@ case $CC in
|
||||
|
||||
have=HAVE_GCC_VARIADIC_MACROS . auto/have
|
||||
|
||||
LINK="\$(CC)"
|
||||
|
||||
OBJEXT=o
|
||||
COMPILEONLY="-c "
|
||||
COMPILEONLY="-c"
|
||||
OBJOUT="-o "
|
||||
BINOUT="-o "
|
||||
|
||||
@ -58,8 +60,10 @@ case $CC in
|
||||
|
||||
have=HAVE_C99_VARIADIC_MACROS . auto/have
|
||||
|
||||
LINK="\$(CC)"
|
||||
|
||||
OBJEXT=o
|
||||
COMPILEONLY="-c "
|
||||
COMPILEONLY="-c"
|
||||
OBJOUT="-o "
|
||||
BINOUT="-o "
|
||||
|
||||
@ -100,11 +104,14 @@ case $CC in
|
||||
# disable logo
|
||||
CFLAGS="$CFLAGS -nologo"
|
||||
|
||||
LINK="\$(CC)"
|
||||
|
||||
# link flags
|
||||
CORE_LINK="$CORE_LINK -link"
|
||||
|
||||
# msvcrt.dll
|
||||
CORE_LINK="$CORE_LINK -nodefaultlib:libcmt"
|
||||
CORE_LIBS="$CORE_LIBS msvcrt.lib"
|
||||
|
||||
# static libc
|
||||
#CORE_LINK="$CORE_LINK -nodefaultlib:msvcrt"
|
||||
@ -115,16 +122,23 @@ case $CC in
|
||||
CFLAGS="$CFLAGS -Yd"
|
||||
CORE_LINK="$CORE_LINK -debug -debugtype:coff"
|
||||
|
||||
# precompiled headers
|
||||
CORE_DEPS="$CORE_DEPS ngx_config.pch"
|
||||
PCH="ngx_config.pch"
|
||||
BUILDPCH="-Ycngx_config.h"
|
||||
USEPCH="-Yungx_config.h"
|
||||
|
||||
OBJEXT=obj
|
||||
COMPILEONLY="-c "
|
||||
COMPILEONLY="-c"
|
||||
OBJOUT="-Fo"
|
||||
BINOUT="-Fe"
|
||||
BINEXT=.exe
|
||||
|
||||
CC_STRONG="$CC -W3 -WX"
|
||||
;;
|
||||
|
||||
|
||||
wcc386)
|
||||
wcl386)
|
||||
# Open Watcom 1.0
|
||||
|
||||
# optimization
|
||||
@ -139,16 +153,18 @@ case $CC in
|
||||
CFLAGS="$CFLAGS -oe"
|
||||
# disable stack checking calls
|
||||
CFLAGS="$CFLAGS -s"
|
||||
# optimize for Pentium Pro
|
||||
#CFLAGS="$CFLAGS -6r"
|
||||
CFLAGS="$CFLAGS -6s"
|
||||
# optimize for Pentium Pro, register-based arguments
|
||||
OWC_OPT="-6r"
|
||||
# optimize for Pentium Pro, stack-based arguments
|
||||
#OWC_OPT="-6s"
|
||||
CFLAGS="$CFLAGS $OWC_OPT"
|
||||
|
||||
# warnings
|
||||
#CFLAGS="$CFLAGS -w3"
|
||||
CFLAGS="$CFLAGS -wx"
|
||||
|
||||
# stop on warning
|
||||
#CFLAGS="$CFLAGS -we"
|
||||
CFLAGS="$CFLAGS -we"
|
||||
|
||||
# built target is NT
|
||||
CFLAGS="$CFLAGS -bt=nt"
|
||||
@ -162,13 +178,23 @@ case $CC in
|
||||
# quiet
|
||||
CFLAGS="$CFLAGS -zq"
|
||||
|
||||
# link traget is NT
|
||||
# precompiled headers
|
||||
CORE_DEPS="$CORE_DEPS $OBJS\\ngx_config.pch"
|
||||
PCH="$OBJS\\ngx_config.pch"
|
||||
BUILDPCH="-fhq=$OBJS\\ngx_config.pch"
|
||||
USEPCH="-fh=$OBJS\\ngx_config.pch"
|
||||
|
||||
LINK="\$(CC)"
|
||||
|
||||
# link flags
|
||||
CORE_LINK="$CORE_LINK -l=nt"
|
||||
|
||||
OBJEXT=obj
|
||||
COMPILEONLY=
|
||||
COMPILEONLY="-c"
|
||||
OBJOUT="-fo"
|
||||
BINOUT="-fo"
|
||||
BINOUT="-fe="
|
||||
BINEXT=.exe
|
||||
|
||||
INC_EQ=YES
|
||||
MAKE_BS=YES
|
||||
MAKE_SL=YES
|
||||
|
@ -9,7 +9,10 @@ NGX_ERR=$OBJS/autoconf.err
|
||||
|
||||
CC_WARN=$CC
|
||||
|
||||
PCH=NO
|
||||
USEPCH=
|
||||
|
||||
BINEXT=
|
||||
INC_EQ=NO
|
||||
MAKE_BS=NO
|
||||
MAKE_SL=NO
|
||||
|
@ -1,18 +1,12 @@
|
||||
|
||||
if [ "$PLATFORM" != "win32" ]; then
|
||||
|
||||
if [ $PCRE != NO ]; then
|
||||
. auto/lib/pcre/make
|
||||
fi
|
||||
|
||||
|
||||
if [ $MD5 != NO ]; then
|
||||
. auto/lib/md5/make
|
||||
fi
|
||||
|
||||
|
||||
if [ $ZLIB != NO ]; then
|
||||
. auto/lib/zlib/make
|
||||
fi
|
||||
|
||||
if [ $MD5 != NO ]; then
|
||||
. auto/lib/md5/make
|
||||
fi
|
||||
|
||||
if [ $ZLIB != NO ]; then
|
||||
. auto/lib/zlib/make
|
||||
fi
|
||||
|
||||
if [ $PCRE != NO ]; then
|
||||
. auto/lib/pcre/make
|
||||
fi
|
||||
|
@ -12,13 +12,25 @@ if [ $MD5 != NONE ]; then
|
||||
|
||||
CORE_INCS="$CORE_INCS -I $MD5"
|
||||
|
||||
if [ "$PLATFORM" = "win32" ]; then
|
||||
CORE_LIBS="$CORE_LIBS md5.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$MD5"
|
||||
else
|
||||
LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
|
||||
fi
|
||||
case $CC in
|
||||
|
||||
cl)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
|
||||
CORE_LIBS="$CORE_LIBS md5.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$MD5"
|
||||
;;
|
||||
|
||||
wcl386)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/md5.lib"
|
||||
CORE_LIBS="$CORE_LIBS $MD5/md5.lib"
|
||||
;;
|
||||
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $MD5/libmd5.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $MD5 -lmd5"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
|
@ -1,24 +1,56 @@
|
||||
|
||||
echo "$MD5/libmd5.a:" >> $MAKEFILE
|
||||
case $CC in
|
||||
|
||||
cl)
|
||||
makefile=makefile.msvc
|
||||
;;
|
||||
|
||||
wcl386)
|
||||
makefile=makefile.owc
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
echo "$MD5/md5.lib:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$MD5/libmd5.a:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
|
||||
cp auto/lib/md5/$makefile $MD5
|
||||
echo " cd $MD5" >> $MAKEFILE
|
||||
echo " \$(MAKE) -f $makefile OWC_OPT=$OWC_OPT" >> $MAKEFILE
|
||||
echo " cd ..\\..\\.." >> $MAKEFILE
|
||||
;;
|
||||
|
||||
SunOS:*:i386)
|
||||
echo " cd $MD5 && \$(MAKE) x86-solaris" >> $MAKEFILE
|
||||
echo " cd $MD5 && \$(MAKE) x86-solaris" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*:i386)
|
||||
echo " cd $MD5 && \$(MAKE) x86-elf" >> $MAKEFILE
|
||||
echo " cd $MD5 && \$(MAKE) x86-elf" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
if [ $CC = gcc ]; then
|
||||
echo " cd $MD5 && \$(MAKE) gcc" >> $MAKEFILE
|
||||
echo " cd $MD5 && \$(MAKE) gcc" >> $MAKEFILE
|
||||
else
|
||||
echo " cd $MD5 && \$(MAKE) cc" >> $MAKEFILE
|
||||
echo " cd $MD5 && \$(MAKE) cc" >> $MAKEFILE
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo >> $MAKEFILE
|
||||
echo >> $MAKEFILE
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
all:
|
||||
cl -nologo -c -MT -O2 -Ob1 -Oi -Gs -D MD5_ASM -D L_ENDIAN \
|
||||
md5_dgst.c md5_one.c
|
||||
CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs -D MD5_ASM -D L_ENDIAN
|
||||
|
||||
link -lib -out:md5.lib md5_dgst.obj md5_one.obj asm/m-win32.obj
|
||||
md5.lib:
|
||||
cl $(CFLAGS) md5_dgst.c
|
||||
link -lib -out:md5.lib md5_dgst.obj asm/m-win32.obj
|
||||
|
12
auto/lib/md5/makefile.owc
Normal file
12
auto/lib/md5/makefile.owc
Normal file
@ -0,0 +1,12 @@
|
||||
|
||||
CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s $(OWC_OPT)
|
||||
|
||||
md5.lib:
|
||||
wcl386 $(CFLAGS) -bm -dL_ENDIAN md5_dgst.c
|
||||
wlib -n md5.lib md5_dgst.obj
|
||||
|
||||
#md5.lib:
|
||||
asm:
|
||||
wcl386 $(CFLAGS) -bm -dMD5_ASM -dL_ENDIAN md5_dgst.c
|
||||
wcl386 $(CFLAGS) asm\m-win32.asm
|
||||
wlib -n md5.lib md5_dgst.obj m-win32.obj
|
@ -4,37 +4,54 @@ if [ $PCRE != NONE ]; then
|
||||
CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
|
||||
CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
|
||||
|
||||
if [ "$PLATFORM" = "win32" ]; then
|
||||
have=HAVE_PCRE . auto/have
|
||||
have=PCRE_STATIC . auto/have
|
||||
CORE_LIBS="$CORE_LIBS pcre.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$PCRE"
|
||||
else
|
||||
have=HAVE_PCRE . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
|
||||
fi
|
||||
case $CC in
|
||||
|
||||
cl)
|
||||
have=HAVE_PCRE . auto/have
|
||||
have=PCRE_STATIC . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
|
||||
#CORE_DEPS="$PCRE/pcre.lib $CORE_DEPS"
|
||||
CORE_LIBS="$CORE_LIBS pcre.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$PCRE"
|
||||
;;
|
||||
|
||||
wcl386)
|
||||
have=HAVE_PCRE . auto/have
|
||||
have=PCRE_STATIC . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/pcre.lib"
|
||||
CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib"
|
||||
;;
|
||||
|
||||
*)
|
||||
have=HAVE_PCRE . auto/have
|
||||
CORE_DEPS="$CORE_DEPS $PCRE/.libs/libpcre.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $PCRE/.libs -lpcre"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
ngx_lib_inc="#include <pcre.h>"
|
||||
if [ $PLATFORM != win32 ]; then
|
||||
ngx_lib_inc="#include <pcre.h>"
|
||||
|
||||
ngx_lib="PCRE"
|
||||
ngx_lib_test="pcre *re; pcre_compile(re, 0, NULL, 0, NULL)"
|
||||
ngx_libs=-lpcre
|
||||
. auto/lib/test
|
||||
ngx_lib="PCRE"
|
||||
ngx_lib_test="pcre *re; pcre_compile(re, 0, NULL, 0, NULL)"
|
||||
ngx_libs=-lpcre
|
||||
. auto/lib/test
|
||||
|
||||
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=HAVE_PCRE . auto/have
|
||||
if [ $ngx_found = yes ]; then
|
||||
have=HAVE_PCRE . auto/have
|
||||
|
||||
CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
|
||||
CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_libs"
|
||||
CORE_DEPS="$CORE_DEPS $REGEX_DEPS"
|
||||
CORE_SRCS="$CORE_SRCS $REGEX_SRCS"
|
||||
CORE_LIBS="$CORE_LIBS $ngx_libs"
|
||||
|
||||
PCRE=YES
|
||||
else
|
||||
PCRE=NO
|
||||
PCRE=YES
|
||||
else
|
||||
PCRE=NO
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
@ -1,7 +1,47 @@
|
||||
|
||||
echo "$PCRE/.libs/libpcre.a:" >> $MAKEFILE
|
||||
echo " cd $PCRE \\" >> $MAKEFILE
|
||||
echo " && ./configure --disable-shared \\" >> $MAKEFILE
|
||||
echo " && \$(MAKE)" >> $MAKEFILE
|
||||
echo >> $MAKEFILE
|
||||
case $CC in
|
||||
|
||||
cl)
|
||||
makefile=makefile.msvc
|
||||
;;
|
||||
|
||||
wcl386)
|
||||
makefile=makefile.owc
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
echo "$PCRE/pcre.lib:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$PCRE/.libs/libpcre.a:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
cp auto/lib/pcre/patch.pcre $PCRE
|
||||
cp auto/lib/pcre/patch.config $PCRE
|
||||
cp auto/lib/pcre/$makefile $PCRE
|
||||
echo " cd $PCRE" >> $MAKEFILE
|
||||
echo " \$(MAKE) -f $makefile OWC_OPT=$OWC_OPT" >> $MAKEFILE
|
||||
echo " cd ..\\..\\.." >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
echo " cd $PCRE \\" >> $MAKEFILE
|
||||
echo " && ./configure --disable-shared \\" >> $MAKEFILE
|
||||
echo " && \$(MAKE)" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo >> $MAKEFILE
|
||||
|
@ -1,18 +1,18 @@
|
||||
|
||||
CC = cl
|
||||
CFLAGS = -O2 -Ob1 -Oi -Gs -MT
|
||||
LINK = link
|
||||
|
||||
PCREFLAGS = -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
|
||||
|
||||
|
||||
all:
|
||||
$(CC) -Fedftables dftables.c
|
||||
pcre.lib:
|
||||
patch -o pcre.h pcre.in patch.pcre
|
||||
patch -o config.h config.in patch.config
|
||||
|
||||
cl -Fedftables dftables.c
|
||||
|
||||
dftables > chartables.c
|
||||
|
||||
$(CC) -nologo -c $(CFLAGS) $(PCREFLAGS) \
|
||||
cl -nologo -c $(CFLAGS) $(PCREFLAGS) \
|
||||
maketables.c get.c study.c pcre.c
|
||||
|
||||
$(LINK) -lib -out:pcre.lib -verbose:lib \
|
||||
link -lib -out:pcre.lib -verbose:lib \
|
||||
maketables.obj get.obj study.obj pcre.obj
|
||||
|
14
auto/lib/pcre/makefile.owc
Normal file
14
auto/lib/pcre/makefile.owc
Normal file
@ -0,0 +1,14 @@
|
||||
|
||||
CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s -bm $(OWC_OPT)
|
||||
PCREFLAGS = -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10
|
||||
|
||||
|
||||
pcre.lib:
|
||||
patch -o pcre.h pcre.in patch.pcre
|
||||
patch -o config.h config.in patch.config
|
||||
|
||||
wcl386 -zq -bt=nt -l=nt -fe=dftables dftables.c
|
||||
dftables > chartables.c
|
||||
|
||||
wcl386 $(CFLAGS) $(PCREFLAGS) maketables.c get.c study.c pcre.c
|
||||
wlib -n pcre.lib maketables.obj get.obj study.obj pcre.obj
|
11
auto/lib/pcre/patch.config
Normal file
11
auto/lib/pcre/patch.config
Normal file
@ -0,0 +1,11 @@
|
||||
--- config.in.orig Thu Aug 21 14:43:07 2003
|
||||
+++ config.in Sun Mar 7 02:37:24 2004
|
||||
@@ -28,7 +28,7 @@
|
||||
found. */
|
||||
|
||||
#define HAVE_STRERROR 0
|
||||
-#define HAVE_MEMMOVE 0
|
||||
+#define HAVE_MEMMOVE 1
|
||||
|
||||
/* There are some non-Unix systems that don't even have bcopy(). If this macro
|
||||
is false, an emulation is used. If HAVE_MEMMOVE is set to 1, the value of
|
15
auto/lib/pcre/patch.pcre
Normal file
15
auto/lib/pcre/patch.pcre
Normal file
@ -0,0 +1,15 @@
|
||||
--- pcre.in.orig Thu Aug 21 14:43:07 2003
|
||||
+++ pcre.in Sun Mar 7 02:10:11 2004
|
||||
@@ -10,9 +10,9 @@
|
||||
/* The file pcre.h is build by "configure". Do not edit it; instead
|
||||
make changes to pcre.in. */
|
||||
|
||||
-#define PCRE_MAJOR @PCRE_MAJOR@
|
||||
-#define PCRE_MINOR @PCRE_MINOR@
|
||||
-#define PCRE_DATE @PCRE_DATE@
|
||||
+#define PCRE_MAJOR 4
|
||||
+#define PCRE_MINOR 4
|
||||
+#define PCRE_DATE 21-August-2003
|
||||
|
||||
/* Win32 uses DLL by default */
|
||||
|
@ -2,13 +2,25 @@
|
||||
if [ $ZLIB != NONE ]; then
|
||||
CORE_INCS="$CORE_INCS -I $ZLIB"
|
||||
|
||||
if [ "$PLATFORM" = "win32" ]; then
|
||||
CORE_LIBS="$CORE_LIBS zlib.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$ZLIB"
|
||||
else
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
|
||||
fi
|
||||
case $CC in
|
||||
|
||||
cl)
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
|
||||
CORE_LIBS="$CORE_LIBS zlib.lib"
|
||||
CORE_LINK="$CORE_LINK -libpath:$ZLIB"
|
||||
;;
|
||||
|
||||
wcl386)
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/zlib.lib"
|
||||
CORE_LIBS="$CORE_LIBS $ZLIB/zlib.lib"
|
||||
;;
|
||||
|
||||
*)
|
||||
LINK_DEPS="$LINK_DEPS $ZLIB/libz.a"
|
||||
CORE_LIBS="$CORE_LIBS -L $ZLIB -lz"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
else
|
||||
|
||||
|
@ -1,19 +1,52 @@
|
||||
|
||||
echo "$ZLIB/libz.a:" >> $MAKEFILE
|
||||
case $CC in
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
*:i386)
|
||||
echo " cd $ZLIB \\" >> $MAKEFILE
|
||||
echo " && cp contrib/asm686/match.S . \\" >> $MAKEFILE
|
||||
echo " && CFLAGS=\"-O3 -DASMV\" ./configure \\" >> $MAKEFILE
|
||||
echo " && \$(MAKE) OBJA=match.o" >> $MAKEFILE
|
||||
cl)
|
||||
makefile=makefile.msvc
|
||||
;;
|
||||
|
||||
*)
|
||||
echo " cd $ZLIB && ./configure && \$(MAKE)" >> $MAKEFILE
|
||||
wcl386)
|
||||
makefile=makefile.owc
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo >> $MAKEFILE
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
echo "$ZLIB/zlib.lib:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "$ZLIB/libz.a:" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
|
||||
case $PLATFORM in
|
||||
|
||||
win32)
|
||||
|
||||
cp auto/lib/zlib/$makefile $ZLIB
|
||||
echo " cd $ZLIB" >> $MAKEFILE
|
||||
echo " \$(MAKE) -f $makefile OWC_OPT=$OWC_OPT" >> $MAKEFILE
|
||||
echo " cd ..\\..\\.." >> $MAKEFILE
|
||||
;;
|
||||
|
||||
|
||||
*:i386)
|
||||
echo " cd $ZLIB \\" >> $MAKEFILE
|
||||
echo " && cp contrib/asm686/match.S . \\" >> $MAKEFILE
|
||||
echo " && CFLAGS=\"-O3 -DASMV\" ./configure \\" >> $MAKEFILE
|
||||
echo " && \$(MAKE) OBJA=match.o" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
*)
|
||||
echo " cd $ZLIB && ./configure && \$(MAKE)" >> $MAKEFILE
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo >> $MAKEFILE
|
||||
|
8
auto/lib/zlib/makefile.msvc
Normal file
8
auto/lib/zlib/makefile.msvc
Normal file
@ -0,0 +1,8 @@
|
||||
|
||||
CFLAGS = -nologo -c -MT -O2 -Ob1 -Oi -Gs
|
||||
|
||||
zlib.lib:
|
||||
cl $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c
|
||||
|
||||
link -lib -out:zlib.lib adler32.obj crc32.obj deflate.obj \
|
||||
trees.obj zutil.obj
|
6
auto/lib/zlib/makefile.owc
Normal file
6
auto/lib/zlib/makefile.owc
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s -bm $(OWC_OPT)
|
||||
|
||||
zlib.lib:
|
||||
wcl386 $(CFLAGS) adler32.c crc32.c deflate.c trees.c zutil.c
|
||||
wlib -n zlib.lib adler32.obj crc32.obj deflate.obj trees.obj zutil.obj
|
63
auto/make
63
auto/make
@ -5,10 +5,31 @@ mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
|
||||
|
||||
|
||||
echo "CC = $CC" > $MAKEFILE
|
||||
echo "LINK = $LINK" >> $MAKEFILE
|
||||
if [ $CC = wcl386 ]; then
|
||||
echo MAKE = wmake >> $MAKEFILE
|
||||
fi
|
||||
echo "CFLAGS = $CFLAGS" >> $MAKEFILE
|
||||
echo >> $MAKEFILE
|
||||
|
||||
|
||||
if [ $MAKE_SL = YES ]; then
|
||||
echo >> $MAKEFILE
|
||||
fi
|
||||
|
||||
all_inc="$CORE_INCS -I $OBJS $HTTP_INCS"
|
||||
if [ $INC_EQ = YES ]; then
|
||||
all_inc=`echo $all_inc | sed -e "s/-I /-i=/g"`
|
||||
fi
|
||||
|
||||
if [ $MAKE_BS = YES ]; then
|
||||
all_inc=`echo $all_inc | sed -e "s/\//\\\\\\/g"`
|
||||
fi
|
||||
|
||||
echo "ALL_INCS = $all_inc" >> $MAKEFILE
|
||||
echo >> $MAKEFILE
|
||||
|
||||
|
||||
# CORE_DEPS
|
||||
|
||||
if [ $MAKE_SL = YES ]; then
|
||||
@ -96,9 +117,9 @@ echo >> $MAKEFILE
|
||||
# nginx
|
||||
|
||||
if [ $MAKE_SL = YES ]; then
|
||||
echo $ngx_n "nginx: " $ngx_c >> $MAKEFILE
|
||||
echo $ngx_n "nginx$BINEXT: " $ngx_c >> $MAKEFILE
|
||||
else
|
||||
echo "nginx: \\" >> $MAKEFILE
|
||||
echo "nginx$BINEXT: \\" >> $MAKEFILE
|
||||
fi
|
||||
|
||||
|
||||
@ -140,9 +161,9 @@ echo >> $MAKEFILE
|
||||
# nginx build
|
||||
|
||||
if [ $MAKE_SL = YES ]; then
|
||||
echo $ngx_n " \$(CC) ${BINOUT}nginx" $ngx_c >> $MAKEFILE
|
||||
echo $ngx_n " \$(LINK) ${BINOUT}nginx" $ngx_c >> $MAKEFILE
|
||||
else
|
||||
echo " \$(CC) ${BINOUT}nginx \\" >> $MAKEFILE
|
||||
echo " \$(LINK) ${BINOUT}nginx \\" >> $MAKEFILE
|
||||
fi
|
||||
|
||||
|
||||
@ -190,7 +211,12 @@ fi
|
||||
# ngx_modules.c
|
||||
|
||||
deps="\$(CORE_DEPS)"
|
||||
args="\$(CFLAGS) \$(CORE_INCS)"
|
||||
|
||||
if [ $PCH != NO ]; then
|
||||
args="\$(CFLAGS) $USEPCH \$(ALL_INCS)"
|
||||
else
|
||||
args="\$(CFLAGS) $USEPCH \$(CORE_INCS)"
|
||||
fi
|
||||
|
||||
if [ $MAKE_SL = YES ]; then
|
||||
echo "$obj: $NGX_MODULES_C $deps" >> $MAKEFILE
|
||||
@ -237,7 +263,12 @@ done
|
||||
# http sources
|
||||
|
||||
deps="\$(CORE_DEPS) \$(HTTP_DEPS)"
|
||||
args="\$(CFLAGS) \$(CORE_INCS) \$(HTTP_INCS)"
|
||||
|
||||
if [ $PCH != NO ]; then
|
||||
args="\$(CFLAGS) $USEPCH \$(ALL_INCS)"
|
||||
else
|
||||
args="\$(CFLAGS) $USEPCH \$(CORE_INCS) \$(HTTP_INCS)"
|
||||
fi
|
||||
|
||||
for src in $HTTP_SRCS
|
||||
do
|
||||
@ -262,3 +293,23 @@ do
|
||||
echo >> $MAKEFILE
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# precompiled headers
|
||||
|
||||
if [ $PCH != NO ]; then
|
||||
echo "#include <ngx_config.h>" > $OBJS/pch.c
|
||||
|
||||
pch="$PCH: src/core/ngx_config.h $OS_CONFIG $OBJS/ngx_auto_config.h"
|
||||
src="\$(CC) \$(CFLAGS) $BUILDPCH $COMPILEONLY \$(ALL_INCS)"
|
||||
src="$src $OBJOUT$OBJS/pch.obj $OBJS/pch.c"
|
||||
|
||||
if [ $MAKE_BS = YES ]; then
|
||||
pch=`echo $pch | sed -e "s/\//\\\\\\/g"`
|
||||
src=`echo $src | sed -e "s/\//\\\\\\/g"`
|
||||
fi
|
||||
|
||||
echo "$pch" >> $MAKEFILE
|
||||
echo " $src" >> $MAKEFILE
|
||||
echo >> $MAKEFILE
|
||||
fi
|
||||
|
@ -31,15 +31,13 @@ case $PLATFORM in
|
||||
CORE_INCS="$WIN32_INCS"
|
||||
CORE_DEPS="$WIN32_DEPS"
|
||||
CORE_SRCS="$WIN32_SRCS $SELECT_SRCS $IOCP_SRCS"
|
||||
OS_CONFIG="$WIN32_CONFIG"
|
||||
EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $IOCP_MODULE"
|
||||
EVENT_FOUND=YES
|
||||
|
||||
have=HAVE_AIO . auto/have
|
||||
have=HAVE_IOCP . auto/have
|
||||
CORE_LIBS="$CORE_LIBS ws2_32.lib"
|
||||
|
||||
# msvcrt.dll
|
||||
CORE_LIBS="$CORE_LIBS msvcrt.lib"
|
||||
;;
|
||||
|
||||
esac
|
||||
|
@ -148,6 +148,8 @@ WIN32_DEPS="$CORE_DEPS $EVENT_DEPS \
|
||||
src/os/win32/ngx_os.h \
|
||||
src/os/win32/ngx_process_cycle.h"
|
||||
|
||||
WIN32_CONFIG=src/os/win32/ngx_win32_config.h
|
||||
|
||||
WIN32_SRCS="$CORE_SRCS $EVENT_SRCS \
|
||||
src/os/win32/ngx_errno.c \
|
||||
src/os/win32/ngx_files.c \
|
||||
|
@ -8,6 +8,7 @@ if [ $USE_PCRE = DISABLED ]; then
|
||||
else
|
||||
case $PCRE in
|
||||
YES) echo " + using system PCRE library" ;;
|
||||
NONE) echo " + PCRE library is not used" ;;
|
||||
NO) echo " + PCRE library is not found" ;;
|
||||
*) echo " + using PCRE library: $PCRE" ;;
|
||||
esac
|
||||
|
@ -35,7 +35,7 @@ static int ngx_worker_thread_cycle(void *data);
|
||||
|
||||
#endif
|
||||
|
||||
static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle, char **envp);
|
||||
static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle);
|
||||
static ngx_int_t ngx_getopt(ngx_master_ctx_t *ctx, ngx_cycle_t *cycle);
|
||||
static ngx_int_t ngx_core_module_init(ngx_cycle_t *cycle);
|
||||
static char *ngx_set_user(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
|
||||
@ -112,7 +112,7 @@ ngx_int_t ngx_reopen;
|
||||
ngx_int_t ngx_change_binary;
|
||||
|
||||
|
||||
int main(int argc, char *const *argv, char **envp)
|
||||
int main(int argc, char *const *argv)
|
||||
{
|
||||
ngx_int_t i;
|
||||
ngx_log_t *log;
|
||||
@ -145,6 +145,10 @@ int main(int argc, char *const *argv, char **envp)
|
||||
init_cycle.log = log;
|
||||
ngx_cycle = &init_cycle;
|
||||
|
||||
#if 0
|
||||
/* STUB */ log->log_level = NGX_LOG_DEBUG_ALL;
|
||||
#endif
|
||||
|
||||
ngx_memzero(&ctx, sizeof(ngx_master_ctx_t));
|
||||
ctx.argc = argc;
|
||||
ctx.argv = argv;
|
||||
@ -172,7 +176,7 @@ int main(int argc, char *const *argv, char **envp)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (ngx_add_inherited_sockets(&init_cycle, envp) == NGX_ERROR) {
|
||||
if (ngx_add_inherited_sockets(&init_cycle) == NGX_ERROR) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -256,49 +260,48 @@ int main(int argc, char *const *argv, char **envp)
|
||||
}
|
||||
|
||||
|
||||
static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle, char **envp)
|
||||
static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle)
|
||||
{
|
||||
char *p, *v;
|
||||
char *p, *v, *inherited;
|
||||
ngx_socket_t s;
|
||||
ngx_listening_t *ls;
|
||||
|
||||
for ( /* void */ ; *envp; envp++) {
|
||||
if (ngx_strncmp(*envp, NGINX_VAR, NGINX_VAR_LEN) != 0) {
|
||||
continue;
|
||||
}
|
||||
inherited = getenv(NGINX_VAR);
|
||||
|
||||
ngx_log_error(NGX_LOG_INFO, cycle->log, 0,
|
||||
"using inherited sockets from \"%s\"", *envp);
|
||||
|
||||
ngx_init_array(cycle->listening, cycle->pool,
|
||||
10, sizeof(ngx_listening_t), NGX_ERROR);
|
||||
|
||||
for (p = *envp + NGINX_VAR_LEN, v = p; *p; p++) {
|
||||
if (*p == ':' || *p == ';') {
|
||||
s = ngx_atoi(v, p - v);
|
||||
if (s == NGX_ERROR) {
|
||||
ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
|
||||
"invalid socket number \"%s\" "
|
||||
"in NGINX enviroment variable, "
|
||||
"ignoring the rest of the variable", v);
|
||||
break;
|
||||
}
|
||||
v = p + 1;
|
||||
|
||||
if (!(ls = ngx_push_array(&cycle->listening))) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
ls->fd = s;
|
||||
}
|
||||
}
|
||||
|
||||
ngx_inherited = 1;
|
||||
|
||||
return ngx_set_inherited_sockets(cycle);
|
||||
if (inherited == NULL) {
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
return NGX_OK;
|
||||
ngx_log_error(NGX_LOG_INFO, cycle->log, 0,
|
||||
"using inherited sockets from \"%s\"", inherited);
|
||||
|
||||
ngx_init_array(cycle->listening, cycle->pool,
|
||||
10, sizeof(ngx_listening_t), NGX_ERROR);
|
||||
|
||||
for (p = inherited, v = p; *p; p++) {
|
||||
if (*p == ':' || *p == ';') {
|
||||
s = ngx_atoi(v, p - v);
|
||||
if (s == NGX_ERROR) {
|
||||
ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
|
||||
"invalid socket number \"%s\" in "
|
||||
NGINX_VAR " enviroment variable, "
|
||||
"ignoring the rest of the variable", v);
|
||||
break;
|
||||
}
|
||||
|
||||
v = p + 1;
|
||||
|
||||
if (!(ls = ngx_push_array(&cycle->listening))) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
ls->fd = s;
|
||||
}
|
||||
}
|
||||
|
||||
ngx_inherited = 1;
|
||||
|
||||
return ngx_set_inherited_sockets(cycle);
|
||||
}
|
||||
|
||||
|
||||
@ -314,17 +317,19 @@ ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv)
|
||||
ctx.name = "new binary process";
|
||||
ctx.argv = argv;
|
||||
|
||||
var = ngx_alloc(NGINX_VAR_LEN
|
||||
+ cycle->listening.nelts * (NGX_INT32_LEN + 1) + 1,
|
||||
var = ngx_alloc(sizeof(NGINX_VAR)
|
||||
+ cycle->listening.nelts * (NGX_INT32_LEN + 1) + 2,
|
||||
cycle->log);
|
||||
|
||||
p = ngx_cpymem(var, NGINX_VAR, NGINX_VAR_LEN);
|
||||
p = ngx_cpymem(var, NGINX_VAR "=", sizeof(NGINX_VAR));
|
||||
|
||||
ls = cycle->listening.elts;
|
||||
for (i = 0; i < cycle->listening.nelts; i++) {
|
||||
p += ngx_snprintf(p, NGX_INT32_LEN + 2, "%u;", ls[i].fd);
|
||||
}
|
||||
|
||||
ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, "inherited: %s", var);
|
||||
|
||||
env[0] = var;
|
||||
env[1] = NULL;
|
||||
ctx.envp = (char *const *) &env;
|
||||
|
@ -8,8 +8,7 @@
|
||||
#define NGINX_NEW_PID_EXT ".newbin"
|
||||
#define NGINX_NEW_PID NGINX_PID NGINX_NEW_PID_EXT
|
||||
|
||||
#define NGINX_VAR "NGINX="
|
||||
#define NGINX_VAR_LEN (sizeof(NGINX_VAR) - 1)
|
||||
#define NGINX_VAR "NGINX"
|
||||
|
||||
extern ngx_module_t ngx_core_module;
|
||||
|
||||
|
@ -78,7 +78,7 @@ ngx_int_t ngx_open_listening_sockets(ngx_cycle_t *cycle)
|
||||
|
||||
/* TODO: tries configurable */
|
||||
|
||||
for (tries = 10; tries; tries--) {
|
||||
for (tries = /* STUB */ 1; tries; tries--) {
|
||||
failed = 0;
|
||||
|
||||
/* for each listening socket */
|
||||
|
@ -227,9 +227,13 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
|
||||
}
|
||||
|
||||
#if (WIN32)
|
||||
#if 0
|
||||
/* TODO: TEST */
|
||||
fprintf(stderr, "BEFORE\n");
|
||||
CloseHandle(GetStdHandle(STD_ERROR_HANDLE));
|
||||
SetStdHandle(STD_ERROR_HANDLE, cycle->log->file->fd);
|
||||
fprintf(stderr, "AFTER\n");
|
||||
#endif
|
||||
#else
|
||||
if (dup2(cycle->log->file->fd, STDERR_FILENO) == NGX_ERROR) {
|
||||
ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
|
||||
|
@ -245,7 +245,7 @@ static ngx_int_t ngx_iocp_process_events(ngx_log_t *log)
|
||||
ev->available = bytes;
|
||||
|
||||
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, log, 0,
|
||||
"iocp event handler: %08x" PTR_FMT, ev->event_handler);
|
||||
"iocp event handler: " PTR_FMT, ev->event_handler);
|
||||
|
||||
ev->event_handler(ev);
|
||||
}
|
||||
|
@ -549,9 +549,9 @@ static void *ngx_http_gzip_filter_alloc(void *opaque, u_int items, u_int size)
|
||||
|
||||
static void ngx_http_gzip_filter_free(void *opaque, void *address)
|
||||
{
|
||||
#if 0
|
||||
ngx_http_gzip_ctx_t *ctx = opaque;
|
||||
|
||||
#if 0
|
||||
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ctx->request->connection->log, 0,
|
||||
"gzip free: %X", address);
|
||||
#endif
|
||||
|
@ -844,13 +844,16 @@ static char *ngx_location_block(ngx_conf_t *cf, ngx_command_t *cmd, void *dummy)
|
||||
{
|
||||
char *rv;
|
||||
ngx_int_t m;
|
||||
ngx_str_t *value, err;
|
||||
ngx_str_t *value;
|
||||
ngx_http_module_t *module;
|
||||
ngx_conf_t pvcf;
|
||||
ngx_http_conf_ctx_t *ctx, *pvctx;
|
||||
ngx_http_core_srv_conf_t *cscf;
|
||||
ngx_http_core_loc_conf_t *clcf, **clcfp;
|
||||
#if (HAVE_PCRE)
|
||||
ngx_str_t err;
|
||||
char errstr[NGX_MAX_CONF_ERRSTR];
|
||||
#endif
|
||||
|
||||
if (!(ctx = ngx_pcalloc(cf->pool, sizeof(ngx_http_conf_ctx_t)))) {
|
||||
return NGX_CONF_ERROR;
|
||||
|
@ -95,9 +95,6 @@ ngx_module_t ngx_http_log_module = {
|
||||
static ngx_str_t http_access_log = ngx_string("access.log");
|
||||
|
||||
|
||||
static char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun",
|
||||
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
|
||||
|
||||
static ngx_str_t ngx_http_combined_fmt =
|
||||
ngx_string("%addr - - [%time] \"%request\" %status %apache_length "
|
||||
"\"%{Referer}i\" \"%{User-Agent}i\"");
|
||||
|
@ -25,4 +25,22 @@ sig_atomic_t ngx_change_binary;
|
||||
|
||||
void ngx_master_process_cycle(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx)
|
||||
{
|
||||
ngx_int_t i;
|
||||
|
||||
ngx_init_temp_number();
|
||||
|
||||
for (i = 0; ngx_modules[i]; i++) {
|
||||
if (ngx_modules[i]->init_process) {
|
||||
if (ngx_modules[i]->init_process(cycle) == NGX_ERROR) {
|
||||
/* fatal */
|
||||
exit(2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for ( ;; ) {
|
||||
ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, "worker cycle");
|
||||
|
||||
ngx_process_events(cycle->log);
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,62 @@ int ngx_blocking(ngx_socket_t s);
|
||||
#define ngx_close_socket_n "closesocket()"
|
||||
|
||||
|
||||
#ifndef WSAID_ACCEPTEX
|
||||
|
||||
typedef BOOL (PASCAL FAR * LPFN_ACCEPTEX)(
|
||||
IN SOCKET sListenSocket,
|
||||
IN SOCKET sAcceptSocket,
|
||||
IN PVOID lpOutputBuffer,
|
||||
IN DWORD dwReceiveDataLength,
|
||||
IN DWORD dwLocalAddressLength,
|
||||
IN DWORD dwRemoteAddressLength,
|
||||
OUT LPDWORD lpdwBytesReceived,
|
||||
IN LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
#define WSAID_ACCEPTEX \
|
||||
{0xb5367df1,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef WSAID_GETACCEPTEXSOCKADDRS
|
||||
|
||||
typedef VOID (PASCAL FAR * LPFN_GETACCEPTEXSOCKADDRS)(
|
||||
IN PVOID lpOutputBuffer,
|
||||
IN DWORD dwReceiveDataLength,
|
||||
IN DWORD dwLocalAddressLength,
|
||||
IN DWORD dwRemoteAddressLength,
|
||||
OUT struct sockaddr **LocalSockaddr,
|
||||
OUT LPINT LocalSockaddrLength,
|
||||
OUT struct sockaddr **RemoteSockaddr,
|
||||
OUT LPINT RemoteSockaddrLength
|
||||
);
|
||||
|
||||
#define WSAID_GETACCEPTEXSOCKADDRS \
|
||||
{0xb5367df2,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef LPFN_TRANSMITFILE
|
||||
|
||||
typedef BOOL (PASCAL FAR * LPFN_TRANSMITFILE)(
|
||||
IN SOCKET hSocket,
|
||||
IN HANDLE hFile,
|
||||
IN DWORD nNumberOfBytesToWrite,
|
||||
IN DWORD nNumberOfBytesPerSend,
|
||||
IN LPOVERLAPPED lpOverlapped,
|
||||
IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,
|
||||
IN DWORD dwReserved
|
||||
);
|
||||
|
||||
#define WSAID_TRANSMITFILE \
|
||||
{0xb5367df0,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
extern LPFN_ACCEPTEX acceptex;
|
||||
extern LPFN_GETACCEPTEXSOCKADDRS getacceptexsockaddrs;
|
||||
extern LPFN_TRANSMITFILE transmitfile;
|
||||
|
@ -7,13 +7,9 @@
|
||||
#define STRICT
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
#pragma disable_message(107)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* we need to include windows.h explicity before winsock2.h because
|
||||
* warning 4201 is enabled in windows.h
|
||||
* the warning 4201 is enabled in windows.h
|
||||
*/
|
||||
#include <windows.h>
|
||||
|
||||
@ -35,19 +31,16 @@
|
||||
#pragma warning(disable:4100)
|
||||
|
||||
/* STUB */
|
||||
#if 0
|
||||
#pragma warning(disable:4127)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __WATCOMC__
|
||||
#pragma enable_message(107)
|
||||
#if 0
|
||||
/* Symbol 'ngx_rbtree_min' has been defined, but not referenced */
|
||||
/* disable "Symbol 'ngx_rbtree_min' has been defined, but not referenced" */
|
||||
#pragma disable_message(202)
|
||||
#endif
|
||||
/* No prototype found for 'stricmp' */
|
||||
#pragma disable_message(301)
|
||||
#endif
|
||||
|
||||
#include <ngx_auto_config.h>
|
||||
|
||||
|
@ -17,6 +17,13 @@ ngx_os_io_t ngx_os_io = {
|
||||
};
|
||||
|
||||
|
||||
typedef struct {
|
||||
WORD wServicePackMinor;
|
||||
WORD wSuiteMask;
|
||||
BYTE wProductType;
|
||||
} ngx_osviex_stub_t;
|
||||
|
||||
|
||||
/* Should these pointers be per protocol ? */
|
||||
LPFN_ACCEPTEX acceptex;
|
||||
LPFN_GETACCEPTEXSOCKADDRS getacceptexsockaddrs;
|
||||
@ -29,11 +36,12 @@ static GUID tf_guid = WSAID_TRANSMITFILE;
|
||||
|
||||
int ngx_os_init(ngx_log_t *log)
|
||||
{
|
||||
u_int osviex;
|
||||
DWORD bytes;
|
||||
SOCKET s;
|
||||
WSADATA wsd;
|
||||
OSVERSIONINFOEX osvi;
|
||||
u_int osviex;
|
||||
DWORD bytes;
|
||||
SOCKET s;
|
||||
WSADATA wsd;
|
||||
OSVERSIONINFOEX osvi;
|
||||
ngx_osviex_stub_t *osviex_stub;
|
||||
|
||||
/* get Windows version */
|
||||
|
||||
@ -75,17 +83,16 @@ int ngx_os_init(ngx_log_t *log)
|
||||
ngx_win32_version += osvi.wServicePackMajor * 10
|
||||
+ osvi.wServicePackMinor;
|
||||
|
||||
ngx_log_error(NGX_LOG_INFO, log, 0,
|
||||
"OS: %u build:%u, \"%s\", suite:%x, type:%u",
|
||||
ngx_win32_version, osvi.dwBuildNumber, osvi.szCSDVersion,
|
||||
osvi.wReserved[0], osvi.wReserved[1]);
|
||||
/*
|
||||
* the MSVC 6.0 SP2 defines wSuiteMask and wProductType
|
||||
* as WORD wReserved[2]
|
||||
*/
|
||||
osviex_stub = (ngx_osviex_stub_t *) &osvi.wServicePackMinor;
|
||||
|
||||
#if 0
|
||||
ngx_log_error(NGX_LOG_INFO, log, 0,
|
||||
"OS: %u build:%u, \"%s\", suite:%x, type:%u",
|
||||
ngx_win32_version, osvi.dwBuildNumber, osvi.szCSDVersion,
|
||||
osvi.wSuiteMask, osvi.wProductType);
|
||||
#endif
|
||||
osviex_stub->wSuiteMask, osviex_stub->wProductType);
|
||||
|
||||
} else {
|
||||
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) {
|
||||
@ -123,6 +130,10 @@ int ngx_os_init(ngx_log_t *log)
|
||||
return NGX_ERROR;
|
||||
}
|
||||
|
||||
if (ngx_win32_version < NGX_WIN_NT) {
|
||||
return NGX_OK;
|
||||
}
|
||||
|
||||
/* get AcceptEx(), GetAcceptExSockAddrs() and TransmitFile() addresses */
|
||||
|
||||
s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP, 0);
|
||||
|
@ -64,7 +64,7 @@ ssize_t ngx_overlapped_wsarecv(ngx_connection_t *c, char *buf, size_t size)
|
||||
rev = c->read;
|
||||
|
||||
if (!rev->ready) {
|
||||
ngx_log_error(NGX_LOG_ALERT, rev->log, 0, "second wsa post");
|
||||
ngx_log_error(NGX_LOG_ALERT, c->log, 0, "second wsa post");
|
||||
return NGX_AGAIN;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user