# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
AC_INIT([libguestfs-daemon],[1.0.0])
-AM_INIT_AUTOMAKE
+AC_CONFIG_AUX_DIR([build-aux])
+AM_INIT_AUTOMAKE([foreign])
+
+m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
+AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_INSTALL
AC_PROG_CPP
+gl_EARLY
+gl_INIT
+
AC_C_PROTOTYPES
test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
-AC_PROG_CC_C_O
+AM_PROG_CC_C_O
-dnl Check for Augeas.
-AC_CHECK_LIB([augeas],[aug_match],,[
- AC_MSG_ERROR([Augeas library not found])
- ])
-
-dnl Check for functions not available in earlier versions of Augeas.
-AC_CHECK_FUNC([aug_load aug_defvar aug_defnode])
+dnl Check for Augeas (now optional).
+AC_CHECK_LIB([augeas],[aug_match],[
+ LIBS="-laugeas $LIBS"
+ have_augeas=yes
+ dnl Check for functions not available in earlier versions of Augeas.
+ AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
+ ],[have_augeas=no])
+if test "x$have_augeas" = "xyes"; then
+ AC_DEFINE([HAVE_AUGEAS],[1],[Define to 1 if you have Augeas])
+fi
dnl Check for XDR library.
AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
- AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
- ])
+ AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
+ ])
+
+dnl Functions which may not be available in older distributions.
+AC_CHECK_FUNCS([futimens listxattr llistxattr getxattr lgetxattr setxattr lsetxattr removexattr lremovexattr inotify_init1])
+
+dnl For modified printf, we need glibc either (old-style)
+dnl register_printf_function or (new-style) register_printf_specifier.
+AC_CHECK_FUNC([register_printf_specifier],[
+ AC_DEFINE([HAVE_REGISTER_PRINTF_SPECIFIER],[1],
+ [Define to 1 if you have new-style register_printf_specifier])
+ ],[
+ AC_CHECK_FUNC([register_printf_function],[
+ AC_DEFINE([HAVE_REGISTER_PRINTF_FUNCTION],[1],
+ [Define to 1 if you have old-style register_printf_function])
+ ],[
+ AC_MSG_FAILURE(
+[No support for glibc-style extended printf formatters.
+
+This means you either have a very old glibc (pre-2.0) or you
+are using some other libc where this is not supported.])])])
+
+dnl Headers.
+AC_CHECK_HEADERS([attr/xattr.h sys/xattr.h])
dnl Produce output files.
AC_CONFIG_HEADERS([config.h])
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile])
AC_OUTPUT