diff --git a/configure.in b/configure.in
index c5b848517f8ed81bd693c2720e15a92e417d274d..7865fd5d4684c7c636ac828068661d359150e11b 100644
--- a/configure.in
+++ b/configure.in
@@ -13,23 +13,19 @@ AC_PROG_RANLIB
 AC_CHECK_LIB(ncurses, initscr)
 
 # Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_CHECK_HEADERS([limits.h stdlib.h string.h sys/time.h unistd.h fnmatch.h ncurses.h])
+AC_CHECK_HEADERS(
+  [limits.h stdlib.h string.h sys/time.h sys/types.h sys/stat.h dirent.h unistd.h fnmatch.h ncurses.h],[],
+  AC_MSG_ERROR([required header file not found]))
 
 # Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
 AC_TYPE_OFF_T
 AC_SYS_LARGEFILE
 AC_STRUCT_ST_BLOCKS
-AC_HEADER_TIME
 
 # Checks for library functions.
-AC_FUNC_CLOSEDIR_VOID
-AC_FUNC_LSTAT
-AC_FUNC_MALLOC
-AC_FUNC_STAT
-AC_CHECK_FUNCS([getcwd gettimeofday memset fnmatch])
+AC_CHECK_FUNCS(
+  [getcwd gettimeofday memset fnmatch chdir rmdir unlink lstat getcwd],[],
+  AC_MSG_ERROR([required function missing]))
 
 AC_OUTPUT([Makefile src/Makefile doc/Makefile])