diff --git a/auto/fmt/fmt b/auto/fmt/fmt
index bd66b41..3e19c31 100644
--- a/auto/fmt/fmt
+++ b/auto/fmt/fmt
@@ -5,8 +5,12 @@
 
 for FMT in $NGX_FORMATS
 do
-    echo "#include <stdio.h>" >> autotest.c
+    echo "#include <stdio.h>" > autotest.c
     echo "#include <sys/types.h>" >> autotest.c
+    echo "#include <sys/time.h>" >> autotest.c
+    echo "#include <sys/resource.h>" >> autotest.c
+    echo "$NGX_INTTYPES_H" >> autotest.c
+    echo "$NGX_AUTO_CONFIG" >> autotest.c
     echo "int main() {" >> autotest.c
     echo "printf(\"${FMT}\", ($NGX_TYPE) $NGX_MAX_SIZE);" >> autotest.c
     echo "return 0; }" >> autotest.c
diff --git a/auto/fmt/xfmt b/auto/fmt/xfmt
new file mode 100644
index 0000000..0256c5c
--- /dev/null
+++ b/auto/fmt/xfmt
@@ -0,0 +1,6 @@
+
+echo "#ifndef $NGX_FMT_NAME"                 >> $NGX_AUTO_CONFIG_H
+echo "#define $NGX_FMT_NAME  \"$NGX_FMT\"" | sed -e 's/d"$/x"/' \
+                                             >> $NGX_AUTO_CONFIG_H
+echo "#endif"                                >> $NGX_AUTO_CONFIG_H
+echo                                         >> $NGX_AUTO_CONFIG_H
diff --git a/auto/func b/auto/func
index 77216f9..553333d 100644
--- a/auto/func
+++ b/auto/func
@@ -1,19 +1,21 @@
 
 echo "checking for $NGX_FUNC"
 
+func=`echo $NGX_FUNC | sed -e 's/()$//' | tr '[a-z]' '[A-Z]'`
+
 echo "$NGX_UNISTD_H" > autotest.c
 echo "$NGX_FUNC_INC" >> autotest.c
 echo "int main() { $NGX_FUNC_TEST; return 0; }" >> autotest.c
 
-eval "${CC} -o autotest autotest.c > /dev/null 2>&1"
+eval "$CC $CC_TEST_FLAGS -o autotest autotest.c > /dev/null 2>&1"
 
 if [ -x autotest ]; then
     echo " + $NGX_FUNC found"
 
-    echo "#ifndef $NGX_HAVE"      >> $NGX_AUTO_CONFIG_H
-    echo "#define $NGX_HAVE  1"   >> $NGX_AUTO_CONFIG_H
-    echo "#endif"                 >> $NGX_AUTO_CONFIG_H
-    echo                          >> $NGX_AUTO_CONFIG_H
+    echo "#ifndef HAVE_$func"      >> $NGX_AUTO_CONFIG_H
+    echo "#define HAVE_$func  1"   >> $NGX_AUTO_CONFIG_H
+    echo "#endif"                  >> $NGX_AUTO_CONFIG_H
+    echo                           >> $NGX_AUTO_CONFIG_H
 else
     echo " + $NGX_FUNC not found"
 fi
diff --git a/auto/inc b/auto/inc
new file mode 100644
index 0000000..1db95f5
--- /dev/null
+++ b/auto/inc
@@ -0,0 +1,25 @@
+
+echo "checking for $NGX_INC"
+
+inc=`echo $NGX_INC | sed -e 's/\./_/' | tr '[a-z]' '[A-Z]'`
+
+echo "#include <$NGX_INC>" > autotest.c
+echo "int main() { return 0; }" >> autotest.c
+
+eval "${CC} -o autotest autotest.c > /dev/null 2>&1"
+
+if [ -x autotest ]; then
+    echo " + $NGX_INC found"
+
+    echo "#ifndef HAVE_$inc"      >> $NGX_AUTO_CONFIG_H
+    echo "#define HAVE_$inc  1"   >> $NGX_AUTO_CONFIG_H
+    echo "#endif"                 >> $NGX_AUTO_CONFIG_H
+    echo                          >> $NGX_AUTO_CONFIG_H
+
+    eval "NGX_$inc='#include <$NGX_INC>'"
+
+else
+    echo " + $NGX_INC not found"
+fi
+
+rm autotest*
diff --git a/auto/init b/auto/init
index 0fd7c52..962c02e 100644
--- a/auto/init
+++ b/auto/init
@@ -4,6 +4,4 @@
 NGX_AUTO_CONFIG_H=$OBJS/ngx_auto_config.h
 NGX_MODULES_C=$OBJS/ngx_modules.c
 
