diff --git a/auto/cc/acc b/auto/cc/acc
new file mode 100644
index 0000000..f325bc5
--- /dev/null
+++ b/auto/cc/acc
@@ -0,0 +1,14 @@
+
+# Copyright (C) Igor Sysoev
+
+
+# aCC: HP ANSI C++ B3910B A.03.55.02
+
+# C89 mode
+
+CFLAGS="$CFLAGS -Ae"
+CC_TEST_FLAGS="-Ae"
+
+PCRE_OPT="$PCRE_OPT -Ae"
+ZLIB_OPT="$ZLIB_OPT -Ae"
+MD5_OPT="$MD5_OPT -Ae"
diff --git a/auto/cc/ccc b/auto/cc/ccc
new file mode 100644
index 0000000..968015f
--- /dev/null
+++ b/auto/cc/ccc
@@ -0,0 +1,41 @@
+
+# Copyright (C) Igor Sysoev
+
+
+# Compaq C V6.5-207
+
+ngx_include_opt="-I"
+
+# warnings
+
+CFLAGS="$CFLAGS -msg_enable level6 -msg_fatal level6"
+
+CFLAGS="$CFLAGS -msg_disable unnecincl"
+CFLAGS="$CFLAGS -msg_disable nestincl"
+CFLAGS="$CFLAGS -msg_disable unusedincl"
+CFLAGS="$CFLAGS -msg_disable unknownmacro"
+CFLAGS="$CFLAGS -msg_disable strctpadding"
+CFLAGS="$CFLAGS -msg_disable ansialiascast"
+CFLAGS="$CFLAGS -msg_disable inlinestoclsmod"
+CFLAGS="$CFLAGS -msg_disable cxxkeyword"
+CFLAGS="$CFLAGS -msg_disable longlongsufx"
+
+# STUB
+CFLAGS="$CFLAGS -msg_disable truncintcast"
+CFLAGS="$CFLAGS -msg_disable trunclongcast"
+CFLAGS="$CFLAGS -msg_disable truncintasn"
+CFLAGS="$CFLAGS -msg_disable trunclongint"
+CFLAGS="$CFLAGS -msg_disable intconcastsgn"
+CFLAGS="$CFLAGS -msg_disable intconstsign"
+CFLAGS="$CFLAGS -msg_disable hexoctunsign"
+CFLAGS="$CFLAGS -msg_disable switchlong"
+CFLAGS="$CFLAGS -msg_disable valuepres"
+CFLAGS="$CFLAGS -msg_disable subscrbounds2"
+CFLAGS="$CFLAGS -msg_disable ignorecallval"
+CFLAGS="$CFLAGS -msg_disable nonstandcast"
+CFLAGS="$CFLAGS -msg_disable embedcomment"
+CFLAGS="$CFLAGS -msg_disable unreachcode"
+CFLAGS="$CFLAGS -msg_disable questcompare2"
+CFLAGS="$CFLAGS -msg_disable unusedtop"
+CFLAGS="$CFLAGS -msg_disable unrefdecl"
+CFLAGS="$CFLAGS -msg_disable bitnotint"
diff --git a/auto/cc/conf b/auto/cc/conf
index f064bca..b2eabeb 100644
--- a/auto/cc/conf
+++ b/auto/cc/conf
@@ -42,30 +42,30 @@
 
     case $NGX_CC_NAME in
         gcc)
-            # gcc 2.7.2.3, 2.8.1, 2.95.4,
-            #     3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4
+            # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2
+            #     3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2
+            #     4.0.0
 
             . auto/cc/gcc
         ;;
 
         icc)
-            # Intel C++ compiler 7.1, 8.0
+            # Intel C++ compiler 7.1, 8.0, 8.1
 
             . auto/cc/icc
         ;;
 
         ccc)
-#            # Compaq C V6.5-207
-#
-#            . auto/cc/ccc
-             ngx_include_opt="-I"
+            # Compaq C V6.5-207
+
+            . auto/cc/ccc
         ;;
 
