diff --git a/auto/cc/bcc b/auto/cc/bcc
index a76b68f..4b88129 100644
--- a/auto/cc/bcc
+++ b/auto/cc/bcc
@@ -34,10 +34,10 @@
 
 
 # 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"
+CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.csm"
+NGX_PCH="$NGX_OBJS/ngx_config.csm"
+NGX_BUILD_PCH="-H=$NGX_OBJS/ngx_config.csm"
+NGX_USE_PCH="-Hu -H=$NGX_OBJS/ngx_config.csm"
 
 
 # Win32 GUI mode application
@@ -45,11 +45,11 @@
 
 
 # the resource file
-NGX_RES="$OBJS/nginx.res"
-NGX_RCC="brcc32 -fo$OBJS/nginx.res \$(CORE_INCS) $NGX_WIN32_RC"
+NGX_RES="$NGX_OBJS/nginx.res"
+NGX_RCC="brcc32 -fo$NGX_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_PRAGMA="#pragma resource \"$NGX_OBJS/nginx.res\""
 
 
 ngx_include_opt="-I"
diff --git a/auto/cc/conf b/auto/cc/conf
index c1f577e..0a5db9e 100644
--- a/auto/cc/conf
+++ b/auto/cc/conf
@@ -92,11 +92,11 @@
 CFLAGS="$CFLAGS $NGX_CC_OPT"
 
 
-if [ "$PLATFORM" != win32 ]; then
+if [ "$NGX_PLATFORM" != win32 ]; then
 
     if test -n "$NGX_LD_OPT"; then
         ngx_feature=--with-ld-opt=\"$NGX_LD_OPT\"
-        ngx_feature_name="DUMMY"
+        ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs=
         ngx_feature_libs=
@@ -111,7 +111,7 @@
     fi
 
     ngx_feature="gcc variadic macros"
-    ngx_feature_name="HAVE_GCC_VARIADIC_MACROS"
+    ngx_feature_name="NGX_HAVE_GCC_VARIADIC_MACROS"
     ngx_feature_run=yes
     ngx_feature_incs="#include <stdio.h>
 #define var(dummy, args...)  sprintf(args)"
@@ -123,7 +123,7 @@
 
 
     ngx_feature="C99 variadic macros"
-    ngx_feature_name="HAVE_C99_VARIADIC_MACROS"
+    ngx_feature_name="NGX_HAVE_C99_VARIADIC_MACROS"
     ngx_feature_run=yes
     ngx_feature_incs="#include <stdio.h>
 #define var(dummy, ...) sprintf(__VA_ARGS__)"
@@ -135,7 +135,7 @@
 
 
 #    ngx_feature="inline"
-#    ngx_feature_name="DUMMY"
+#    ngx_feature_name=
 #    ngx_feature_run=no
 #    ngx_feature_incs="int inline f(void) { return 1 }"
 #    ngx_feature_libs=
diff --git a/auto/cc/icc b/auto/cc/icc
index 89c6f35..a32eec4 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -18,7 +18,7 @@
 IPO="-ipo -ipo_obj"
 CFLAGS="$CFLAGS $IPO"
 CORE_LINK="$CORE_LINK $IPO"
-CORE_LINK="$CORE_LINK -opt_report_file=$OBJS/opt_report_file"
+CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file"
 
 case $CPU in
     pentium)
diff --git a/auto/cc/msvc b/auto/cc/msvc
index 8272cac..0fa1a2c 100644
--- a/auto/cc/msvc
+++ b/auto/cc/msvc
@@ -77,15 +77,15 @@
 
 # precompiled headers
 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"
+    CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
+    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"
 fi
 
 
 # the resource file
-NGX_RES="$OBJS/nginx.res"
+NGX_RES="$NGX_OBJS/nginx.res"
 NGX_RCC="rc -fo$NGX_RES \$(CORE_INCS) $NGX_WIN32_RC"
 CORE_LINK="$NGX_RES $CORE_LINK"
 
diff --git a/auto/cc/owc b/auto/cc/owc
index 789ffad..88ffdb1 100644
--- a/auto/cc/owc
+++ b/auto/cc/owc
@@ -63,10 +63,10 @@
 
 
 # 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"
+CORE_DEPS="$CORE_DEPS $NGX_OBJS/ngx_config.pch"
+NGX_PCH="$NGX_OBJS/ngx_config.pch"
+NGX_BUILD_PCH="-fhq=$NGX_OBJS/ngx_config.pch"
+NGX_USE_PCH="-fh=$NGX_OBJS/ngx_config.pch"
 
 
 LINK="\$(CC)"
@@ -76,7 +76,8 @@
 
 
 # the resource file
-NGX_RCC="wrc \$(CORE_INCS) -fo=$OBJS/nginx.res $NGX_WIN32_RC $OBJS/nginx.exe"
+NGX_RCC="wrc \$(CORE_INCS) -fo=$NGX_OBJS/nginx.res "
+NGX_RCC="$NGX_RCC $NGX_WIN32_RC $NGX_OBJS/nginx.exe"
 
 
 ngx_include_opt="-i="
diff --git a/auto/configure b/auto/configure
index d5cc7e0..0cd17ea 100755
--- a/auto/configure
+++ b/auto/configure
@@ -7,26 +7,26 @@
 . auto/init
 . auto/sources
 
-test -d $OBJS || mkdir $OBJS
+test -d $NGX_OBJS || mkdir $NGX_OBJS
 
 echo > $NGX_AUTO_HEADERS_H
 echo > $NGX_AUTO_CONFIG_H
 echo > $NGX_AUTOCONF_ERR
 
 
-if [ $DEBUG = YES ]; then
+if [ $NGX_DEBUG = YES ]; then
     have=NGX_DEBUG . auto/have
 fi
 
 
-if [ "$PLATFORM" != win32 ]; then
+if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/headers
 fi
 
 . auto/cc/conf
 . auto/os/conf
 
-if [ "$PLATFORM" != win32 ]; then
+if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/threads
 fi
 
@@ -37,21 +37,21 @@
 . auto/lib/make
 . auto/install
 
-if [ "$PLATFORM" != win32 ]; then
+if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/unix
 fi
 
 # STUB
 . auto/stubs
 
