Just do not compile bug-replay(1) if libxml2-2.5.9 is not available.
[captive.git] / configure.in
index 294a0e8..08ee8be 100644 (file)
 
 
 AC_INIT(src/libcaptive/Makefile-libcaptive.am)
+dnl 2.53 for AM_GLIB_GNU_GETTEXT:
+AC_PREREQ(2.53)
 AM_INIT_AUTOMAKE(captive,0.9cvs)
 AM_CONFIG_HEADER(config.h)
 AM_MAINTAINER_MODE
-#AM_ACLOCAL_INCLUDE(macros)
+dnl Call AC_PROG_CC before AC_ISC_POSIX.
+AC_PROG_CC(gcc3 gcc-3.0 gcc cc)
+AC_TRY_CPP([
+#if __GNUC__ >= 3
+#else
+#error "GCC version 3.0+ required at least for ReactOS anonymous unions"
+#endif
+],,[AC_MSG_ERROR([Captive requires GCC version 3.0+.])])
 dnl Prevent "AC_TRY_COMPILE was called before AC_ISC_POSIX":
 AC_ISC_POSIX
 AC_SYS_LARGEFILE
-AC_PROG_CC
 AM_PROG_AS
 AM_ENABLE_STATIC
 AM_DISABLE_SHARED
@@ -192,11 +200,23 @@ PKG_CHECK_MODULES(GNOME_VFS_MODULE,gnome-vfs-module-2.0)
 AC_SUBST(GNOME_VFS_MODULE_CFLAGS)
 AC_SUBST(GNOME_VFS_MODULE_LIBS)
 
-PKG_CHECK_MODULES(LIBXML,libxml-2.0)
+dnl Check for 2.5.9 for: http://bugzilla.gnome.org/show_bug.cgi?id=117702
+dnl Check the version - impossible to reliably check the missing feature.
+PKG_CHECK_MODULES(LIBXML,libxml-2.0 >= 2.5.9,[ have_libxml_buffering=true ],[
+       dnl Disable bug-replay(1) build if not met; --bug-pathname would be still OK.
+       PKG_CHECK_MODULES(LIBXML,libxml-2.0,[ have_libxml_buffering=false ])
+       ])
+AM_CONDITIONAL(HAVE_LIBXML_BUFFERING,$have_libxml_buffering)
 AC_SUBST(LIBXML_CFLAGS)
 AC_SUBST(LIBXML_LIBS)
 
-PKG_CHECK_MODULES(OPENSSL,openssl)
+PKG_CHECK_MODULES(OPENSSL,openssl,,[
+       dnl At least Debian-3.0r1 has openssl but without its .pc module.
+       AC_CHECK_LIB(crypto,MD5,[
+               OPENSSL_CFLAGS=""
+               OPENSSL_LIBS="-lcrypto"
+               ],[AC_MSG_ERROR([Captive requires crypto library (of openssl).])])
+       ])
 AC_SUBST(OPENSSL_CFLAGS)
 AC_SUBST(OPENSSL_LIBS)
 
@@ -269,11 +289,13 @@ Makefile
 ./src/client/Makefile
 ./src/client/bug-replay/Makefile
 ./src/client/cmdline/Makefile
-./src/client/libcaptive-gnomevfs/Makefile
+./src/client/gnomevfs/Makefile
+./src/client/lufs/Makefile
 ./src/client/sandbox-server/Makefile
+./src/TraceFS/Makefile
 ./doc/Makefile
 ./doc/apiref/Makefile
-./src/client/libcaptive-gnomevfs/captive.conf
+./src/client/gnomevfs/captive.conf
 ])
 
 dnl FIXME: Why is "po/POTFILES" being substituted?