-#        acc)
-#            # aCC: HP ANSI C++ B3910B A.03.55.02
-#
-#            . auto/cc/acc
-#        ;;
+        acc)
+            # aCC: HP ANSI C++ B3910B A.03.55.02
+
+            . auto/cc/acc
+        ;;
 
         msvc*)
             # MSVC++ 6.0 SP2, MSVC++ Toolkit 2003
@@ -87,7 +87,7 @@
 
     esac
 
-    CC_TEST_FLAGS=$NGX_CC_OPT
+    CC_TEST_FLAGS="$CC_TEST_FLAGS $NGX_CC_OPT"
 
 fi
 
@@ -124,16 +124,20 @@
     . auto/feature
 
 
-    ngx_feature="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__)"
-    ngx_feature_libs=
-    ngx_feature_test="char  buf[30]; buf[0] = '0';
-                      var(0, buf, \"%d\", 1);
-                      if (buf[0] != '1') return 1"
-    . auto/feature
+    if [ $NGX_CC_NAME = 'ccc' ]; then
+        echo "checking for C99 variadic macros ... disabled"
+    else
+        ngx_feature="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__)"
+        ngx_feature_libs=
+        ngx_feature_test="char  buf[30]; buf[0] = '0';
+                          var(0, buf, \"%d\", 1);
+                          if (buf[0] != '1') return 1"
+        . auto/feature
+     fi
 
 
 #    ngx_feature="inline"
diff --git a/auto/configure b/auto/configure
index d046b59..f54ef24 100755
--- a/auto/configure
+++ b/auto/configure
@@ -27,6 +27,7 @@
 . auto/os/conf
 
 if [ "$NGX_PLATFORM" != win32 ]; then
+    . auto/os/features
     . auto/threads
 fi
 
diff --git a/auto/os/conf b/auto/os/conf
index f2a49ce..226f8dd 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -23,15 +23,6 @@
         . auto/os/freebsd
     ;;
 
-    Darwin:*)
-        have=NGX_DARWIN . auto/have_headers
-        have=NGX_HAVE_INHERITED_NONBLOCK . auto/have
-        CORE_INCS="$UNIX_INCS"
-        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
-        CORE_SRCS="$UNIX_SRCS"
-        CRYPT_LIB=
-    ;;
-
     Linux:*)
         . auto/os/linux
     ;;
@@ -44,11 +35,35 @@
         . auto/os/win32
     ;;
 
+    Darwin:*)
+        have=NGX_DARWIN . auto/have_headers
+        have=NGX_HAVE_INHERITED_NONBLOCK . auto/have
+        CORE_INCS="$UNIX_INCS"
+        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
+        CORE_SRCS="$UNIX_SRCS"
+    ;;
+
+    HP-UX:*)
+        # HP/UX
+        have=NGX_HPUX . auto/have_headers
+        CORE_INCS="$UNIX_INCS"
+        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
+        CORE_SRCS="$UNIX_SRCS"
+        CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
+    ;;
+
+    OSF1:*)
+        # HP Tru64
+        have=NGX_TRU64 . auto/have_headers
+        CORE_INCS="$UNIX_INCS"
+        CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
+        CORE_SRCS="$UNIX_SRCS"
+    ;;
+
     *)
         CORE_INCS="$UNIX_INCS"
         CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
         CORE_SRCS="$UNIX_SRCS"
-        CRYPT_LIB="-lcrypt"
     ;;
 
 esac
@@ -56,119 +71,8 @@
 
 case "$NGX_MACHINE" in
 
-    i386|i686|i86pc|amd64)
+    i386 | i686 | i86pc | amd64)
         have=NGX_HAVE_NONALIGNED . auto/have
     ;;
 
 esac
