diff --git a/auto/cc/gcc b/auto/cc/gcc
index af279fa..17bb138 100644
--- a/auto/cc/gcc
+++ b/auto/cc/gcc
@@ -37,7 +37,7 @@
 case "$NGX_PLATFORM" in
 
     *:sun4u)
-        # "-mcpu=v9" enables the "casxa" assembler instruction
+        # "-mcpu=v9" enables the "casa" assembler instruction
         CFLAGS="$CFLAGS -mcpu=v9"
     ;;
 
@@ -134,6 +134,8 @@
         # we have a lot of the unused function arguments
         CFLAGS="$CFLAGS -Wno-unused-parameter"
         CFLAGS="$CFLAGS -Wno-unused-function"
+        CFLAGS="$CFLAGS -Wunused-variable"
+        CFLAGS="$CFLAGS -Wunused-value"
         #CFLAGS="$CFLAGS -Wunreachable-code"
     ;;
 
diff --git a/auto/cc/icc b/auto/cc/icc
index 0aa975e..d3a151c 100644
--- a/auto/cc/icc
+++ b/auto/cc/icc
@@ -22,8 +22,18 @@
 
 # single-file IP optimizations
 #IPO="-ip"
+
 # multi-file IP optimizations
-IPO="-ipo -ipo_obj"
+case "$NGX_ICC_VER" in
+    9.*)
+        IPO="-ipo"
+    ;;
+
+    *)
+        IPO="-ipo -ipo_obj"
+    ;;
+esac
+
 CFLAGS="$CFLAGS $IPO"
 CORE_LINK="$CORE_LINK $IPO"
 CORE_LINK="$CORE_LINK -opt_report_file=$NGX_OBJS/opt_report_file"
@@ -72,7 +82,7 @@
 CFLAGS="$CFLAGS -wd181"
 # zero used for undefined preprocessing identifier
 CFLAGS="$CFLAGS -wd193"
-#the format string ends before this argument
+# the format string ends before this argument
 CFLAGS="$CFLAGS -wd268"
 # invalid format string conversion
 CFLAGS="$CFLAGS -wd269"
@@ -92,15 +102,17 @@
 CFLAGS="$CFLAGS -wd1418"
 # external declaration in primary source file
 CFLAGS="$CFLAGS -wd1419"
-# explicit conversion of a 64-bit integral type to a smaller integral type
-CFLAGS="$CFLAGS -wd1683"
-# conversion from pointer to same-sized integral type, warning on offsetof()
-CFLAGS="$CFLAGS -wd1684"
 
 case "$NGX_ICC_VER" in
     8.* | 9.*)
         # "cc" clobber ignored, warnings for Liunx's htons()
         CFLAGS="$CFLAGS -wd1469"
+        # explicit conversion of a 64-bit integral type to a smaller
+        # integral type
+        CFLAGS="$CFLAGS -wd1683"
+        # conversion from pointer to same-sized integral type,
+        # warning on offsetof()
+        CFLAGS="$CFLAGS -wd1684"
 
         # STUB
         # non-POD class type passed through ellipsis, Linux only ?
diff --git a/auto/cc/name b/auto/cc/name
index faa3290..7202aaa 100644
--- a/auto/cc/name
+++ b/auto/cc/name
@@ -11,47 +11,47 @@
           2>&1 >/dev/null`; then
 
         NGX_CC_NAME=msvc7
-        echo " using Microsoft Visual C++ 7 compiler"
+        echo " Microsoft Visual C++ 7 compiler"
 
     else
         NGX_CC_NAME=msvc
-        echo " using Microsoft Visual C++ compiler"
+        echo " Microsoft Visual C++ compiler"
     fi
 
 else
 if [ $CC = wcl386 ]; then
     NGX_CC_NAME=owc
-    echo " using Open Watcom C compiler"
+    echo " Open Watcom C compiler"
 
 else
 if [ $CC = bcc32 ]; then
     NGX_CC_NAME=bcc
-    echo " using Borland C++ compiler"
+    echo " Borland C++ compiler"
 
 else
 if `$CC -v 2>&1 | grep 'gcc version' 2>&1 >/dev/null`; then
     NGX_CC_NAME=gcc
-    echo " using GNU C compiler"
+    echo " GNU C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^Intel(R) C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=icc
-    echo " using Intel C++ compiler"
+    echo " Intel C++ compiler"
 
 else
 if `$CC -V 2>&1 | grep 'Sun C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=sunc
-    echo " using Sun C compiler"
+    echo " Sun C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^Compaq C' 2>&1 >/dev/null`; then
     NGX_CC_NAME=ccc
