configure.ac revision eb960fea5851c96136146300b44951427524cb14
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher# -*- Autoconf -*-
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher# Process this file with autoconf to produce a configure script.
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_INIT([lxc], [0.6.4])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub HrozekAC_CONFIG_SRCDIR([configure.ac])
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub HrozekAC_CONFIG_AUX_DIR([config])
06c1952db1ab5598e3d68132f9c846bc59c94ef7Jakub HrozekAM_CONFIG_HEADER([src/config.h])
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub HrozekAM_INIT_AUTOMAKE([-Wno-portability])
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub HrozekAC_CANONICAL_HOST
2cb6f28b3a12bb714bf14494d31eb6b6fff64b8bJakub HrozekAM_PROG_CC_C_O
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAC_GNU_SOURCE
0142e7e2558a887992b1c5d4dc3051178e377687Jakub HrozekAC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
f45a20d6ba9e8d695ec3ab707f0cc082999aa4a3Jakub Hrozek
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_ARG_ENABLE([doc],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
531661c7bb54eb71853977a64cb30f80c20b963eJakub Hrozek [], [enable_doc=auto])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozekif test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
f45a20d6ba9e8d695ec3ab707f0cc082999aa4a3Jakub Hrozek AC_CHECK_PROG(have_docbook, [docbook2man], [yes], [no])
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub Hrozek test "x$have_docbook" = "xno" -a "x$enable_doc" = "xyes" && \
a7797068c4deb6ce2bdbcda27c45ff1bbb4a8e78Jakub Hrozek AC_MSG_ERROR([docbook2man required by man request, but not found])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherfi
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$have_docbook" = "xyes"])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
7a14e8f66c0e932fe2954d792614a3b61d444bd1Jakub HrozekAC_ARG_ENABLE([examples],
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [], [enable_examples=yes])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
65a9065538fd85e6ead925d344e6b421900eb8c2Jakub HrozekAS_AC_EXPAND(PREFIX, $prefix)
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAS_AC_EXPAND(LIBDIR, $libdir)
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAS_AC_EXPAND(BINDIR, $bindir)
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAS_AC_EXPAND(INCLUDEDIR, $includedir)
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAS_AC_EXPAND(LIBEXECDIR, $libexecdir)
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
d25fa6f2608d5fe0617ada47f9d426f45deb96ffJakub HrozekAS_AC_EXPAND(DATADIR, $datadir)
0142e7e2558a887992b1c5d4dc3051178e377687Jakub HrozekAS_AC_EXPAND(LOCALSTATEDIR, $localstatedir)
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAS_AC_EXPAND(DOCDIR, $docdir)
6463ed1dcdd45416468b3fa178bd856b5a9ed2c3Jakub Hrozek
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_ARG_WITH([config-path],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [AC_HELP_STRING(
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [--with-config-path=dir],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [lxc configuration repository]
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher )], [], [with_config_path="${localstatedir}/lib/lxc"])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAS_AC_EXPAND(LXCPATH, "${with_config_path}")
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAH_TEMPLATE([LXCPATH], [lxc configuration repository])
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAH_TEMPLATE([LXCLIBEXECDIR], [lxc executable library path])
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAC_DEFINE_UNQUOTED(LXCPATH, "$LXCPATH")
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub HrozekAC_DEFINE_UNQUOTED(LXCLIBEXECDIR, "$LIBEXECDIR")
d25fa6f2608d5fe0617ada47f9d426f45deb96ffJakub Hrozek
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [],
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher AC_MSG_ERROR([netlink headers not found. Please install the linux kernel headers.]),
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher [#include <sys/socket.h>
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher ])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([please install libcap-devel.]),
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher[#include <sys/types.h>
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher#include <sys/capability.h>])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher# Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CHECK_HEADERS([sys/signalfd.h])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_PROG_GCC_TRADITIONAL
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherif test "x$GCC" = "xyes"; then
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher CFLAGS="$CFLAGS -Wall"
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherfi
f45a20d6ba9e8d695ec3ab707f0cc082999aa4a3Jakub Hrozek
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CONFIG_FILES([
65a9065538fd85e6ead925d344e6b421900eb8c2Jakub Hrozek Makefile
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub Hrozek lxc.pc
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub Hrozek lxc.spec
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub Hrozek config/Makefile
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub Hrozek
261cdde02b40aa8dabb3d69e43586a5a220647e9Jakub Hrozek doc/Makefile
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek doc/lxc-create.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-destroy.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-execute.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-start.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-stop.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-console.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-freeze.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-unfreeze.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-monitor.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-wait.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-ls.sgml
6463ed1dcdd45416468b3fa178bd856b5a9ed2c3Jakub Hrozek doc/lxc-ps.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc-cgroup.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/lxc.conf.sgml
f45a20d6ba9e8d695ec3ab707f0cc082999aa4a3Jakub Hrozek doc/lxc.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/common_options.sgml
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/see_also.sgml
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek
f45a20d6ba9e8d695ec3ab707f0cc082999aa4a3Jakub Hrozek doc/examples/Makefile
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-macvlan.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-vlan.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-no-netns.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-empty-netns.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-phys.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-veth.conf
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher doc/examples/lxc-complex-config
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher scripts/Makefile
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher scripts/lxc-debian
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher scripts/lxc-busybox
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher scripts/lxc-fedora
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher scripts/lxc-sshd
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/Makefile
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/Makefile
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-ps
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-ls
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-netstat
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-checkconfig
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-setcap
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-version
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-create
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher src/lxc/lxc-destroy
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_CONFIG_COMMANDS([default],[[]],[[]])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAC_OUTPUT
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherif test "x$SETCAP" = "xno"; then
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher AC_MSG_NOTICE([
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherWarning:
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher--------
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherThe setcap binary was not found. This means the tools to set the
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherprivilege for the lxc commands are not available, that's ok, but you
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherwill need to run these commands as root or install libcap-2.
6463ed1dcdd45416468b3fa178bd856b5a9ed2c3Jakub Hrozek
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherelse
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher AC_MSG_NOTICE([
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
52261fe16203dec6e6f69177c6d0a810b47d073fStephen GallagherAdvice:
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher-------
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek
0142e7e2558a887992b1c5d4dc3051178e377687Jakub HrozekIf you wish to have a non root user to use the lxc tools,
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozekyou can add the needed capabilities to the tools by invoking
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagherthe 'lxc-setcap' script. To remove the capabilities, use
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher'lxc-setcap -d'.
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher])
52261fe16203dec6e6f69177c6d0a810b47d073fStephen Gallagher
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozekfi
0142e7e2558a887992b1c5d4dc3051178e377687Jakub Hrozek