-have=NGX_PREFIX value="\"$PREFIX/\"" . auto/define
-have=NGX_SBIN_PATH value="\"$SBIN_PATH\"" . auto/define
-have=NGX_CONF_PATH value="\"$CONF_PATH\"" . auto/define
-have=NGX_PID_PATH value="\"$PID_PATH\"" . auto/define
-if [ ".$ERROR_LOG_PATH" != "." ]; then
-    have=NGX_ERROR_LOG_PATH value="\"$ERROR_LOG_PATH\"" . auto/define
+have=NGX_PREFIX value="\"$NGX_PREFIX/\"" . auto/define
+have=NGX_SBIN_PATH value="\"$NGX_SBIN_PATH\"" . auto/define
+have=NGX_CONF_PATH value="\"$NGX_CONF_PATH\"" . auto/define
+have=NGX_PID_PATH value="\"$NGX_PID_PATH\"" . auto/define
+if test -n "$NGX_ERROR_LOG_PATH"; then
+    have=NGX_ERROR_LOG_PATH value="\"$NGX_ERROR_LOG_PATH\"" . auto/define
 fi
-have=NGX_HTTP_LOG_PATH value="\"$HTTP_LOG_PATH\"" . auto/define
+have=NGX_HTTP_LOG_PATH value="\"$NGX_HTTP_LOG_PATH\"" . auto/define
 
 have=NGX_USER value="\"$NGX_USER\"" . auto/define
 have=NGX_GROUP value="\"$NGX_GROUP\"" . auto/define
diff --git a/auto/endianess b/auto/endianess
index 640b465..578dd45 100644
--- a/auto/endianess
+++ b/auto/endianess
@@ -25,7 +25,7 @@
 if [ -x $NGX_AUTOTEST ]; then
     if $NGX_AUTOTEST 2>&1 > /dev/null; then
         echo " little endianess"
-        have=HAVE_LITTLE_ENDIAN . auto/have
+        have=NGX_HAVE_LITTLE_ENDIAN . auto/have
     else
         echo " big endianess"
     fi
diff --git a/auto/feature b/auto/feature
index 410f539..0fbbe84 100644
--- a/auto/feature
+++ b/auto/feature
@@ -14,9 +14,7 @@
 ngx_found=no
 
 if test -n "$ngx_feature_name"; then
-    ngx_have_feature=`echo NGX_$ngx_feature_name | tr '[a-z]' '[A-Z]'`
-    # STUB
-    ngx_have_feature0=`echo HAVE_$ngx_feature_name | tr '[a-z]' '[A-Z]'`
+    ngx_have_feature=`echo $ngx_feature_name | tr '[a-z]' '[A-Z]'`
 fi
 
 cat << END > $NGX_AUTOTEST.c
@@ -51,11 +49,6 @@
                have=$ngx_have_feature . auto/have
            fi
 
-           #STUB
-           if test -n "$ngx_feature_name"; then
-               have=$ngx_have_feature0 . auto/have
-           fi
-
        else
            echo " found but is not working"
        fi
@@ -68,11 +61,6 @@
            have=$ngx_have_feature . auto/have
        fi
 
-       #STUB
-       if test -n "$ngx_feature_name"; then
-           have=$ngx_have_feature0 . auto/have
-       fi
-
     fi
 
 else
diff --git a/auto/func b/auto/func
deleted file mode 100644
index 970d634..0000000
--- a/auto/func
+++ /dev/null
@@ -1,43 +0,0 @@
-
-# Copyright (C) Igor Sysoev
-
-
-echo $ngx_n "checking for $ngx_func ..." $ngx_c
-echo >> $NGX_ERR
-echo "checking for $ngx_func" >> $NGX_ERR
-
-ngx_found=no
-
-func=`echo $ngx_func | sed -e 's/()$//' | tr '[a-z]' '[A-Z]'`
-
-cat << END > $NGX_AUTOTEST.c
-
-#include <sys/types.h>
-$NGX_UNISTD_H
-$ngx_func_inc
-
-int main() {
-    $ngx_func_test;
-    return 0;
-}
-
-END
-
-test="$CC_WARN $CC_TEST_FLAGS -o $NGX_AUTOTEST $NGX_AUTOTEST.c $ngx_func_libs"
-eval "$test >> $NGX_ERR 2>&1"
-
-if [ -x $NGX_AUTOTEST ]; then
-    echo " found"
-    have=HAVE_$func . auto/have
-    ngx_found=yes
-
-else
-    echo " not found"
-    echo "---------" >> $NGX_ERR
-    cat $NGX_AUTOTEST.c >> $NGX_ERR
-    echo "---------" >> $NGX_ERR
-    echo $test >> $NGX_ERR
-    echo "---------" >> $NGX_ERR
-fi
-
-rm $NGX_AUTOTEST*
diff --git a/auto/init b/auto/init
index 080cc28..0b33c3b 100644
--- a/auto/init
+++ b/auto/init
@@ -12,9 +12,8 @@
 NGX_AUTOCONF_ERR=$NGX_OBJS/autoconf.err
 
 # STUBs
-OBJS=$NGX_OBJS
-NGX_ERR=$OBJS/autoconf.err
-MAKEFILE=$OBJS/Makefile
+NGX_ERR=$NGX_OBJS/autoconf.err
+MAKEFILE=$NGX_OBJS/Makefile
 
 
 NGX_PCH=
@@ -54,9 +53,9 @@
 	rm -rf Makefile $NGX_OBJS
 
 upgrade:
