243f353a6779de20ffc5218e66c2684eb24e94be
[libguestfs.git] / daemon / configure.ac
1 # libguestfs-daemon
2 # Copyright (C) 2009 Red Hat Inc.
3 #
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.
8 #
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.
13 #
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.
17
18 AC_INIT([libguestfs-daemon],[1.0.0])
19 AM_INIT_AUTOMAKE([foreign])
20
21 AC_CONFIG_MACRO_DIR([m4])
22
23 dnl If the user specified --enable-32bit, then force the C compiler
24 dnl to build 32 bit binaries (gcc -m32).
25 AC_ARG_ENABLE([32bit],
26   [AS_HELP_STRING([--enable-32bit], [build 32 bit binaries (gcc -m32)])],
27   [export CC="gcc -m32"],
28   [enable_32bit=no])
29
30 dnl Enable 'debug' command.
31 AC_ARG_ENABLE([debug-command],
32   [AS_HELP_STRING([--enable-debug-command], [enable the 'debug' command])],
33   [AC_DEFINE_UNQUOTED([ENABLE_DEBUG_COMMAND],[1],[Enable the 'debug' command])],
34   [])
35
36 dnl For strchrnul(3), asprintf(3), futimens(2) and getline(3).
37 AC_GNU_SOURCE
38
39 dnl Check for basic C environment.
40 AC_PROG_CC
41 AC_PROG_INSTALL
42 AC_PROG_CPP
43
44 AC_C_PROTOTYPES
45 test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
46
47 AM_PROG_CC_C_O
48
49 dnl Check for Augeas (now optional).
50 AC_CHECK_LIB([augeas],[aug_match],[
51         LIBS="-laugeas $LIBS"
52         have_augeas=yes
53         dnl Check for functions not available in earlier versions of Augeas.
54         AC_CHECK_FUNCS([aug_load aug_defvar aug_defnode])
55         ],[have_augeas=no])
56 if test "x$have_augeas" = "xyes"; then
57         AC_DEFINE([HAVE_AUGEAS],[1],[Define to 1 if you have Augeas])
58 fi
59
60 dnl Check for XDR library.
61 AC_CHECK_LIB([portablexdr],[xdrmem_create],[],[
62         AC_SEARCH_LIBS([xdrmem_create],[rpc xdr nsl])
63         ])
64
65 dnl Functions which may not be available in older distributions.
66 AC_CHECK_FUNCS([futimens listxattr llistxattr getxattr lgetxattr setxattr lsetxattr removexattr lremovexattr])
67
68 dnl For modified printf, we need glibc either (old-style)
69 dnl register_printf_function or (new-style) register_printf_specifier.
70 AC_CHECK_FUNC([register_printf_specifier],[
71         AC_DEFINE([HAVE_REGISTER_PRINTF_SPECIFIER],[1],
72                 [Define to 1 if you have new-style register_printf_specifier])
73         ],[
74         AC_CHECK_FUNC([register_printf_function],[
75                 AC_DEFINE([HAVE_REGISTER_PRINTF_FUNCTION],[1],
76                         [Define to 1 if you have old-style register_printf_function])
77                 ],[
78                 AC_MSG_FAILURE(
79 [No support for glibc-style extended printf formatters.
80
81 This means you either have a very old glibc (pre-2.0) or you
82 are using some other libc where this is not supported.])])])
83
84 dnl Headers.
85 AC_CHECK_HEADERS([attr/xattr.h sys/xattr.h])
86
87 dnl Produce output files.
88 AC_CONFIG_HEADERS([config.h])
89 AC_CONFIG_FILES([Makefile])
90 AC_OUTPUT