-
-
-if [ "$NGX_PLATFORM" != win32 ]; then
-
-    NGX_USER=${NGX_USER:-nobody}
-
-    if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then
-       if grep nobody /etc/group 2>&1 >/dev/null; then
-           echo "checking for nobody group ... found"
-           NGX_GROUP=nobody
-       else
-           echo "checking for nobody group ... not found"
-
-           if grep nogroup /etc/group 2>&1 >/dev/null; then
-               echo "checking for nogroup group ... found"
-               NGX_GROUP=nogroup
-           else 
-               echo "checking for nogroup group ... not found"
-               NGX_GROUP=nobody
-           fi
-       fi
-
-    else
-        NGX_GROUP=$NGX_USER
-    fi
-
-
-    ngx_feature="poll()"
-    ngx_feature_name=
-    ngx_feature_run=no
-    ngx_feature_incs="#include <poll.h>"
-    ngx_feature_libs=
-    ngx_feature_test="int  n, dp; struct pollfd  pl;
-                      dp = 0;
-                      pl.fd = 0;
-                      pl.events = 0;
-                      pl.revents = 0;
-                      n = poll(&pl, 1, 0)"
-    . auto/feature
-
-    if [ $ngx_found = no ]; then
-        EVENT_POLL=NONE
-    fi
-
-
-    ngx_feature="/dev/poll"
-    ngx_feature_name="NGX_HAVE_DEVPOLL"
-    ngx_feature_run=no
-    ngx_feature_incs="#include <sys/devpoll.h>"
-    ngx_feature_libs=
-    ngx_feature_test="int  n, dp; struct dvpoll  dvp;
-                      dp = 0;
-                      dvp.dp_fds = NULL;
-                      dvp.dp_nfds = 0;
-                      dvp.dp_timeout = 0;
-                      n = ioctl(dp, DP_POLL, &dvp)"
-    . auto/feature
-
-    if [ $ngx_found = yes ]; then
-        CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
-        EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
-        EVENT_FOUND=YES
-    fi
-
-
-    if test -z "$NGX_KQUEUE_CHECKED"; then
-        ngx_feature="kqueue"
-        ngx_feature_name="NGX_HAVE_KQUEUE"
-        ngx_feature_run=no
-        ngx_feature_incs="#include <sys/event.h>"
-        ngx_feature_libs=
-        ngx_feature_test="int kq; kq = kqueue()"
-        . auto/feature
-
-        if [ $ngx_found = yes ]; then
-
-            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="NGX_HAVE_LOWAT_EVENT"
-            ngx_feature_run=no
-            ngx_feature_incs="#include <sys/event.h>"
-            ngx_feature_libs=
-            ngx_feature_test="struct kevent  kev;
-                              kev.fflags = NOTE_LOWAT;"
-            . auto/feature
-        fi
-    fi
-
-    if [ "$NGX_SYSTEM" = "NetBSD" ]; then
-
-        # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
-
-        cat << END >> $NGX_AUTO_CONFIG_H
-
-#define NGX_KQUEUE_UDATA_T
-
-END
-
-    else
-        cat << END >> $NGX_AUTO_CONFIG_H
-
-#define NGX_KQUEUE_UDATA_T  (void *)
-
-END
-
-    fi
-fi
diff --git a/auto/os/features b/auto/os/features
new file mode 100644
index 0000000..44c33cd
--- /dev/null
+++ b/auto/os/features
@@ -0,0 +1,131 @@
+
+# Copyright (C) Igor Sysoev
+
+
+NGX_USER=${NGX_USER:-nobody}
+
+if [ -z "$NGX_GROUP" -a $NGX_USER = nobody ] ; then
+    if grep nobody /etc/group 2>&1 >/dev/null; then
+        echo "checking for nobody group ... found"
+        NGX_GROUP=nobody
+    else
+        echo "checking for nobody group ... not found"
+
+        if grep nogroup /etc/group 2>&1 >/dev/null; then
+            echo "checking for nogroup group ... found"
+            NGX_GROUP=nogroup
+        else 
+            echo "checking for nogroup group ... not found"
+            NGX_GROUP=nobody
+        fi
+    fi
+
+else
+    NGX_GROUP=$NGX_USER
+fi
+    
+
+ngx_feature="poll()"
+ngx_feature_name=
+ngx_feature_run=no
+ngx_feature_incs="#include <poll.h>"
+ngx_feature_libs=
+ngx_feature_test="int  n, dp; struct pollfd  pl;
+                  dp = 0; 
+                  pl.fd = 0;
+                  pl.events = 0;
+                  pl.revents = 0;
+                  n = poll(&pl, 1, 0)"
+. auto/feature
+    
+if [ $ngx_found = no ]; then
+    EVENT_POLL=NONE
+fi
+    
+
+ngx_feature="/dev/poll"
+ngx_feature_name="NGX_HAVE_DEVPOLL"
+ngx_feature_run=no
+ngx_feature_incs="#include <sys/devpoll.h>"
+ngx_feature_libs=
+ngx_feature_test="int  n, dp; struct dvpoll  dvp;
+                  dp = 0;
+                  dvp.dp_fds = NULL;
+                  dvp.dp_nfds = 0;
+                  dvp.dp_timeout = 0;
+                  n = ioctl(dp, DP_POLL, &dvp)"
+. auto/feature
+
+if [ $ngx_found = yes ]; then
+    CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
+    EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
+    EVENT_FOUND=YES
+fi
+
+
+if test -z "$NGX_KQUEUE_CHECKED"; then
+    ngx_feature="kqueue"
+    ngx_feature_name="NGX_HAVE_KQUEUE"
+    ngx_feature_run=no
+    ngx_feature_incs="#include <sys/event.h>"
+    ngx_feature_libs=
+    ngx_feature_test="int kq; kq = kqueue()"
+    . auto/feature
+
+    if [ $ngx_found = yes ]; then
+
+        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="NGX_HAVE_LOWAT_EVENT"
+        ngx_feature_run=no
+        ngx_feature_incs="#include <sys/event.h>"
+        ngx_feature_libs=
+        ngx_feature_test="struct kevent  kev;
+                          kev.fflags = NOTE_LOWAT;"
+        . auto/feature
+    fi
+fi
+
+if [ "$NGX_SYSTEM" = "NetBSD" ]; then
+
+    # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
+
+    cat << END >> $NGX_AUTO_CONFIG_H
+
+#define NGX_KQUEUE_UDATA_T
+
+END
+
+else
+    cat << END >> $NGX_AUTO_CONFIG_H
+
+#define NGX_KQUEUE_UDATA_T  (void *)
+
+END
+
+fi
+
+
+ngx_feature="crypt()"
+ngx_feature_name=
+ngx_feature_run=no
+ngx_feature_incs=
+ngx_feature_libs=
+ngx_feature_test="crypt(\"test\", \"salt\");"
+. auto/feature
+
+
+if [ $ngx_found = no ]; then
+
+    ngx_feature="crypt() in libcrypt"
+    ngx_feature_libs=-lcrypt
+    . auto/feature
+
+    if [ $ngx_found = yes ]; then
+        CRYPT_LIB="-lcrypt"
+    fi
+fi
diff --git a/auto/os/freebsd b/auto/os/freebsd
index f916860..e545122 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -7,7 +7,6 @@
 CORE_INCS="$UNIX_INCS"
 CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS"
 CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"
-CRYPT_LIB="-lcrypt"
 
 ngx_spacer='
 '
diff --git a/auto/os/linux b/auto/os/linux
index 5926211..32ef4cb 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -7,7 +7,6 @@
 CORE_INCS="$UNIX_INCS"
 CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
 CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
-CRYPT_LIB="-lcrypt"
 
 ngx_spacer='
 '
diff --git a/auto/unix b/auto/unix
index e9e0c7a..6295ec2 100755
--- a/auto/unix
+++ b/auto/unix
@@ -32,7 +32,7 @@
 . auto/types/sizeof
 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
 
-ngx_type="socklen_t"; ngx_types="uint32_t"; . auto/types/typedef
+ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
 
 ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
 