-	$SBIN_PATH -t
-	kill -USR2 \`cat $PID_PATH\`
+	$NGX_SBIN_PATH -t
+	kill -USR2 \`cat $NGX_PID_PATH\`
 	sleep 1
-	test -f $PID_PATH.newbin
-	kill -WINCH \`cat $PID_PATH\`
+	test -f $NGX_PID_PATH.newbin
+	kill -WINCH \`cat $NGX_PID_PATH\`
 END
diff --git a/auto/install b/auto/install
index bae092b..7a26d04 100644
--- a/auto/install
+++ b/auto/install
@@ -2,40 +2,40 @@
 # Copyright (C) Igor Sysoev
 
 
-cat << END                                                        >> $MAKEFILE
+cat << END                                                    >> $NGX_MAKEFILE
 
 install:
-	test -d $PREFIX || mkdir -p $PREFIX
+	test -d $NGX_PREFIX || mkdir -p $NGX_PREFIX
 
-	test -d `dirname $SBIN_PATH` || mkdir -p `dirname $SBIN_PATH`
-	test ! -f $SBIN_PATH || mv $SBIN_PATH $SBIN_PATH.old
-	cp $OBJS/nginx $SBIN_PATH
+	test -d `dirname $NGX_SBIN_PATH` || mkdir -p `dirname $NGX_SBIN_PATH`
+	test ! -f $NGX_SBIN_PATH || mv $NGX_SBIN_PATH $NGX_SBIN_PATH.old
+	cp $NGX_OBJS/nginx $NGX_SBIN_PATH
 
-	test -d `dirname $CONF_PATH` || mkdir -p `dirname $CONF_PATH`
+	test -d `dirname $NGX_CONF_PATH` || mkdir -p `dirname $NGX_CONF_PATH`
 
-	cp conf/koi-win `dirname $CONF_PATH`
+	cp conf/koi-win `dirname $NGX_CONF_PATH`
 
-	test -f `dirname $CONF_PATH`/mime.types || \
-		cp conf/mime.types `dirname $CONF_PATH`/mime.types
-	cp conf/mime.types `dirname $CONF_PATH`/mime.types.default
+	test -f `dirname $NGX_CONF_PATH`/mime.types || \
+		cp conf/mime.types `dirname $NGX_CONF_PATH`/mime.types
+	cp conf/mime.types `dirname $NGX_CONF_PATH`/mime.types.default
 
-	test -f $CONF_PATH || cp conf/nginx.conf $CONF_PATH
-	cp conf/nginx.conf `dirname $CONF_PATH`/nginx.conf.default
+	test -f $NGX_CONF_PATH || cp conf/nginx.conf $NGX_CONF_PATH
+	cp conf/nginx.conf `dirname $NGX_CONF_PATH`/nginx.conf.default
 
-	test -d `dirname $PID_PATH` || mkdir -p `dirname $PID_PATH`
+	test -d `dirname $NGX_PID_PATH` || mkdir -p `dirname $NGX_PID_PATH`
 
-	test -d `dirname $HTTP_LOG_PATH` || mkdir -p `dirname $HTTP_LOG_PATH`
+	test -d `dirname $NGX_HTTP_LOG_PATH` || \
+		mkdir -p `dirname $NGX_HTTP_LOG_PATH`
 
-	test -d $PREFIX/html || cp -r html $PREFIX
-
-	#test -d $PREFIX/temp || mkdir -p $PREFIX/temp
+	test -d $NGX_PREFIX/html || cp -r html $NGX_PREFIX
 END
 
 
-if [ ".$ERROR_LOG_PATH" != "." ]; then
-    cat << END                                                    >> $MAKEFILE
+if test -n "$NGX_ERROR_LOG_PATH"; then
+    cat << END                                                >> $NGX_MAKEFILE
 
-	test -d `dirname $ERROR_LOG_PATH` || mkdir -p `dirname $ERROR_LOG_PATH`
+	test -d `dirname $NGX_ERROR_LOG_PATH` || \
+		mkdir -p `dirname $NGX_ERROR_LOG_PATH`
 END
 
 fi
diff --git a/auto/lib/md5/conf b/auto/lib/md5/conf
index 27fd641..8122423 100644
--- a/auto/lib/md5/conf
+++ b/auto/lib/md5/conf
@@ -7,7 +7,7 @@
     if grep MD5_Init $MD5/md5.h >/dev/null; then
         # OpenSSL md5
         OPENSSL_MD5=YES
-        have=HAVE_OPENSSL_MD5 . auto/have
+        have=NGX_HAVE_OPENSSL_MD5 . auto/have
     else
         # rsaref md5
         OPENSSL_MD5=NO
@@ -43,13 +43,13 @@
 
 else
 
-    if [ $PLATFORM != win32 ]; then
+    if [ $NGX_PLATFORM != win32 ]; then
         MD5=NO
 
         # Solaris 8/9
 
         ngx_feature="rsaref md5 library"
-        ngx_feature_name="rsaref_md5"
+        ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs="#include <md5.h>"
         ngx_feature_libs="-lmd5"
@@ -66,7 +66,7 @@
             # FreeBSD
 
             ngx_feature="rsaref md library"
-            ngx_feature_name="rsaref_md5"
+            ngx_feature_name=
             ngx_feature_run=no
             ngx_feature_incs="#include <md5.h>"
             ngx_feature_libs="-lmd"
@@ -87,7 +87,7 @@
                # OpenSSL crypto library
 
                ngx_feature="OpenSSL md5 crypto library"
-               ngx_feature_name="OpenSSL_md5"
+               ngx_feature_name="NGX_OPENSSL_MD5"
                ngx_feature_run=no
                ngx_feature_incs="#include <openssl/md5.h>"
                ngx_feature_libs="-lcrypto"
@@ -98,7 +98,7 @@
 
 
         if [ $ngx_found = yes ]; then
-            have=HAVE_OPENSSL_MD5_H . auto/have
+            have=NGX_HAVE_OPENSSL_MD5_H . auto/have
             CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
             MD5=YES
             MD5_LIB=crypto
diff --git a/auto/lib/md5/make b/auto/lib/md5/make
index 5dfddfa..b333d4d 100644
--- a/auto/lib/md5/make
+++ b/auto/lib/md5/make
@@ -25,7 +25,7 @@
 done=NO
 
 
-case $PLATFORM in
+case $NGX_PLATFORM in
 
     win32)
         cp auto/lib/md5/$ngx_makefile $MD5
diff --git a/auto/lib/openssl/conf b/auto/lib/openssl/conf
index 8ef4f3a..0a70f33 100644
--- a/auto/lib/openssl/conf
+++ b/auto/lib/openssl/conf
@@ -18,11 +18,11 @@
 
 else
 
-    if [ $PLATFORM != win32 ]; then
+    if [ $NGX_PLATFORM != win32 ]; then
         OPENSSL=NO
 
         ngx_feature="OpenSSL library"
-        ngx_feature_name="OpenSSL"
+        ngx_feature_name="NGX_OPENSSL"
         ngx_feature_run=no
         ngx_feature_incs="#include <openssl/ssl.h>"
         ngx_feature_libs="-lssl -lcrypto"
@@ -30,7 +30,6 @@
         . auto/feature
 
         if [ $ngx_found = yes ]; then
-            have=NGX_OPENSSL . auto/have
             CORE_DEPS="$CORE_DEPS $OPENSSL_DEPS"
             CORE_SRCS="$CORE_SRCS $OPENSSL_SRCS"
             CORE_LIBS="$CORE_LIBS $ngx_feature_libs"
diff --git a/auto/lib/openssl/make b/auto/lib/openssl/make
index 5e931cb..28ab003 100644
--- a/auto/lib/openssl/make
+++ b/auto/lib/openssl/make
@@ -2,7 +2,7 @@
 # Copyright (C) Igor Sysoev
 
 
-case $PLATFORM in
+case $NGX_PLATFORM in
     *)
         echo "$OPENSSL/libssl.a:"                                 >> $MAKEFILE
         echo "	cd $OPENSSL \\"                                   >> $MAKEFILE
diff --git a/auto/lib/pcre/conf b/auto/lib/pcre/conf
index cf26be2..168acba 100644
--- a/auto/lib/pcre/conf
+++ b/auto/lib/pcre/conf
@@ -42,14 +42,14 @@
 
 else
 
-    if [ $PLATFORM != win32 ]; then
+    if [ $NGX_PLATFORM != win32 ]; then
         PCRE=NO
 
         # FreeBSD PCRE port requires --with-cc-opt="-I /usr/local/include"
         #                            --with-ld-opt="-L /usr/local/lib"
         
         ngx_feature="PCRE library"
-        ngx_feature_name="PCRE"
+        ngx_feature_name="NGX_PCRE"
         ngx_feature_run=no
         ngx_feature_incs="#include <pcre.h>"
         ngx_feature_libs="-lpcre"
diff --git a/auto/lib/pcre/make b/auto/lib/pcre/make
index a60fedb..27d774b 100644
--- a/auto/lib/pcre/make
+++ b/auto/lib/pcre/make
@@ -22,7 +22,7 @@
 esac
 
 
-case $PLATFORM in
+case $NGX_PLATFORM in
 
     win32)
         cp auto/lib/pcre/patch.pcre.in $PCRE
diff --git a/auto/lib/zlib/conf b/auto/lib/zlib/conf
index 797a2d3..8edd3f3 100644
--- a/auto/lib/zlib/conf
+++ b/auto/lib/zlib/conf
@@ -37,13 +37,13 @@
 
 else
 
-    if [ $PLATFORM != win32 ]; then
+    if [ $NGX_PLATFORM != win32 ]; then
         ZLIB=NO
 
         # FreeBSD, Solaris, Linux
 
         ngx_feature="zlib library"
-        ngx_feature_name="zlib"
+        ngx_feature_name=
         ngx_feature_run=no
         ngx_feature_incs="#include <zlib.h>"
         ngx_feature_libs="-lz"
diff --git a/auto/lib/zlib/make b/auto/lib/zlib/make
index 2e5ea84..1884b50 100644
--- a/auto/lib/zlib/make
+++ b/auto/lib/zlib/make
@@ -26,7 +26,7 @@
 done=NO
 
 
-case $PLATFORM in
+case $NGX_PLATFORM in
 
     win32)
         cp auto/lib/zlib/$ngx_makefile $ZLIB
diff --git a/auto/make b/auto/make
index 55f36c9..9b6e4be 100644
--- a/auto/make
+++ b/auto/make
@@ -2,10 +2,11 @@
 # Copyright (C) Igor Sysoev
 
 
-mkdir -p $OBJS/src/core $OBJS/src/event $OBJS/src/event/modules \
-         $OBJS/src/os/unix $OBJS/src/os/win32 \
-         $OBJS/src/http $OBJS/src/http/modules $OBJS/src/http/modules/proxy \
-         $OBJS/src/imap
+mkdir -p $NGX_OBJS/src/core $NGX_OBJS/src/event $NGX_OBJS/src/event/modules \
+         $NGX_OBJS/src/os/unix $NGX_OBJS/src/os/win32 \
+         $NGX_OBJS/src/http $NGX_OBJS/src/http/modules \
+	 $NGX_OBJS/src/http/modules/proxy \
+         $NGX_OBJS/src/imap
 
 
 ngx_objs_dir=$NGX_OBJS$ngx_regex_dirsep
@@ -33,7 +34,7 @@
 
 # ALL_INCS, required by OpenWatcom C precompiled headers
 
-ngx_incs=`echo $CORE_INCS $OBJS $HTTP_INCS $IMAP_INCS\
+ngx_incs=`echo $CORE_INCS $NGX_OBJS $HTTP_INCS $IMAP_INCS\
     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
           -e "s/\//$ngx_regex_dirsep/g"`
 
