-dnl $Id: configure.in,v 1.12 2001/09/23 20:20:00 skimo Exp $
+dnl $Id: configure.in,v 1.27 2003/06/22 02:15:10 robs Exp $
dnl
dnl This file is an input file used by the GNU "autoconf" program to
dnl generate the file "configure", which is run during the build
dnl to configure the system for the local environment.
AC_INIT
-AM_INIT_AUTOMAKE(fcgi, 2.2.1)
+AM_INIT_AUTOMAKE(fcgi, 2.4.1)
-AM_CONFIG_HEADER(include/fcgi_config.h)
+AM_CONFIG_HEADER(fcgi_config.h)
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LIBTOOL
-AC_CHECK_LIB([nsl], [main]) ac_cv_lib_nsl=ac_cv_lib_nsl_main
-AC_CHECK_LIB([resolv], [main]) ac_cv_lib_resolv=ac_cv_lib_resolv_main
-AC_CHECK_LIB([socket], [main]) ac_cv_lib_socket=ac_cv_lib_socket_main
-AC_CHECK_LIB([dnet_stub], [main]) ac_cv_lib_dnet_stub=ac_cv_lib_dnet_stub_main
-AC_CHECK_LIB([ieee], [main]) ac_cv_lib_ieee=ac_cv_lib_ieee_main
+AC_PROG_CXX
-AC_SUBST(threaded)
-AC_CHECK_LIB([pthread], [main],
- [AC_DEFINE([HAVE_LIBPTHREAD], [1],
- [Define if you have the pthread library])
- AC_SUBST([HAVE_LIBPTHREAD])
- threaded=threaded])
-ac_cv_lib_pthread=ac_cv_lib_pthread_main
+AC_LANG([C++])
+
+dnl autoconf defaults CXX to 'g++', so its unclear whether it exists/works
+AC_MSG_CHECKING([whether $CXX works])
+AC_TRY_COMPILE([#include <iostream>],
+ [std::cout << "ok";],
+ [AC_MSG_RESULT(yes)
+ LIBFCGIXX=libfcgi++.la
+ ECHO_CPP=echo-cpp${EXEEXT}
+ AC_MSG_CHECKING([whether cin has a streambuf assignment operator])
+ AC_TRY_COMPILE([#include <iostream>],
+ [cin = static_cast<streambuf *>(0);],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_IOSTREAM_WITHASSIGN_STREAMBUF], [1],
+ [Define if cin/cout/cerr has a streambuf assignment operator])],
+ [AC_MSG_RESULT(no)])
+ AC_MSG_CHECKING([whether char_type is defined in the context of streambuf])
+ AC_TRY_COMPILE([#include <iostream>],
+ [class fcgi_streambuf : public std::streambuf { char_type ct; }],
+ [AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_STREAMBUF_CHAR_TYPE], [1],
+ [Define if char_type is defined in the context of streambuf])],
+ [AC_MSG_RESULT(no)])],
+ [AC_MSG_RESULT(no)])
+AC_SUBST(LIBFCGIXX)
+AC_SUBST(ECHO_CPP)
+
+AC_LANG([C])
+
+AC_CHECK_LIB([nsl], [gethostbyname])
+AC_CHECK_LIB([socket], [socket])
+
+ACX_PTHREAD([THREADED=threaded${EXEEXT}])
+AC_SUBST([THREADED])
FCGI_COMMON_CHECKS
SYSTEM=unix
AC_SUBST([SYSTEM])
-if test "$GCC"; then
- CCDEFS="$CCDEFS -Wall -Wmissing-prototypes"
-fi
-
-AC_SUBST([CCDEFS])
+AC_PROG_CC_WARNINGS
-AC_CONFIG_FILES(Makefile
- cgi-fcgi/Makefile
- include/Makefile
- libfcgi/Makefile
- examples/Makefile)
+AC_CONFIG_FILES([Makefile
+ cgi-fcgi/Makefile
+ include/Makefile
+ libfcgi/Makefile
+ examples/Makefile])
AC_OUTPUT