]> git.proxmox.com Git - mirror_lxc.git/blame - configure.ac
lxc-kill man update about SIGSTOP and SIGKILL
[mirror_lxc.git] / configure.ac
CommitLineData
5e97c3fc 1# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
9eb09f87 4AC_INIT([lxc], [0.6.5])
5e97c3fc 5
f8dafdbb 6AC_CONFIG_SRCDIR([configure.ac])
5e97c3fc 7AC_CONFIG_AUX_DIR([config])
8AM_CONFIG_HEADER([src/config.h])
9AM_INIT_AUTOMAKE([-Wno-portability])
10AC_CANONICAL_HOST
5e97c3fc 11AM_PROG_CC_C_O
12AC_GNU_SOURCE
e90b6974 13AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
5c8f9bd8
AN
14
15AC_ARG_ENABLE([doc],
16 [AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
17 [], [enable_doc=auto])
18
19if 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])
24fi
25
26AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$have_docbook" = "xyes"])
27
3fb0a9bb
AN
28AC_ARG_ENABLE([examples],
29 [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
30 [], [enable_examples=yes])
31
32AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
33
b6345ba1
DL
34AS_AC_EXPAND(PREFIX, $prefix)
35AS_AC_EXPAND(LIBDIR, $libdir)
7ad641d5 36AS_AC_EXPAND(BINDIR, $bindir)
b6345ba1 37AS_AC_EXPAND(INCLUDEDIR, $includedir)
a25ba7aa 38AS_AC_EXPAND(LIBEXECDIR, $libexecdir)
7ad641d5 39AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
3eae9733 40AS_AC_EXPAND(DATADIR, $datadir)
7ad641d5 41AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir)
0f71d073 42AS_AC_EXPAND(DOCDIR, $docdir)
805415fc 43
aef4ebcf
AN
44AC_ARG_WITH([config-path],
45 [AC_HELP_STRING(
46 [--with-config-path=dir],
e892973e 47 [lxc configuration repository path]
aef4ebcf
AN
48 )], [], [with_config_path="${localstatedir}/lib/lxc"])
49
196db713
DL
50AC_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
aef4ebcf
AN
56AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
57AS_AC_EXPAND(LXCPATH, "${with_config_path}")
196db713 58AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}")
881450bb
DL
59AH_TEMPLATE([LXCPATH], [lxc configuration repository])
60AH_TEMPLATE([LXCLIBEXECDIR], [lxc executable library path])
196db713 61AH_TEMPLATE([LXCROOTFSMOUNT], [lxc default rootfs mount point])
881450bb
DL
62AC_DEFINE_UNQUOTED(LXCPATH, "$LXCPATH")
63AC_DEFINE_UNQUOTED(LXCLIBEXECDIR, "$LIBEXECDIR")
196db713 64AC_DEFINE_UNQUOTED(LXCROOTFSMOUNT, "$LXCROOTFSMOUNT")
881450bb 65
90e0a869 66AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
288063bd
DL
67 [],
68 AC_MSG_ERROR([netlink headers not found. Please install the linux kernel headers.]),
69 [#include <sys/socket.h>
90e0a869 70 ])
35f549fe 71
72AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([please install libcap-devel.]),
ddceb1f9
DL
73[#include <sys/types.h>
74#include <sys/capability.h>])
0af683cf 75AC_CHECK_LIB(cap,cap_set_proc,caplib=yes,caplib=no)
76AC_MSG_CHECKING([linux capabilities])
77if test "x$caplib" = "xyes" ; then
78 CAP_LIBS="-lcap"
79 AC_MSG_RESULT([$CAP_LIBS])
80else
81 AC_MSG_ERROR([not found])
82fi
83AC_SUBST([CAP_LIBS])
35f549fe 84
656994bb
MH
85# Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
86AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
87
ff218c25 88AC_CHECK_HEADERS([sys/signalfd.h])
89
5e97c3fc 90AC_PROG_GCC_TRADITIONAL
91
92if test "x$GCC" = "xyes"; then
8642237a 93 CFLAGS="$CFLAGS -Wall"
5e97c3fc 94fi
95
96AC_CONFIG_FILES([
288063bd 97 Makefile
b6345ba1 98 lxc.pc
5e97c3fc 99 lxc.spec
288063bd 100 config/Makefile
d823d5b9 101
288063bd 102 doc/Makefile
d823d5b9 103 doc/lxc-create.sgml
104 doc/lxc-destroy.sgml
105 doc/lxc-execute.sgml
106 doc/lxc-start.sgml
107 doc/lxc-stop.sgml
b0a33c1e 108 doc/lxc-console.sgml
d823d5b9 109 doc/lxc-freeze.sgml
110 doc/lxc-unfreeze.sgml
111 doc/lxc-monitor.sgml
112 doc/lxc-wait.sgml
113 doc/lxc-ls.sgml
114 doc/lxc-ps.sgml
b0e505c9 115 doc/lxc-cgroup.sgml
e4b3fe58 116 doc/lxc-kill.sgml
8a67a2b2 117 doc/lxc.conf.sgml
8b8b04f8 118 doc/lxc.sgml
10fba81b 119 doc/common_options.sgml
99e4008c 120 doc/see_also.sgml
d823d5b9 121
0f71d073
DL
122 doc/examples/Makefile
123 doc/examples/lxc-macvlan.conf
26c39028 124 doc/examples/lxc-vlan.conf
0f71d073
DL
125 doc/examples/lxc-no-netns.conf
126 doc/examples/lxc-empty-netns.conf
127 doc/examples/lxc-phys.conf
128 doc/examples/lxc-veth.conf
c553a9c2 129 doc/examples/lxc-complex.conf
0f71d073 130
c9844b87 131 scripts/Makefile
132 scripts/lxc-debian
eb960fea 133 scripts/lxc-busybox
54b1eb68 134 scripts/lxc-fedora
c9844b87 135 scripts/lxc-sshd
136
288063bd 137 src/Makefile
5e97c3fc 138 src/lxc/Makefile
139 src/lxc/lxc-ps
d823d5b9 140 src/lxc/lxc-ls
9d0195cb 141 src/lxc/lxc-netstat
237315ff
DL
142 src/lxc/lxc-checkconfig
143 src/lxc/lxc-setcap
bcd952a1 144 src/lxc/lxc-version
ab2d32f8
DL
145 src/lxc/lxc-create
146 src/lxc/lxc-destroy
c9844b87 147
5e97c3fc 148])
149AC_CONFIG_COMMANDS([default],[[]],[[]])
150AC_OUTPUT
805415fc 151
152if test "x$SETCAP" = "xno"; then
f8dafdbb 153 AC_MSG_NOTICE([
805415fc 154
155Warning:
156--------
157
87476557
FG
158The setcap binary was not found. This means the tools to set the
159privilege for the lxc commands are not available, that's ok, but you
160will need to run these commands as root or install libcap-2.
805415fc 161
162])
163
164else
165
f8dafdbb 166 AC_MSG_NOTICE([
805415fc 167
168Advice:
169-------
170
87476557 171If you wish to have a non root user to use the lxc tools,
237315ff
DL
172you can add the needed capabilities to the tools by invoking
173the 'lxc-setcap' script. To remove the capabilities, use
87476557 174'lxc-setcap -d'.
805415fc 175])
176
177fi