@@ -53,7 +54,7 @@
     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont\1/g" \
           -e "s/\//$ngx_regex_dirsep/g"`
 
-ngx_incs=`echo $CORE_INCS $OBJS \
+ngx_incs=`echo $CORE_INCS $NGX_OBJS \
     | sed -e "s/  *\([^ ][^ ]*\)/$ngx_regex_cont$ngx_include_opt\1/g" \
           -e "s/\//$ngx_regex_dirsep/g"`
 
@@ -287,13 +288,13 @@
 # the precompiled headers
 
 if test -n "$NGX_PCH"; then
-    echo "#include <ngx_config.h>" > $OBJS/ngx_pch.c
+    echo "#include <ngx_config.h>" > $NGX_OBJS/ngx_pch.c
 
-    ngx_pch="src/core/ngx_config.h $OS_CONFIG $OBJS/ngx_auto_config.h"
+    ngx_pch="src/core/ngx_config.h $OS_CONFIG $NGX_OBJS/ngx_auto_config.h"
     ngx_pch=`echo "$NGX_PCH:	$ngx_pch" | sed -e "s/\//$ngx_regex_dirsep/g"`
 
     ngx_src="\$(CC) \$(CFLAGS) $NGX_BUILD_PCH $ngx_compile_opt \$(ALL_INCS)"
-    ngx_src="$ngx_src $ngx_objout$OBJS/ngx_pch.obj $OBJS/ngx_pch.c"
+    ngx_src="$ngx_src $ngx_objout$NGX_OBJS/ngx_pch.obj $NGX_OBJS/ngx_pch.c"
     ngx_src=`echo $ngx_src | sed -e "s/\//$ngx_regex_dirsep/g"`
 
     cat << END                                                >> $NGX_MAKEFILE
diff --git a/auto/modules b/auto/modules
index e9a42e3..f02e803 100644
--- a/auto/modules
+++ b/auto/modules
@@ -7,7 +7,7 @@
 fi
 
 if [ $EVENT_SELECT = YES ]; then
-    have=HAVE_SELECT . auto/have
+    have=NGX_HAVE_SELECT . auto/have
     CORE_SRCS="$CORE_SRCS $SELECT_SRCS"
     EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
 fi
@@ -18,29 +18,29 @@
 fi
 
 if [ $EVENT_POLL = YES ]; then
-    have=HAVE_POLL . auto/have
+    have=NGX_HAVE_POLL . auto/have
     CORE_SRCS="$CORE_SRCS $POLL_SRCS"
     EVENT_MODULES="$EVENT_MODULES $POLL_MODULE"
 fi
 
 
-if [ $TEST_BUILD_DEVPOLL = YES ]; then
-    have=HAVE_DEVPOLL . auto/have
-    have=TEST_BUILD_DEVPOLL . auto/have
+if [ $NGX_TEST_BUILD_DEVPOLL = YES ]; then
+    have=NGX_HAVE_DEVPOLL . auto/have
+    have=NGX_TEST_BUILD_DEVPOLL . auto/have
     EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
     CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
 fi
 
-if [ $TEST_BUILD_EPOLL = YES ]; then
-    have=HAVE_EPOLL . auto/have
-    have=TEST_BUILD_EPOLL . auto/have
+if [ $NGX_TEST_BUILD_EPOLL = YES ]; then
+    have=NGX_HAVE_EPOLL . auto/have
+    have=NGX_TEST_BUILD_EPOLL . auto/have
     EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
     CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
 fi
 
-if [ $TEST_BUILD_RTSIG = YES ]; then
-    have=HAVE_RTSIG . auto/have
-    have=TEST_BUILD_RTSIG . auto/have
+if [ $NGX_TEST_BUILD_RTSIG = YES ]; then
+    have=NGX_HAVE_RTSIG . auto/have
+    have=NGX_TEST_BUILD_RTSIG . auto/have
     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
     CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
 fi
@@ -135,8 +135,11 @@
     HTTP_SRCS="$HTTP_SRCS $HTTP_PROXY_SRCS"
 fi
 
-if [ -r $OBJS/auto ]; then
-    . $OBJS/auto
+# STUB
+#HTTP_SRCS="$HTTP_SRCS $HTPP_FILE_CACHE_SRCS"
+
+if [ -r $NGX_OBJS/auto ]; then
+    . $NGX_OBJS/auto
 fi
 
 modules="$CORE_MODULES $EVENT_MODULES"
diff --git a/auto/options b/auto/options
index 06488c8..266ea31 100644
--- a/auto/options
+++ b/auto/options
@@ -4,29 +4,29 @@
 
 help=no
 
-PREFIX=
-SBIN_PATH=
-CONF_PATH=
-ERROR_LOG_PATH=
-PID_PATH=
+NGX_PREFIX=
+NGX_SBIN_PATH=
+NGX_CONF_PATH=
+NGX_ERROR_LOG_PATH=
+NGX_PID_PATH=
 NGX_USER=
 NGX_GROUP=
-HTTP_LOG_PATH=
+NGX_HTTP_LOG_PATH=
 
 CC=${CC:-gcc}
 CPP=
 NGX_OBJS=objs
 
-DEBUG=NO
+NGX_DEBUG=NO
 NGX_CC_OPT=
 NGX_LD_OPT=
 CPU=NO
 
-TEST_BUILD_DEVPOLL=NO
-TEST_BUILD_EPOLL=NO
-TEST_BUILD_RTSIG=NO
+NGX_TEST_BUILD_DEVPOLL=NO
+NGX_TEST_BUILD_EPOLL=NO
+NGX_TEST_BUILD_RTSIG=NO
 
-PLATFORM=
+NGX_PLATFORM=
 NGX_WINE=
 
 EVENT_FOUND=NO
@@ -52,7 +52,7 @@
 
 IMAP=NO
 
-MODULES=
+NGX_MODULES=
 
 USE_PCRE=NO
 PCRE=NONE
@@ -82,15 +82,15 @@
     case "$option" in
         --help)                          help=yes                   ;;
 
-        --prefix=*)                      PREFIX="$value"            ;;
-        --sbin-path=*)                   SBIN_PATH="$value"         ;;
-        --conf-path=*)                   CONF_PATH="$value"         ;;
-        --error-log-path=*)              ERROR_LOG_PATH="$value"    ;;
-        --pid-path=*)                    PID_PATH="$value"          ;;
+        --prefix=*)                      NGX_PREFIX="$value"        ;;
+        --sbin-path=*)                   NGX_SBIN_PATH="$value"     ;;
+        --conf-path=*)                   NGX_CONF_PATH="$value"     ;;
+        --error-log-path=*)              NGX_ERROR_LOG_PATH="$value";;
+        --pid-path=*)                    NGX_PID_PATH="$value"      ;;
         --user=*)                        NGX_USER="$value"          ;;
         --group=*)                       NGX_GROUP="$value"         ;;
 
-        --crossbuild=*)                  PLATFORM="$value"          ;;
+        --crossbuild=*)                  NGX_PLATFORM="$value"      ;;
 
         --builddir=*)                    NGX_OBJS="$value"          ;;
 
@@ -105,7 +105,7 @@
         --with-threads)                  USE_THREADS="pthreads"     ;;
 
         --without-http)                  HTTP=NO                    ;;
-        --http-log-path=*)               HTTP_LOG_PATH="$value"     ;;
+        --http-log-path=*)               NGX_HTTP_LOG_PATH="$value" ;;
 
         --with-http_ssl_module)          HTTP_SSL=YES               ;;
         --without-http_charset_module)   HTTP_CHARSET=NO            ;;
@@ -127,7 +127,7 @@
         --with-cc-opt=*)                 NGX_CC_OPT="$value"        ;;
         --with-ld-opt=*)                 NGX_LD_OPT="$value"        ;;
         --with-cpu-opt=*)                CPU="$value"               ;;
-        --with-debug)                    DEBUG=YES                  ;;
+        --with-debug)                    NGX_DEBUG=YES              ;;
 
         --without-pcre)                  USE_PCRE=DISABLED          ;;
         --with-pcre=*)                   PCRE="$value"              ;;
@@ -143,9 +143,9 @@
         --with-zlib-opt=*)               ZLIB_OPT="$value"          ;;
         --with-zlib-asm=*)               ZLIB_ASM="$value"          ;;
 
-        --test-build-devpoll)            TEST_BUILD_DEVPOLL=YES     ;;
-        --test-build-epoll)              TEST_BUILD_EPOLL=YES       ;;
-        --test-build-rtsig)              TEST_BUILD_RTSIG=YES       ;;
+        --test-build-devpoll)            NGX_TEST_BUILD_DEVPOLL=YES ;;
+        --test-build-epoll)              NGX_TEST_BUILD_EPOLL=YES   ;;
+        --test-build-rtsig)              NGX_TEST_BUILD_RTSIG=YES   ;;
 
         *)
             echo "$0: error: invalid option \"$option\""
@@ -202,13 +202,13 @@
 fi
 
 
-if [ ".$PLATFORM" = ".win32" ]; then
+if [ ".$NGX_PLATFORM" = ".win32" ]; then
     NGX_WINE=$WINE
 fi
 
 
-if test -z "$PREFIX"; then
-    PREFIX=/usr/local/nginx
+if test -z "$NGX_PREFIX"; then
+    NGX_PREFIX=/usr/local/nginx
 fi
 
 
@@ -217,75 +217,75 @@
 fi
 
 
-case ".$SBIN_PATH" in
+case ".$NGX_SBIN_PATH" in
     ./*)
     ;;
 
     .)
-        SBIN_PATH=$PREFIX/sbin/nginx
+        NGX_SBIN_PATH=$NGX_PREFIX/sbin/nginx
     ;;
 
     *)
-        SBIN_PATH=$PREFIX/$SBIN_PATH
+        NGX_SBIN_PATH=$NGX_PREFIX/$NGX_SBIN_PATH
     ;;
 esac
 
 
-case ".$CONF_PATH" in
+case ".$NGX_CONF_PATH" in
     ./*)
     ;;
 
     .)
-        CONF_PATH=$PREFIX/conf/nginx.conf
+        NGX_CONF_PATH=$NGX_PREFIX/conf/nginx.conf
     ;;
 
     *)
-        CONF_PATH=$PREFIX/$CONF_PATH
+        NGX_CONF_PATH=$NGX_PREFIX/$NGX_CONF_PATH
     ;;
 esac
 
 
-case ".$PID_PATH" in
+case ".$NGX_PID_PATH" in
     ./*)
     ;;
 
     .)
-        PID_PATH=$PREFIX/logs/nginx.pid
+        NGX_PID_PATH=$NGX_PREFIX/logs/nginx.pid
     ;;
 
     *)
-        PID_PATH=$PREFIX/$PID_PATH
+        NGX_PID_PATH=$NGX_PREFIX/$NGX_PID_PATH
     ;;
 esac
 
 
-case ".$ERROR_LOG_PATH" in
+case ".$NGX_ERROR_LOG_PATH" in
     ./*)
     ;;
 
     .)
-        ERROR_LOG_PATH=$PREFIX/logs/error.log
+        NGX_ERROR_LOG_PATH=$NGX_PREFIX/logs/error.log
     ;;
 
     .stderr)
-        ERROR_LOG_PATH=
+        NGX_ERROR_LOG_PATH=
     ;;
 
     *)
-        ERROR_LOG_PATH=$PREFIX/$ERROR_LOG_PATH
+        NGX_ERROR_LOG_PATH=$NGX_PREFIX/$NGX_ERROR_LOG_PATH
     ;;
 esac
 
 
-case ".$HTTP_LOG_PATH" in
+case ".$NGX_HTTP_LOG_PATH" in
     ./*)
     ;;
 
     .)
-        HTTP_LOG_PATH=$PREFIX/logs/access.log
+        NGX_HTTP_LOG_PATH=$NGX_PREFIX/logs/access.log
     ;;
 
     *)
-        HTTP_LOG_PATH=$PREFIX/$HTTP_LOG_PATH
+        NGX_HTTP_LOG_PATH=$NGX_PREFIX/$NGX_HTTP_LOG_PATH
     ;;
 esac
diff --git a/auto/os/conf b/auto/os/conf
index 5dcf400..568b718 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -2,7 +2,7 @@
 # Copyright (C) Igor Sysoev
 
 
-if [ ".$PLATFORM" = "." ]; then
+if test -z "$NGX_PLATFORM"; then
     echo "checking for OS"
 
     SYSTEM=`uname -s 2>/dev/null`
@@ -11,12 +11,12 @@
 
     echo " + $SYSTEM $RELEASE $MACHINE"
 
-    PLATFORM="$SYSTEM:$RELEASE:$MACHINE";
+    NGX_PLATFORM="$SYSTEM:$RELEASE:$MACHINE";
 else
-    echo "building for $PLATFORM"
+    echo "building for $NGX_PLATFORM"
 fi
 
-case $PLATFORM in
+case $NGX_PLATFORM in
 
     FreeBSD:* | DragonFly:*)
         . auto/os/freebsd
@@ -43,7 +43,7 @@
 esac
 
 
-if [ $PLATFORM != win32 ]; then
+if [ $NGX_PLATFORM != win32 ]; then
 
     if test -z "$NGX_USER"; then
         NGX_USER=nobody
@@ -52,7 +52,7 @@
 
 
     ngx_feature="/dev/poll"
-    ngx_feature_name="devpoll"
+    ngx_feature_name="NGX_HAVE_DEVPOLL"
     ngx_feature_run=no
     ngx_feature_incs="#include <sys/devpoll.h>"
     ngx_feature_libs=
@@ -65,7 +65,6 @@
     . auto/feature
 
     if [ $ngx_found = yes ]; then
-        have=HAVE_DEVPOLL . auto/have
         CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
         EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
         EVENT_FOUND=YES
@@ -74,7 +73,7 @@
 
     if test -z "$NGX_KQUEUE_CHECKED"; then
         ngx_feature="kqueue"
-        ngx_feature_name="kqueue"
+        ngx_feature_name="NGX_HAVE_KQUEUE"
         ngx_feature_run=no
         ngx_feature_incs="#include <sys/event.h>"
         ngx_feature_libs=
@@ -83,14 +82,13 @@
 
         if [ $ngx_found = yes ]; then
 
-            have=HAVE_KQUEUE . auto/have
-            have=HAVE_CLEAR_EVENT . auto/have
+            have=NGX_HAVE_CLEAR_EVENT . auto/have
             EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
             CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
             EVENT_FOUND=YES
 
             ngx_feature="kqueue's NOTE_LOWAT"
-            ngx_feature_name="HAVE_LOWAT_EVENT"
+            ngx_feature_name="NGX_HAVE_LOWAT_EVENT"
             ngx_feature_run=no
             ngx_feature_incs="#include <sys/event.h>"
             ngx_feature_libs=
diff --git a/auto/os/freebsd b/auto/os/freebsd
index ba2e188..e35b933 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -45,7 +45,7 @@
 if [ $osreldate -gt 300007 ]; then
     echo " + using sendfile()"
 
-    have=HAVE_SENDFILE . auto/have
+    have=NGX_HAVE_SENDFILE . auto/have
     CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
 fi
 
@@ -57,8 +57,8 @@
 then
     echo " + using kqueue"
 
-    have=HAVE_KQUEUE . auto/have
-    have=HAVE_CLEAR_EVENT . auto/have
+    have=NGX_HAVE_KQUEUE . auto/have
+    have=NGX_HAVE_CLEAR_EVENT . auto/have
     EVENT_MODULES="$EVENT_MODULES $KQUEUE_MODULE"
     CORE_SRCS="$CORE_SRCS $KQUEUE_SRCS"
     EVENT_FOUND=YES
@@ -73,7 +73,7 @@
      -o $version -ge 500018 ]
 then
     echo " + using kqueue's NOTE_LOWAT"
-    have=HAVE_LOWAT_EVENT . auto/have
+    have=NGX_HAVE_LOWAT_EVENT . auto/have
 fi
 
 
@@ -85,7 +85,7 @@
 #
 #    if [ $version -gt 460101 ]; then
 #        echo " + kqueue's EVFILT_SIGNAL is safe"
-#        have=HAVE_SAFE_EVFILT_SIGNAL . auto/have
+#        have=NGX_HAVE_SAFE_EVFILT_SIGNAL . auto/have
 #    else
 #        echo "$0: error: the kqueue's EVFILT_SIGNAL is unsafe on this"
 #        echo "FreeBSD version, so --with-threads=rfork could not be used"
@@ -100,7 +100,7 @@
     if [ \( $version -lt 500000 -a $version -ge 430000 \) \
          -o $version -ge 500014 ]
     then
-        have=HAVE_AIO . auto/have
+        have=NGX_HAVE_AIO . auto/have
         EVENT_MODULES="$EVENT_MODULES $AIO_MODULE"
         CORE_SRCS="$CORE_SRCS $AIO_SRCS"
     else
diff --git a/auto/os/linux b/auto/os/linux
index e4cbd6d..687377b 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -37,7 +37,8 @@
 
 if [ $version -ge 131609 -o $EVENT_RTSIG = YES ]; then
     echo " + using rt signals"
-    have=HAVE_RTSIG . auto/have
+    have=NGX_HAVE_RTSIG . auto/have
+    have=NGX_HAVE_POLL . auto/have
     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
     CORE_SRCS="$CORE_SRCS $RTSIG_SRCS"
     EVENT_FOUND=YES
@@ -47,7 +48,7 @@
 # epoll, EPOLLET version
 
 ngx_feature="epoll"
-ngx_feature_name="epoll"
+ngx_feature_name="NGX_HAVE_EPOLL"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/epoll.h>"
 ngx_feature_libs=
@@ -60,8 +61,7 @@
 . auto/feature
 
 if [ $ngx_found = yes ]; then
-    have=HAVE_EPOLL . auto/have
-    have=HAVE_CLEAR_EVENT . auto/have
+    have=NGX_HAVE_CLEAR_EVENT . auto/have
     CORE_SRCS="$CORE_SRCS $EPOLL_SRCS"
     EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE"
     EVENT_FOUND=YES
@@ -72,7 +72,7 @@
 
 CC_AUX_FLAGS="-D_GNU_SOURCE"
 ngx_feature="sendfile()"
-ngx_feature_name="sendfile"
+ngx_feature_name="NGX_HAVE_SENDFILE"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/sendfile.h>"
 ngx_feature_libs=
@@ -90,7 +90,7 @@
 
 CC_AUX_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
 ngx_feature="sendfile64()"
-ngx_feature_name="HAVE_SENDFILE64"
+ngx_feature_name="NGX_HAVE_SENDFILE64"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/sendfile.h>"
 ngx_feature_libs=
@@ -105,7 +105,7 @@
 # prctl(PR_SET_DUMPABLE)
 
 ngx_feature="prctl(PR_SET_DUMPABLE)"
-ngx_feature_name="HAVE_PR_SET_DUMPABLE"
+ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE"
 ngx_feature_run=yes
 ngx_feature_incs="#include <sys/prctl.h>"
 ngx_feature_libs=
diff --git a/auto/os/solaris b/auto/os/solaris
index 62708cd..723ad84 100644
--- a/auto/os/solaris
+++ b/auto/os/solaris
@@ -23,7 +23,7 @@
 CC_AUX_FLAGS="-D_FILE_OFFSET_BITS=64 -lrt"
 
 
-case $PLATFORM in
+case $NGX_PLATFORM in
 
     *:sun4u)
         # "-mcpu=v9" enables the "casa" assembler instruction
@@ -43,7 +43,7 @@
 
 
 ngx_feature="sendfilev()"
-ngx_feature_name="sendfile"
+ngx_feature_name="NGX_HAVE_SENDFILE"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/sendfile.h>"
 ngx_feature_libs="-lsendfile"
@@ -54,7 +54,6 @@
 
 
 if [ $ngx_found = yes ]; then
-    have=HAVE_SENDFILE . auto/have
     CORE_SRCS="$CORE_SRCS $SOLARIS_SENDFILEV_SRCS"
     CORE_LIBS="$CORE_LIBS -lsendfile"
 fi
diff --git a/auto/os/win32 b/auto/os/win32
index dfbb246..5567535 100644
--- a/auto/os/win32
+++ b/auto/os/win32
@@ -26,5 +26,5 @@
     EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE"
 fi
 
-have=HAVE_AIO . auto/have
-have=HAVE_IOCP . auto/have
+have=NGX_HAVE_AIO . auto/have
+have=NGX_HAVE_IOCP . auto/have
diff --git a/auto/summary b/auto/summary
index b8fb81d..39a1599 100644
--- a/auto/summary
+++ b/auto/summary
@@ -95,14 +95,14 @@
 fi
 
 
-echo "  nginx path prefix: $PREFIX"
-echo "  nginx binary file: $SBIN_PATH"
-echo "  nginx configuration file: $CONF_PATH"
-echo "  nginx pid file: $PID_PATH"
-if [ ".$ERROR_LOG_PATH" != "." ]; then
-    echo "  nginx error log file: $ERROR_LOG_PATH"
+echo "  nginx path prefix: $NGX_PREFIX"
+echo "  nginx binary file: $NGX_SBIN_PATH"
+echo "  nginx configuration file: $NGX_CONF_PATH"
+echo "  nginx pid file: $NGX_PID_PATH"
+if test -n "$NGX_ERROR_LOG_PATH"; then
+    echo "  nginx error log file: $NGX_ERROR_LOG_PATH"
 else
     echo "  nginx logs errors to stderr"
 fi
-echo "  nginx http access log file: $HTTP_LOG_PATH"
+echo "  nginx http access log file: $NGX_HTTP_LOG_PATH"
 echo
diff --git a/auto/threads b/auto/threads
index a12eed3..da03036 100644
--- a/auto/threads
+++ b/auto/threads
@@ -9,7 +9,7 @@
         CORE_DEPS="$CORE_DEPS $FREEBSD_RFORK_DEPS"
         CORE_SRCS="$CORE_SRCS $FREEBSD_RFORK_SRCS"
 
-        case $PLATFORM in
+        case $NGX_PLATFORM in
             *:i386)
                 if [ \( $version -gt 500000 -a $version -lt 501000 \) \
                      -o $version -lt 491000 ]
@@ -42,7 +42,7 @@
     ;;
 
     libc_r)
-        case $PLATFORM in
+        case $NGX_PLATFORM in
             FreeBSD:[34]*)
                 have=NGX_THREADS . auto/have
                 CFLAGS="$CFLAGS -pthread"
diff --git a/auto/unix b/auto/unix
index f0e7f2e..7cd1dfe 100755
--- a/auto/unix
+++ b/auto/unix
@@ -74,7 +74,7 @@
 
 
 ngx_feature="setproctitle()"
-ngx_feature_name="HAVE_SETPROCTITLE"
+ngx_feature_name="NGX_HAVE_SETPROCTITLE"
 ngx_feature_run=no
 ngx_feature_incs=
 ngx_feature_libs=
@@ -83,7 +83,7 @@
 
 
 ngx_feature="pread()"
-ngx_feature_name="pread"
+ngx_feature_name="NGX_HAVE_PREAD"
 ngx_feature_run=no
 ngx_feature_incs=
 ngx_feature_libs=
@@ -92,7 +92,7 @@
 
 
 ngx_feature="pwrite()"
-ngx_feature_name="pwrite"
+ngx_feature_name="NGX_HAVE_PWRITE"
 ngx_feature_run=no
 ngx_feature_incs=
 ngx_feature_libs=
@@ -101,7 +101,7 @@
 
 
 ngx_feature="strerror_r()"
-ngx_feature_name="strerror_r"
+ngx_feature_name="NGX_HAVE_STRERROR_R"
 ngx_feature_run=yes
 ngx_feature_incs="#include <string.h>"
 ngx_feature_libs=
@@ -113,7 +113,7 @@
 # GNU style strerror_r() returns not length, but pointer
 
 ngx_feature="gnu style strerror_r()"
-ngx_feature_name="gnu_strerror_r"
+ngx_feature_name="NGX_HAVE_GNU_STRERROR_R"
 ngx_feature_run=yes
 ngx_feature_incs="#include <string.h>"
 ngx_feature_libs=
@@ -123,7 +123,7 @@
 
 
 ngx_feature="localtime_r()"
-ngx_feature_name="localtime_r"
+ngx_feature_name="NGX_HAVE_LOCALTIME_R"
 ngx_feature_run=no
 ngx_feature_incs="#include <time.h>"
 ngx_feature_libs=
@@ -132,7 +132,7 @@
 
 
 ngx_feature="posix_memalign()"
-ngx_feature_name="posix_memalign"
+ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
 ngx_feature_run=no
 ngx_feature_incs="#include <stdlib.h>"
 ngx_feature_libs=
@@ -141,7 +141,7 @@
 
 
 ngx_feature="memalign()"
-ngx_feature_name="memalign"
+ngx_feature_name="NGX_HAVE_MEMALIGN"
 ngx_feature_run=no
 ngx_feature_incs="#include <stdlib.h>"
 ngx_feature_libs=
@@ -150,7 +150,7 @@
 
 
 ngx_feature="sched_yield()"
-ngx_feature_name="HAVE_SCHED_YIELD"
+ngx_feature_name="NGX_HAVE_SCHED_YIELD"
 ngx_feature_run=no
 ngx_feature_incs="#include <sched.h>"
 ngx_feature_libs=
@@ -159,7 +159,7 @@
 
 
 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
-ngx_feature_name="MAP_ANON"
+ngx_feature_name="NGX_HAVE_MAP_ANON"
 ngx_feature_run=yes
 ngx_feature_incs="#include <sys/mman.h>"
 ngx_feature_libs=
@@ -171,7 +171,7 @@
 
 
 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
-ngx_feature_name="MAP_DEVZERO"
+ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
 ngx_feature_run=yes
 ngx_feature_incs="#include <sys/mman.h>
 #include <sys/stat.h>
@@ -185,7 +185,7 @@
 
 
 ngx_feature="System V shared memory"
-ngx_feature_name="SYSVSHM"
+ngx_feature_name="NGX_HAVE_SYSVSHM"
 ngx_feature_run=yes
 ngx_feature_incs="#include <sys/ipc.h>
 #include <sys/shm.h>"
@@ -198,7 +198,7 @@
 
 
 ngx_feature="struct msghdr.msg_control"
-ngx_feature_name="msghdr_msg_control"
+ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/socket.h>"
 ngx_feature_libs=
@@ -207,7 +207,7 @@
 
 
 ngx_feature="ioctl(FIONBIO)"
-ngx_feature_name="FIONBIO"
+ngx_feature_name="NGX_HAVE_FIONBIO"
 ngx_feature_run=no
 ngx_feature_incs="#include <sys/ioctl.h>
 $NGX_INCLUDE_SYS_FILIO_H"
@@ -217,7 +217,7 @@
 
 
 ngx_feature="struct tm.tm_gmtoff"
-ngx_feature_name="gmtoff"
+ngx_feature_name="NGX_HAVE_GMTOFF"
 ngx_feature_run=no
 ngx_feature_incs="#include <time.h>"
 ngx_feature_libs=
