Implemented support for EOF operation on FCGI::Stream handle
[catagits/fcgi2.git] / configure.in
index 881dcd4..211af56 100755 (executable)
@@ -1,11 +1,11 @@
-dnl     $Id: configure.in,v 1.17 2001/11/21 15:32:31 robs 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(fcgi_config.h)
 
@@ -16,34 +16,40 @@ AC_PROG_LIBTOOL
 
 AC_PROG_CXX
 
+AC_LANG([C++])
+
 dnl autoconf defaults CXX to 'g++', so its unclear whether it exists/works
 AC_MSG_CHECKING([whether $CXX works])
-AC_LANG_CPLUSPLUS
-AC_TRY_COMPILE([#include <iostream.h>], [istream is(NULL);], 
-               [CXX_WORKS=1] [AC_MSG_RESULT(yes)], 
+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_LANG_C
-
-if test -n "$CXX_WORKS"; then
-       LIBFCGIXX='libfcgi++.la'
-       ECHO_CPP='echo-cpp$(EXEEXT)'
-fi
 AC_SUBST(LIBFCGIXX)
 AC_SUBST(ECHO_CPP)
 
-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_LANG([C])
+
+AC_CHECK_LIB([nsl],       [gethostbyname])
+AC_CHECK_LIB([socket],    [socket]) 
 
-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$(EXEEXT)']) 
-ac_cv_lib_pthread=ac_cv_lib_pthread_main
+ACX_PTHREAD([THREADED=threaded${EXEEXT}])
+AC_SUBST([THREADED])
 
 FCGI_COMMON_CHECKS
 
@@ -60,14 +66,12 @@ AC_C_INLINE
 SYSTEM=unix
 AC_SUBST([SYSTEM])
 
-if test "$GCC"; then
-       CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
-fi
+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