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
GTK_DOC_CHECK
dnl AM_CONDITIONAL needs to be here explicitely for doc/apiref/Makefile rebuild
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL")
dnl Do not discard 'CFLAGS' settings as they may have been passed us by rpmbuild(8)
[ CAPTIVE_SANDBOX_CHROOT="$withval" ],[ CAPTIVE_SANDBOX_CHROOT="/var/lib/captive" ])
AC_DEFINE_UNQUOTED(CAPTIVE_SANDBOX_CHROOT,"$CAPTIVE_SANDBOX_CHROOT",
[root-owned directory for captive-sandbox-server])
+AC_SUBST(CAPTIVE_SANDBOX_CHROOT)
dnl Permit 'if IS_FALSE' for Makefile.am-s; symbol 'FALSE' forbidden by automake
AM_CONDITIONAL(IS_FALSE,false)
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.
-dnl FIXME: Just disable bug-replay(1) build if not met; --bug-pathname would be still OK.
-PKG_CHECK_MODULES(LIBXML,libxml-2.0 >= 2.5.9)
+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 ])
+ ])
+dnl We also condition 'HAVE_LIBXML_XMLREADER_H' by 'HAVE_LIBXML_BUFFERING'
+dnl as we have no use for xmlreader without working libxml buffering of 2.5.9.
+AM_CONDITIONAL(HAVE_LIBXML_BUFFERING,$have_libxml_buffering)
+if $have_libxml_buffering;then
+ AC_DEFINE(HAVE_LIBXML_BUFFERING,,[libxml2 correctly reads textnodes by its xmlTextReader.])
+fi
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)
+have_lufs_includes=true
+AC_CHECK_HEADERS(lufs/fs.h lufs/proto.h,,[ have_lufs_includes=false ])
+AM_CONDITIONAL(HAVE_LUFS_INCLUDES,$have_lufs_includes)
+
dnl for $(top_srcdir)/src/libcaptive/sandbox/split-sandbox.c
AM_PATH_LINC(,,[AC_MSG_ERROR([Captive requires linc library used by ORBit.])])