2 # Copyright (C) 2009 Red Hat Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 AC_INIT([libguestfs-daemon],[1.0.0])
19 AC_CONFIG_AUX_DIR([build-aux])
20 AM_INIT_AUTOMAKE([foreign])
22 m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])])
23 AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
25 AC_CONFIG_MACRO_DIR([m4])
27 dnl If the user specified --enable-32bit, then force the C compiler
28 dnl to build 32 bit binaries (gcc -m32).
29 AC_ARG_ENABLE([32bit],
30 [AS_HELP_STRING([--enable-32bit], [build 32 bit binaries (gcc -m32)])],
31 [export CC="gcc -m32"],
34 dnl Enable 'debug' command.
35 AC_ARG_ENABLE([debug-command],
36 [AS_HELP_STRING([--enable-debug-command], [enable the 'debug' command])],
37 [AC_DEFINE_UNQUOTED([ENABLE_DEBUG_COMMAND],[1],[Enable the 'debug' command])],
40 dnl For strchrnul(3), asprintf(3), futimens(2) and getline(3).
43 dnl Check for basic C environment.
52 test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
56 dnl Check for Augeas (now optional).
57 AC_CHECK_LIB([augeas],[aug_match],[
60 dnl Check for functions not available in earlier versions of Augeas.
61 AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
63 if test "x$have_augeas" = "xyes"; then
64 AC_DEFINE([HAVE_AUGEAS],[1],[Define to 1 if you have Augeas])
67 dnl Check for libselinux (optional).
68 AC_CHECK_HEADERS([selinux/selinux.h])
69 AC_CHECK_LIB([selinux],[setexeccon],[
70 LIBS="-lselinux $LIBS"
71 have_libselinux="$ac_cv_header_selinux_selinux_h"
72 AC_CHECK_FUNCS([setcon getcon])
73 ],[have_libselinux=no])
74 if test "x$have_libselinux" = "xyes"; then
75 AC_DEFINE([HAVE_LIBSELINUX],[1],[Define to 1 if you have libselinux])
78 dnl Check for XDR library.
79 AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
80 AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
83 dnl Functions which may not be available in older distributions.
84 AC_CHECK_FUNCS([futimens listxattr llistxattr getxattr lgetxattr setxattr lsetxattr removexattr lremovexattr inotify_init1])
86 dnl For modified printf, we need glibc either (old-style)
87 dnl register_printf_function or (new-style) register_printf_specifier.
88 AC_CHECK_FUNC([register_printf_specifier],[
89 AC_DEFINE([HAVE_REGISTER_PRINTF_SPECIFIER],[1],
90 [Define to 1 if you have new-style register_printf_specifier])
92 AC_CHECK_FUNC([register_printf_function],[
93 AC_DEFINE([HAVE_REGISTER_PRINTF_FUNCTION],[1],
94 [Define to 1 if you have old-style register_printf_function])
97 [No support for glibc-style extended printf formatters.
99 This means you either have a very old glibc (pre-2.0) or you
100 are using some other libc where this is not supported.])])])
103 AC_CHECK_HEADERS([attr/xattr.h sys/xattr.h])
105 dnl Produce output files.
106 AC_CONFIG_HEADERS([config.h])
107 AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile])