configure.ac revision 906f8c4ddd784ce0e759dae87bcb0f9c0a1926be
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger# -*- Autoconf -*-
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger# Process this file with autoconf to produce a configure script.
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_INIT([lxc], [0.9.0.alpha3])
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_CONFIG_SRCDIR([configure.ac])
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_CONFIG_AUX_DIR([config])
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_CONFIG_HEADERS([src/config.h])
802014878b7383de536e4fa0ceced1bce3217eadDaniel Couto ValeAM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability])
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_CANONICAL_HOST
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger# Detect the distribution. This is used for the default configuration and
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger# for some distro-specific build options.
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_MSG_CHECKING([host distribution])
736e78aff9e67436c35d4835c24fca667f3cadf3Julian KornbergerAC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, oracle, fedora, suse, gentoo, debian, arch, slackware, paldo, mandriva or pardus.]))
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornbergerif test "z$with_distro" = "z"; then
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger with_distro=`lsb_release -is`
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornbergerif test "z$with_distro" = "z"; then
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/oracle-release,with_distro="oracle")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/fedora-release,with_distro="fedora")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
7e1eade6e5b88f9a1efa7d3cef366d973ddc1ee4Eugen Kuksa AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
7e1eade6e5b88f9a1efa7d3cef366d973ddc1ee4Eugen Kuksa AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
7e1eade6e5b88f9a1efa7d3cef366d973ddc1ee4Eugen Kuksa AC_CHECK_FILE(/etc/mandrakelinux-release, with_distro="mandriva")
7e1eade6e5b88f9a1efa7d3cef366d973ddc1ee4Eugen Kuksa AC_CHECK_FILE(/etc/mandriva-release,with_distro="mandriva")
cf6b6be762502d02736a68d9c94fa3cc9977e474Tim Reddehase AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
cf6b6be762502d02736a68d9c94fa3cc9977e474Tim Reddehasewith_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]'`
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornbergerif test "z$with_distro" = "z"; then
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger with_distro="unknown"
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornbergercase $with_distro in
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger redhat|fedora|oracle|oracleserver)
736e78aff9e67436c35d4835c24fca667f3cadf3Julian Kornberger echo -n "Linux distribution network config unknown, defaulting to lxc.network.type = empty"
402d5f74ba78451acf2ccda16b41398535028a3bEugen KuksaAC_MSG_RESULT([$with_distro])
cf5a6d3745ac43a950c2315b07a1713bae300a97Tim ReddehaseAM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu"])
cf5a6d3745ac43a950c2315b07a1713bae300a97Tim Reddehase# Allow disabling rpath
b27c7f227c8516589a2bd127c0f74338cf56f0b2Julian KornbergerAC_ARG_ENABLE([rpath],
555b7fd96768daf9592e7ddbd4217d784b08e451henning mueller [AC_HELP_STRING([--disable-rpath], [do not set rpath in executables])],
555b7fd96768daf9592e7ddbd4217d784b08e451henning mueller [], [enable_rpath=yes])
555b7fd96768daf9592e7ddbd4217d784b08e451henning muellerAM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"])
555b7fd96768daf9592e7ddbd4217d784b08e451henning mueller# Documentation (manpages)
555b7fd96768daf9592e7ddbd4217d784b08e451henning muellerAC_ARG_ENABLE([doc],
7b8fe34340b2727bb31fe0be67fdf684e47c3609Tim Reddehase [AC_HELP_STRING([--enable-doc], [make mans (require docbook2x-man installed) [default=auto]])],
7b8fe34340b2727bb31fe0be67fdf684e47c3609Tim Reddehase [], [enable_doc=auto])
1cbb38d1d07f559b4a1c012a4833513053716007Daniel Couto Valeif test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
1b2e2335372f4737c0aa19da6320f7b5fd58b500Tim Reddehase AC_MSG_CHECKING(for docbook2x-man)
c997297b21c83680cdba2953cad369b82a5b8805Tim Reddehase for name in docbook2x-man db2x_docbook2man; do
7cd362a86385a020b8c674cf9199771ae3267359henning mueller if "$name" --help >/dev/null 2>&1; then
7cd362a86385a020b8c674cf9199771ae3267359henning mueller db2xman="$name"
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski if test -n "${db2xman}"; then
0c07cc350bdb8afe9b01b4340b33d89500a43106Till Mossakowski AC_MSG_RESULT([${db2xman}])
0c07cc350bdb8afe9b01b4340b33d89500a43106Till Mossakowski AC_MSG_RESULT([no])
2635b9bca67d93aec1bed63d10d5f92fefce06e7Till Mossakowski if test "x$enable_doc" = "xyes"; then
2635b9bca67d93aec1bed63d10d5f92fefce06e7Till Mossakowski AC_MSG_ERROR([docbook2x-man required by man request, but not found])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_SUBST(db2xman)
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAC_ARG_ENABLE([apparmor],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AC_HELP_STRING([--enable-apparmor], [enable apparmor])],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [], [enable_apparmor=check])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowskiif test "$enable_apparmor" = "check" ; then
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_CHECK_LIB([apparmor],[aa_change_profile],[enable_apparmor=yes], [enable_apparmor=no])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_CONDITIONAL([ENABLE_APPARMOR], [test "x$enable_apparmor" = "xyes"])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_COND_IF([ENABLE_APPARMOR],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AC_CHECK_HEADER([sys/apparmor.h],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_CHECK_LIB([apparmor], [aa_change_profile],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_SUBST([APPARMOR_LIBS], [-lapparmor])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski# Seccomp syscall filter
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAC_ARG_ENABLE([seccomp],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AC_HELP_STRING([--enable-seccomp], [enable seccomp])],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [], [enable_seccomp=check])
5ad93833caec560945adbce7b6f1342ef731ae83henning muellerif test "$enable_seccomp" = "check" ; then
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_CHECK_LIB([seccomp],[seccomp_init],[enable_seccomp=yes],[enable_seccomp=no])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_CONDITIONAL([ENABLE_SECCOMP], [test "x$enable_seccomp" = "xyes"])
0c07cc350bdb8afe9b01b4340b33d89500a43106Till MossakowskiAM_COND_IF([ENABLE_SECCOMP],
0c07cc350bdb8afe9b01b4340b33d89500a43106Till Mossakowski [AC_CHECK_HEADER([seccomp.h],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])])
0c07cc350bdb8afe9b01b4340b33d89500a43106Till Mossakowski AC_CHECK_LIB([seccomp], [seccomp_init],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_SUBST([SECCOMP_LIBS], [-lseccomp])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski# HAVE_SCMP_FILTER_CTX=1 will tell us we have libseccomp api >= 1.0.0
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAC_CHECK_TYPES([scmp_filter_ctx], [], [], [#include <seccomp.h>])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski# Configuration examples
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAC_ARG_ENABLE([examples],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [], [enable_examples=yes])
291d5c781e5ce4a7c15cfb16fa4a800177135b3ehenning muellerAM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski# Python3 module and scripts
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAC_ARG_ENABLE([python],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AC_HELP_STRING([--enable-python], [enable python binding])],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [enable_python=yes], [enable_python=no])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_CONDITIONAL([ENABLE_PYTHON], [test "x$enable_python" = "xyes"])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till MossakowskiAM_COND_IF([ENABLE_PYTHON],
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski [AM_PATH_PYTHON([3.2], [], [AC_MSG_ERROR([You must install python3])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski PKG_CHECK_MODULES([PYTHONDEV], [python3 >= 3.2],[],[AC_MSG_ERROR([You must install python3-dev])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski AC_DEFINE_UNQUOTED([ENABLE_PYTHON], 1, [Python3 is available])])
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowski# Lua module and scripts
1543bf02d52779c4bc29f75de1de4d14636d0e47Till Mossakowskiif test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu" ; then
[PKG_CHECK_MODULES([LUA], [$LUAPKGCONFIG >= 5.1],[],[AC_MSG_ERROR([You must install lua-devel for lua 5.1])])
[AC_HELP_STRING([--enable-tests], [build test/example binaries])],
)], [], [with_config_path=['${localstatedir}/lib/lxc']])
)], [], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
)], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
default_log_path="/var/log/lxc"
AS_AC_EXPAND(LXCTEMPLATEDIR, "$datadir/lxc/templates")
AS_AC_EXPAND(LXCHOOKDIR, "$datadir/lxc/hooks")
[#include <sys/socket.h>])
AC_MSG_ERROR([You are missing libcap support. If you really want to build without kernel capabilities, use --disable-capabilities])
AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])