diff --git a/configure.in b/configure.in
index ea1640d566d7c5fc5d265289795b6a3b8a5c9e18..fab19e306a6916ee08456a23604a9564028170e9 100644
--- a/configure.in
+++ b/configure.in
@@ -544,19 +544,25 @@ dnl
 	AC_CHECK_LIB(gen, main)
 ])
 
-dnl Check for resolver routines
-AC_CHECK_FUNCS(res_search)
-if test $ac_cv_func_res_search = "no" ; then 
-	AC_CHECK_LIB(bind, res_search)
-	if test "$ac_cv_lib_bind_res_search" = "yes" ; then
+if test $ol_enable_dns != no ; then
+	dnl Check for resolver routines
+	AC_CHECK_FUNC(res_search,:)
+	if test $ac_cv_func_res_search = no ; then 
+		AC_CHECK_LIB(bind, res_search)
+		ac_cv_func_res_search=$ac_cv_lib_bind_res_search
+	fi
+	if test $ac_cv_func_res_search = no ; then 
+		AC_CHECK_LIB(resolv, res_search)
+		ac_cv_func_res_search=$ac_cv_lib_resolv_res_search
+	fi
+
+	if test "$ac_cv_func_res_search" = yes ; then
 		AC_DEFINE(HAVE_RES_SEARCH,1,
 			[define if you have res_search()])
+	elif test $ol_enable_dns = yes ; then
+		AC_MSG_ERROR([--enable-dns requires res_search])
 	else
-		AC_CHECK_LIB(resolv, res_search)
-		if test "$ac_cv_lib_resolv_res_search" = "yes" ; then
-			AC_DEFINE(HAVE_RES_SEARCH,1,
-				[define if you have res_search()])
-		fi
+		AC_MSG_WARN([no res_search, disabling DNS support])
 	fi
 fi
 
@@ -1654,6 +1660,7 @@ AC_CHECK_HEADERS(	\
 	libutil.h		\
 	limits.h		\
 	locale.h		\
+	netinet/tcp.h	\
 	malloc.h		\
 	memory.h		\
 	psap.h			\
diff --git a/include/ac/socket.h b/include/ac/socket.h
index 8bf30d24a0bb8280c9254f67a75696d5a8a35053..bef8a2ac2f05905e2aa52fe1743a7bb18c4c449f 100644
--- a/include/ac/socket.h
+++ b/include/ac/socket.h
@@ -26,7 +26,10 @@
 #endif
 
 #include <netinet/in.h>
+
+#ifdef HAVE_NETINET_TCP_H
 #include <netinet/tcp.h>
+#endif
 
 #ifdef HAVE_ARPA_INET_H
 #include <arpa/inet.h>