-
-NGX_UNISTD_H="#include <unistd.h>"
-NGX_INTTYPES_H="#include <inttypes.h>"
+NGX_ERR=autoconf.err
diff --git a/auto/os/conf b/auto/os/conf
index 0b2a435..d0eb787 100644
--- a/auto/os/conf
+++ b/auto/os/conf
@@ -19,13 +19,12 @@
         . auto/os/freebsd
     ;;
 
-    Solaris:*)
-        CC_TEST_FLAGS="-D_FILE_OFFSET_BITS=64"
-        CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
+    Linux:*)
+        . auto/os/linux
     ;;
 
-    Linux:*)
-        CC_TEST_FLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+    SunOS:*)
+        . auto/os/solaris
     ;;
 
     win32)
diff --git a/auto/os/linux b/auto/os/linux
new file mode 100644
index 0000000..a488c4d
--- /dev/null
+++ b/auto/os/linux
@@ -0,0 +1,16 @@
+
+CORE_INCS="$UNIX_INCS"
+CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
+CORE_SRCS="$UNIX_SRCS $LINUX_SRCS $SELECT_SRCS $POLL_SRCS"
+EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
+
+ZLIB_LIB="-lz"
+
+
+# TODO check sendfile64()
+
+#CC_TEST_FLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+CC_TEST_FLAGS="-D_GNU_SOURCE"
+
+# STUB
+CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
diff --git a/auto/os/solaris b/auto/os/solaris
new file mode 100644
index 0000000..2fe6309
--- /dev/null
+++ b/auto/os/solaris
@@ -0,0 +1,18 @@
+
+CORE_INCS="$UNIX_INCS"
+CORE_DEPS="$UNIX_DEPS $SOLARIS_DEPS"
+CORE_SRCS="$UNIX_SRCS $SOLARIS_SRCS $SELECT_SRCS $POLL_SRCS"
+EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
+
+MD5_LIB="-lmd5"
+ZLIB_LIB="-lz"
+
+CC_TEST_FLAGS="-D_FILE_OFFSET_BITS=64"
+
+CORE_LIBS="$CORE_LIBS -lsocket -lnsl"
+
+# STUB
+CFLAGS="$CFLAGS -D HAVE_DEVPOLL=1"
+EVENT_MODULES="$EVENT_MODULES $DEVPOLL_MODULE"
+CORE_SRCS="$CORE_SRCS $DEVPOLL_SRCS"
+#CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS"
diff --git a/auto/sources b/auto/sources
index ccaac10..2f47d15 100644
--- a/auto/sources
+++ b/auto/sources
@@ -95,14 +95,21 @@
             src/os/unix/ngx_process.c \
             src/os/unix/ngx_daemon.c"
 
-
-LINUX_SENDFILE_SRCS=src/os/unix/ngx_linux_sendfile_chain.c
-
 FREEBSD_DEPS=src/os/unix/ngx_freebsd_config.h
 FREEBSD_SRCS=src/os/unix/ngx_freebsd_init.c
 FREEBSD_SENDFILE_SRCS=src/os/unix/ngx_freebsd_sendfile_chain.c
 
 
+LINUX_DEPS=src/os/unix/ngx_linux_config.h
+LINUX_SRCS=src/os/unix/ngx_linux_init.c
+LINUX_SENDFILE_SRCS=src/os/unix/ngx_linux_sendfile_chain.c
+
+
+SOLARIS_DEPS=src/os/unix/ngx_solaris_config.h
+SOLARIS_SRCS=src/os/unix/ngx_solaris_init.c
+SOLARIS_SENDFILE_SRCS=src/os/unix/ngx_solaris_sendfilev_chain.c
+
+
 WIN32_INCS="$CORE_INCS $EVENT_INCS -I src/os/win32"
 
 WIN32_DEPS="$CORE_DEPS $EVENT_DEPS \
diff --git a/auto/types/sizeof b/auto/types/sizeof
index 8f81113..2e9e9b2 100644
--- a/auto/types/sizeof
+++ b/auto/types/sizeof
@@ -4,6 +4,10 @@
 NGX_BYTES=
 
 echo "#include <sys/types.h>" > autotest.c
+echo "#include <sys/time.h>" >> autotest.c
+echo "#include <sys/resource.h>" >> autotest.c
+echo "$NGX_INTTYPES_H" >> autotest.c
+echo "$NGX_AUTO_CONFIG" >> autotest.c
 echo "int main() {" >> autotest.c
 echo "printf(\"%d\", sizeof($NGX_TYPE));" >> autotest.c
 echo "return 0; }" >> autotest.c
