build: avoid "make sytnax-check" failure
[libguestfs.git] / daemon / configure.ac
index 406594a..b0c7f26 100644 (file)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-AC_INIT([libguestfs-daemon],[0.1])
-AM_INIT_AUTOMAKE
-
-dnl Make sure the user has created the link to nfs-utils source.
-if ! test -e $srcdir/nfs-utils \
-    -o -f $srcdir/nfs-utils/utils/nfsd/nfsd.c; then
-  AC_MSG_ERROR([$srcdir/nfs-utils must be a symlink to the unpacked nfs-utils sources.
-See the README file for more information.])
-fi
+AC_INIT([libguestfs-daemon],[1.0.0])
+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])
 
 dnl If the user specified --enable-32bit, then force the C compiler
 dnl to build 32 bit binaries (gcc -m32).
@@ -32,25 +31,78 @@ AC_ARG_ENABLE([32bit],
   [export CC="gcc -m32"],
   [enable_32bit=no])
 
+dnl Enable 'debug' command.
+AC_ARG_ENABLE([debug-command],
+  [AS_HELP_STRING([--enable-debug-command], [enable the 'debug' command])],
+  [AC_DEFINE_UNQUOTED([ENABLE_DEBUG_COMMAND],[1],[Enable the 'debug' command])],
+  [])
+
+dnl For strchrnul(3), asprintf(3), futimens(2) and getline(3).
+AC_GNU_SOURCE
+
 dnl Check for basic C environment.
 AC_PROG_CC
 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 (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 libselinux (optional).
+AC_CHECK_HEADERS([selinux/selinux.h])
+AC_CHECK_LIB([selinux],[setexeccon],[
+        LIBS="-lselinux $LIBS"
+        have_libselinux="$ac_cv_header_selinux_selinux_h"
+        AC_CHECK_FUNCS([setcon getcon])
+        ],[have_libselinux=no])
+if test "x$have_libselinux" = "xyes"; then
+        AC_DEFINE([HAVE_LIBSELINUX],[1],[Define to 1 if you have libselinux])
+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 Run in subdirs.
-AC_CONFIG_SUBDIRS([nfs-utils])
+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