]> git.proxmox.com Git - mirror_lxc.git/blob - configure.ac
add a configure option to set a rootfs mount point
[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.5])
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 AS_AC_EXPAND(DOCDIR, $docdir)
43
44 AC_ARG_WITH([config-path],
45 [AC_HELP_STRING(
46 [--with-config-path=dir],
47 [lxc configuration repository path]
48 )], [], [with_config_path="${localstatedir}/lib/lxc"])
49
50 AC_ARG_WITH([rootfs-path],
51 [AC_HELP_STRING(
52 [--with-rootfs-path=dir],
53 [lxc rootfs mount point]
54 )], [], [with_rootfs_path="${libdir}/lxc"])
55
56 AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
57 AS_AC_EXPAND(LXCPATH, "${with_config_path}")
58 AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}")
59 AH_TEMPLATE([LXCPATH], [lxc configuration repository])
60 AH_TEMPLATE([LXCLIBEXECDIR], [lxc executable library path])
61 AH_TEMPLATE([LXCROOTFSMOUNT], [lxc default rootfs mount point])
62 AC_DEFINE_UNQUOTED(LXCPATH, "$LXCPATH")
63 AC_DEFINE_UNQUOTED(LXCLIBEXECDIR, "$LIBEXECDIR")
64 AC_DEFINE_UNQUOTED(LXCROOTFSMOUNT, "$LXCROOTFSMOUNT")
65
66 AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
67 [],
68 AC_MSG_ERROR([netlink headers not found. Please install the linux kernel headers.]),
69 [#include <sys/socket.h>
70 ])
71
72 AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([please install libcap-devel.]),
73 [#include <sys/types.h>
74 #include <sys/capability.h>])
75
76 # Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
77 AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
78
79 AC_CHECK_HEADERS([sys/signalfd.h])
80
81 AC_PROG_GCC_TRADITIONAL
82
83 if test "x$GCC" = "xyes"; then
84 CFLAGS="$CFLAGS -Wall"
85 fi
86
87 AC_CONFIG_FILES([
88 Makefile
89 lxc.pc
90 lxc.spec
91 config/Makefile
92
93 doc/Makefile
94 doc/lxc-create.sgml
95 doc/lxc-destroy.sgml
96 doc/lxc-execute.sgml
97 doc/lxc-start.sgml
98 doc/lxc-stop.sgml
99 doc/lxc-console.sgml
100 doc/lxc-freeze.sgml
101 doc/lxc-unfreeze.sgml
102 doc/lxc-monitor.sgml
103 doc/lxc-wait.sgml
104 doc/lxc-ls.sgml
105 doc/lxc-ps.sgml
106 doc/lxc-cgroup.sgml
107 doc/lxc-kill.sgml
108 doc/lxc.conf.sgml
109 doc/lxc.sgml
110 doc/common_options.sgml
111 doc/see_also.sgml
112
113 doc/examples/Makefile
114 doc/examples/lxc-macvlan.conf
115 doc/examples/lxc-vlan.conf
116 doc/examples/lxc-no-netns.conf
117 doc/examples/lxc-empty-netns.conf
118 doc/examples/lxc-phys.conf
119 doc/examples/lxc-veth.conf
120 doc/examples/lxc-complex.conf
121
122 scripts/Makefile
123 scripts/lxc-debian
124 scripts/lxc-busybox
125 scripts/lxc-fedora
126 scripts/lxc-sshd
127
128 src/Makefile
129 src/lxc/Makefile
130 src/lxc/lxc-ps
131 src/lxc/lxc-ls
132 src/lxc/lxc-netstat
133 src/lxc/lxc-checkconfig
134 src/lxc/lxc-setcap
135 src/lxc/lxc-version
136 src/lxc/lxc-create
137 src/lxc/lxc-destroy
138
139 ])
140 AC_CONFIG_COMMANDS([default],[[]],[[]])
141 AC_OUTPUT
142
143 if test "x$SETCAP" = "xno"; then
144 AC_MSG_NOTICE([
145
146 Warning:
147 --------
148
149 The setcap binary was not found. This means the tools to set the
150 privilege for the lxc commands are not available, that's ok, but you
151 will need to run these commands as root or install libcap-2.
152
153 ])
154
155 else
156
157 AC_MSG_NOTICE([
158
159 Advice:
160 -------
161
162 If you wish to have a non root user to use the lxc tools,
163 you can add the needed capabilities to the tools by invoking
164 the 'lxc-setcap' script. To remove the capabilities, use
165 'lxc-setcap -d'.
166 ])
167
168 fi