diff --git a/auto/types/typedef b/auto/types/typedef
index a842542..c3155c4 100644
--- a/auto/types/typedef
+++ b/auto/types/typedef
@@ -7,10 +7,13 @@
 do
     echo "#include <sys/types.h>" > autotest.c
     echo "#include <sys/socket.h>" >> autotest.c
+    echo "#include <sys/time.h>" >> autotest.c
+    echo "#include <sys/resource.h>" >> autotest.c
+    echo "#include <netinet/in.h>" >> autotest.c
     echo "$NGX_INTTYPES_H" >> autotest.c
     echo "int main() { $TYPE i = 0; return 0; }" >> autotest.c
 
-    eval "$CC -o autotest autotest.c > /dev/null 2>&1"
+    eval "$CC -o autotest autotest.c > $NGX_ERR 2>&1"
 
     if [ -x autotest ]; then
         if [ $TYPE = $NGX_TYPE ]; then
diff --git a/auto/types/uintptr_t b/auto/types/uintptr_t
index 93a01a8..7c941c0 100644
--- a/auto/types/uintptr_t
+++ b/auto/types/uintptr_t
@@ -4,6 +4,7 @@
 FOUND=NO
 
 echo "#include <sys/types.h>" > autotest.c
+echo "$NGX_INTTYPES_H" >> autotest.c
 echo "int main() { uintptr_t i = 0; return 0; }" >> autotest.c
 
 eval "$CC -o autotest autotest.c > /dev/null 2>&1"
diff --git a/auto/unix b/auto/unix
index 5b7b497..c9e2a8e 100755
--- a/auto/unix
+++ b/auto/unix
@@ -2,6 +2,8 @@
 CC_WARN=$CC
 NGX_FMT_COLLECT=YES
 
+# C types
+
 NGX_TYPE="int"; . auto/types/sizeof;
 NGX_FORMATS="%d"; . auto/fmt/fmt
 
@@ -14,6 +16,32 @@
 NGX_TYPE="void *"; . auto/types/sizeof; NGX_PTR_BYTES=$NGX_BYTES
 
 
+# headers
+
+NGX_INC="unistd.h"; . auto/inc
+NGX_INC="inttypes.h"; . auto/inc
+
+#POSIX types
+
+NGX_AUTO_CONFIG="#include \"$NGX_AUTO_CONFIG_H\""
+
+NGX_TYPE="uint64_t"
+NGX_TYPES="u_int64_t"; . auto/types/typedef
+
+NGX_TYPE="socklen_t"
+NGX_TYPES="uint32_t"; . auto/types/typedef
+
+NGX_TYPE="in_addr_t"
+NGX_TYPES="uint32_t"; . auto/types/typedef
+
+NGX_TYPE="rlim_t"
+NGX_TYPES="int"; . auto/types/typedef
+
+. auto/types/uintptr_t
+
+
+# printf() formats
+
 CC_WARN=$CC_STRONG
 NGX_FMT_COLLECT=NO
 
@@ -40,31 +68,22 @@
 eval NGX_FORMATS=\${NGX_${NGX_BYTES}_FMT}; . auto/fmt/fmt
 
 
-CC_WARN=$CC
-
-NGX_TYPE="uint64_t"
-NGX_TYPES="u_int64_t"; . auto/types/typedef
-
-NGX_TYPE="socklen_t"
-NGX_TYPES="u_int32_t"; . auto/types/typedef
-
-. auto/types/uintptr_t
-
+# syscalls and libc calls
 
 NGX_FUNC_INC=
 NGX_FUNC_TEST="int fd = 0; char buf[1]; size_t size = 1;
                ssize_t n; off_t offset = 0;
                n = pread(fd, buf, size, offset)"
-NGX_HAVE=HAVE_PREAD; NGX_FUNC="pread()"; . auto/func
+NGX_FUNC="pread()"; . auto/func
 
 
 NGX_FUNC_INC=
 NGX_FUNC_TEST="int fd = 1; char buf[1]; size_t size = 1;
                ssize_t n; off_t offset = 0;
                n = pwrite(fd, buf, size, offset)"
-NGX_HAVE=HAVE_PWRITE; NGX_FUNC="pwrite()"; . auto/func
+NGX_FUNC="pwrite()"; . auto/func
 
 
 NGX_FUNC_INC="#include <time.h>"
 NGX_FUNC_TEST="struct tm t; time_t c=0; localtime_r(&c, &t)"
-NGX_HAVE=HAVE_LOCALTIME_R; NGX_FUNC="localtime_r()"; . auto/func
+NGX_FUNC="localtime_r()"; . auto/func
