]> git.proxmox.com Git - mirror_lxc.git/blob - configure.ac
Choose configuration directory
[mirror_lxc.git] / configure.ac
1 # -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_INIT([lxc], [0.6.3])
5
6 AC_CONFIG_SRCDIR([configure.ac])
7 AC_CONFIG_AUX_DIR([config])
8 AM_CONFIG_HEADER([src/config.h])
9 AM_INIT_AUTOMAKE([-Wno-portability])
10 AC_CANONICAL_HOST
11 AM_PROG_CC_C_O
12 AC_GNU_SOURCE
13 AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
14
15 AC_ARG_ENABLE([doc],
16 [AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
17 [], [enable_doc=auto])
18
19 if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
20 AC_CHECK_PROG(have_docbook, [docbook2man], [yes], [no])
21
22 test "x$have_docbook" = "xno" -a "x$enable_doc" = "xyes" && \
23 AC_MSG_ERROR([docbook2man required by man request, but not found])
24 fi
25
26 AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$have_docbook" = "xyes"])
27
28 AC_ARG_ENABLE([examples],
29 [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
30 [], [enable_examples=yes])
31
32 AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
33
34 AS_AC_EXPAND(PREFIX, $prefix)
35 AS_AC_EXPAND(LIBDIR, $libdir)
36 AS_AC_EXPAND(BINDIR, $bindir)
37 AS_AC_EXPAND(INCLUDEDIR, $includedir)
38 AS_AC_EXPAND(LIBEXECDIR, $libexecdir)
39 AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
40 AS_AC_EXPAND(DATADIR, $datadir)
41 AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir)
42
43 AC_ARG_WITH([config-path],
44 [AC_HELP_STRING(
45 [--with-config-path=dir],
46 [lxc configuration repository]
47 )], [], [with_config_path="${localstatedir}/lib/lxc"])
48
49 AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
50 AS_AC_EXPAND(LXCPATH, "${with_config_path}")
51 AH_TEMPLATE([LXCPATH], [lxc configuration repository])
52 AH_TEMPLATE([LXCLIBEXECDIR], [lxc executable library path])
53 AC_DEFINE_UNQUOTED(LXCPATH, "$LXCPATH")
54 AC_DEFINE_UNQUOTED(LXCLIBEXECDIR, "$LIBEXECDIR")
55
56 AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
57 [],
58 AC_MSG_ERROR([netlink headers not found. Please install the linux kernel headers.]),
59 [#include <sys/socket.h>
60 ])
61
62 AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([please install libcap-devel.]),
63 [#include <sys/types.h>
64 #include <sys/capability.h>])
65
66 # Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
67 AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
68
69 AC_CHECK_HEADERS([sys/signalfd.h])
70
71 AC_PROG_GCC_TRADITIONAL
72
73 if test "x$GCC" = "xyes"; then
74 CFLAGS="$CFLAGS -Wall"
75 fi
76
77 AC_CONFIG_FILES([
78 Makefile
79 lxc.pc
80 lxc.spec
81 config/Makefile
82
83 doc/Makefile
84 doc/lxc-create.sgml
85 doc/lxc-destroy.sgml
86 doc/lxc-execute.sgml
87 doc/lxc-start.sgml
88 doc/lxc-stop.sgml
89 doc/lxc-console.sgml
90 doc/lxc-freeze.sgml
91 doc/lxc-unfreeze.sgml
92 doc/lxc-monitor.sgml
93 doc/lxc-wait.sgml
94 doc/lxc-ls.sgml
95 doc/lxc-ps.sgml
96 doc/lxc-cgroup.sgml
97 doc/lxc.conf.sgml
98 doc/lxc.sgml
99 doc/common_options.sgml
100 doc/see_also.sgml
101
102 scripts/Makefile
103 scripts/lxc-debian
104 scripts/lxc-fedora
105 scripts/lxc-sshd
106
107 src/Makefile
108 src/lxc/Makefile
109 src/lxc/lxc-ps
110 src/lxc/lxc-ls
111 src/lxc/lxc-netstat
112 src/lxc/lxc-checkconfig
113 src/lxc/lxc-setcap
114 src/lxc/lxc-version
115 src/lxc/lxc-create
116 src/lxc/lxc-destroy
117
118 doc/examples/Makefile
119 doc/examples/lxc-macvlan.conf
120 doc/examples/lxc-no-netns.conf
121 doc/examples/lxc-empty-netns.conf
122 doc/examples/lxc-phys.conf
123 doc/examples/lxc-veth.conf
124 doc/examples/lxc-complex-config
125 ])
126 AC_CONFIG_COMMANDS([default],[[]],[[]])
127 AC_OUTPUT
128
129 if test "x$SETCAP" = "xno"; then
130 AC_MSG_NOTICE([
131
132 Warning:
133 --------
134
135 The setcap binary was not found. This means the tools to set the
136 privilege for the lxc commands are not available, that's ok, but you
137 will need to run these commands as root or install libcap-2.
138
139 ])
140
141 else
142
143 AC_MSG_NOTICE([
144
145 Advice:
146 -------
147
148 If you wish to have a non root user to use the lxc tools,
149 you can add the needed capabilities to the tools by invoking
150 the 'lxc-setcap' script. To remove the capabilities, use
151 'lxc-setcap -d'.
152 ])
153
154 fi