-    echo " using Compaq C compiler"
+    echo " Compaq C compiler"
 
 else
 if `$CC -V 2>&1 | grep '^aCC: ' 2>&1 >/dev/null`; then
     NGX_CC_NAME=acc
-    echo " using HP aC++ compiler"
+    echo " HP aC++ compiler"
 
 else
     NGX_CC_NAME=unknown
diff --git a/auto/configure b/auto/configure
index daff4bd..89390ea 100755
--- a/auto/configure
+++ b/auto/configure
@@ -19,12 +19,28 @@
 fi
 
 
+if test -z "$NGX_PLATFORM"; then
+    echo "checking for OS"
+
+    NGX_SYSTEM=`uname -s 2>/dev/null`
+    NGX_RELEASE=`uname -r 2>/dev/null`
+    NGX_MACHINE=`uname -m 2>/dev/null`
+
+    echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE"
+
+    NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
+
+else
+    echo "building for $NGX_PLATFORM"
+fi
+
+
 if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/headers
 fi
 
-. auto/os/conf
 . auto/cc/conf
+. auto/os/conf
 
 if [ "$NGX_PLATFORM" != win32 ]; then
     . auto/os/features
diff --git a/auto/os/conf b/auto/os/conf
index 69813ce..56bdd22 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -2,20 +2,7 @@
 # Copyright (C) Igor Sysoev
 
 
-if test -z "$NGX_PLATFORM"; then
-    echo "checking for OS"
-
-    NGX_SYSTEM=`uname -s 2>/dev/null`
-    NGX_RELEASE=`uname -r 2>/dev/null`
-    NGX_MACHINE=`uname -m 2>/dev/null`
-
-    echo " + $NGX_SYSTEM $NGX_RELEASE $NGX_MACHINE"
-
-    NGX_PLATFORM="$NGX_SYSTEM:$NGX_RELEASE:$NGX_MACHINE";
-
-else
-    echo "building for $NGX_PLATFORM"
-fi
+echo "checking for $NGX_SYSTEM specific features"
 
 case "$NGX_PLATFORM" in
 
diff --git a/auto/os/features b/auto/os/features
index 44c33cd..3ec9110 100644
--- a/auto/os/features
+++ b/auto/os/features
@@ -92,6 +92,9 @@
 
 if [ "$NGX_SYSTEM" = "NetBSD" ]; then
 
+    have=NGX_HAVE_TIMER_EVENT . auto/have
+    echo " + kqueue's EVFILT_TIMER found"
+
     # NetBSD 2.0 incompatibly defines kevent.udata as "intptr_t"
 
     cat << END >> $NGX_AUTO_CONFIG_H
diff --git a/auto/os/freebsd b/auto/os/freebsd
index e545122..870ec92 100644
--- a/auto/os/freebsd
+++ b/auto/os/freebsd
@@ -37,7 +37,7 @@
 # sendfile
 
 if [ $osreldate -gt 300007 ]; then
-    echo " + using sendfile()"
+    echo " + sendfile() found"
 
     have=NGX_HAVE_SENDFILE . auto/have
     CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
@@ -49,7 +49,7 @@
 if [ \( $osreldate -lt 500000 -a $osreldate -ge 410000 \) \
      -o $osreldate -ge 500011 ]
 then
-    echo " + using kqueue"
+    echo " + kqueue found"
 
     have=NGX_HAVE_KQUEUE . auto/have
     have=NGX_HAVE_CLEAR_EVENT . auto/have
@@ -67,10 +67,19 @@
 if [ \( $version -lt 500000 -a $version -ge 430000 \) \
      -o $version -ge 500018 ]
 then
-    echo " + using kqueue's NOTE_LOWAT"
+    echo " + kqueue's NOTE_LOWAT found"
     have=NGX_HAVE_LOWAT_EVENT . auto/have
 fi
 
+# kqueue's EVFILT_TIMER
+
+if [ \( $version -lt 500000 -a $version -ge 440001 \) \
+     -o $version -ge 500023 ]
+then
+    echo " + kqueue's EVFILT_TIMER found"
+    have=NGX_HAVE_TIMER_EVENT . auto/have
+fi
+
 
 if [ $USE_THREADS = "rfork" ]; then
 
diff --git a/auto/os/linux b/auto/os/linux
index 32ef4cb..c31f848 100644
--- a/auto/os/linux
+++ b/auto/os/linux
@@ -25,7 +25,7 @@
 # enable the rt signals on Linux 2.2.19 and onward
 
 if [ $version -ge 131609 -o $EVENT_RTSIG = YES ]; then
-    echo " + using rt signals"
+    echo " + rt signals found"
     have=NGX_HAVE_RTSIG . auto/have
     have=NGX_HAVE_POLL . auto/have
     EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE"
