+# Checks for header files.
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h netinet/in.h sys/ioctl.h sys/socket.h sys/time.h unistd.h])
+
+ # Solaris stuff
+ AC_SEARCH_LIBS([inet_ntop],[nsl])
+ AC_SEARCH_LIBS([recv],[socket])
+ AC_CHECK_DECL([CMSG_SPACE],,CFLAGS="$CFLAGS -D_XOPEN_SOURCE=500 -D__EXTENSIONS__", [[#include <sys/socket.h>]])
+
+# Checks for library functions.
+AC_FUNC_SELECT_ARGTYPES
+AC_CHECK_FUNCS([gethostname select socket uname strcasecmp gettimeofday strncasecmp strlcpy])
+
+AC_FUNC_CHOWN
+AC_FUNC_STAT
+AC_TYPE_MODE_T
+AC_TYPE_PID_T
+
+AC_CHECK_DECLS(environ)
+
+# check if gcc's -fvisibility is supported
+CHECK_VISIBILITY_HIDDEN
+
+# Check for pkg-config manually first, as if its not installed the
+# PKG_PROG_PKG_CONFIG macro won't be defined.
+AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)
+
+if test x"$have_pkg_config" = "xno"; then
+ AC_MSG_ERROR(pkg-config is required to install this program)
+fi
+
+PKG_PROG_PKG_CONFIG
+
+#
+# Doxygen
+#
+DX_HTML_FEATURE(ON)
+DX_CHM_FEATURE(OFF)
+DX_CHI_FEATURE(OFF)
+DX_MAN_FEATURE(OFF)
+DX_RTF_FEATURE(OFF)
+DX_XML_FEATURE(ON)
+DX_PDF_FEATURE(OFF)
+DX_PS_FEATURE(OFF)
+DX_INIT_DOXYGEN(catta, doxygen.cfg, doxygen)
+
+#
+# Conditionally compile test and example programs
+#
+AC_ARG_ENABLE(tests,
+ AS_HELP_STRING([--enable-tests],[Enable building of tests and examples]),
+ [case "${enableval}" in
+ yes) ENABLE_TESTS=yes ;;
+ no) ENABLE_TESTS=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-tests) ;;
+ esac],
+ [ENABLE_TESTS=no])
+
+AM_CONDITIONAL([ENABLE_TESTS], [test "x$ENABLE_TESTS" = "xyes"])
+
+# ==========================================================================
+AC_CONFIG_FILES([
+Makefile
+src/Makefile
+include/Makefile
+tests/Makefile
+examples/Makefile
+m4/Makefile
+])