configure.ac revision b58725c65b472bb129c610829e2bf4faaf438dbb
8900b9eb2514c07047541833286428572493a9fdStéphane Graber# -*- Autoconf -*-
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# Process this file with autoconf to produce a configure script.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_major], 2)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_minor], 0)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_micro], 1)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_beta], [])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_abi], 1.2.0)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version_base], [lxc_version_major.lxc_version_minor.lxc_version_micro])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumim4_define([lxc_version],
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [ifelse(lxc_version_beta, [], [lxc_version_base], [lxc_version_base.lxc_version_beta])])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_INIT([lxc], [lxc_version])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# We need pkg-config
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiPKG_PROG_PKG_CONFIG
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_SUBST(LXC_VERSION_BASE, lxc_version_base)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_SUBST(LXC_VERSION_BETA, lxc_version_beta)
a5ba96715d4ef264c43d4f187251de491ba198c0KATOH YasufumiAC_SUBST([LXC_VERSION_MAJOR], [lxc_version_major])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_SUBST([LXC_VERSION_MINOR], [lxc_version_minor])
8900b9eb2514c07047541833286428572493a9fdStéphane GraberAC_SUBST([LXC_VERSION_MICRO], [lxc_version_micro])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_SUBST([LXC_VERSION_ABI], [lxc_version_abi])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_SUBST([LXC_VERSION], [lxc_version])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_CONFIG_SRCDIR([configure.ac])
faefa7f8584a7d1567df2e6f1f9240a28a6466abStéphane GraberAC_CONFIG_AUX_DIR([config])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_CONFIG_HEADERS([src/config.h])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability subdir-objects])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_CANONICAL_HOST
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAM_PROG_CC_C_O
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# Detect the distribution. This is used for the default configuration and
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# for some distro-specific build options.
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_MSG_CHECKING([host distribution])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, oracle, centos, fedora, suse, gentoo, debian, arch, slackware, plamo, paldo, openmandriva, pardus, sparclinux, altlinux.]))
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiif type lsb_release >/dev/null 2>&1 && test "z$with_distro" = "z"; then
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi with_distro=`lsb_release -is`
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiif test "z$with_distro" = "z"; then
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/oracle-release,with_distro="oracle")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/sparclinux-release,with_distro="sparclinux")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/centos-release,with_distro="centos")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/fedora-release,with_distro="fedora")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
6127da6b3f5815028bee187ac98840cd94313841KATOH Yasufumi AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/slackware-version,with_distro="slackware")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/plamo-version,with_distro="plamo")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/frugalware-release,with_distro="frugalware")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/mandrakelinux-release, with_distro="openmandriva")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/mandriva-release,with_distro="openmandriva")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi AC_CHECK_FILE(/etc/altlinux-release,with_distro="altlinux")
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiwith_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]'`
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiif test "z$with_distro" = "zforsparc"; then
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi with_distro="sparclinux"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumiif test "z$with_distro" = "z"; then
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi with_distro="unknown"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumicase $with_distro in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ubuntu|raspbian)
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi distrosysconf="$sysconfdir/default"
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi redhat|centos|fedora|oracle|oracleserver|sparclinux|altlinux|suse|opensuse*|plamo)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi distrosysconf="$sysconfdir/default"
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_MSG_RESULT([$with_distro])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu" -o x"$with_distro" = "xraspbian"])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAM_CONDITIONAL([DISTRO_UBUNTU], [test "x$with_distro" = "xubuntu"])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_CONFIG_LINKS([config/etc/default.conf:config/etc/${distroconf}])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# Check for init system type
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_MSG_CHECKING([for init system type])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH YasufumiAC_ARG_WITH([init-script],
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [AC_HELP_STRING([--with-init-script@<:@=TYPE@<:@,TYPE,...@:>@@:>@],
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi [Type(s) of init script to install: sysvinit, systemd, upstart,
dc421f3aac1f0e516c763dd156629a8ed2a7b4caKATOH Yasufumi distro @<:@default=distro@:>@])],[],[with_init_script=distro])
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumicase "$with_init_script" in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi case $with_distro in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi fedora|altlinux|opensuse*)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init_script=systemd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi redhat|centos|oracle|oracleserver|sparclinux|plamo)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init_script=sysvinit
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi debian|raspbian)
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init_script=upstart,systemd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init_script=upstart,systemd
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi echo -n "Linux distribution init system unknown."
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi init_script=$with_init_script
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi# Check valid init systems were given, run in subshell so we don't mess up IFS
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi(IFS="," ; for init_sys in $init_script;
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi case "$init_sys" in
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi none|sysvinit|systemd|upstart)
with_systemdsystemunitdir=/lib/systemd/system
if "$name" --help >/dev/null 2>&1; then
docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\""
[AC_CHECK_HEADER([sys/apparmor.h],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])])
AC_CHECK_LIB([apparmor], [aa_change_profile],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])])
[AC_CHECK_HEADER([selinux/selinux.h],[],[AC_MSG_ERROR([You must install the SELinux development package in order to compile lxc])])
AC_CHECK_LIB([selinux], [setexeccon_raw],[true],[AC_MSG_ERROR([You must install the SELinux development package in order to compile lxc])])
AC_CHECK_HEADER([seccomp.h],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])])
AC_CHECK_LIB([seccomp], [seccomp_init],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])])
AC_CHECK_LIB([cgmanager],[cgmanager_create],[enable_cgmanager=yes],[enable_cgmanager=no],[-lnih -lnih-dbus -ldbus-1])
AC_SEARCH_LIBS([cgmanager_get_pid_cgroup_abs_sync], [cgmanager], [have_abs_cgroups=yes], [have_abs_cgroups=no], [-lnih -lnih-dbus -ldbus-1])
AC_SEARCH_LIBS([cgmanager_list_controllers_sync], [cgmanager], [have_list_controllers=yes], [have_list_controllers=no], [-lnih -lnih-dbus -ldbus-1])
AC_CHECK_TYPES([scmp_filter_ctx], [], [], [[#include <seccomp.h>]])
AC_CHECK_DECLS([seccomp_syscall_resolve_name_arch], [], [], [[#include <seccomp.h>]])
[AC_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])],
AC_SUBST([LUA_LIBDIR], [$libdir/lua/$LUA_VERSION])
AC_SUBST([LUA_SHAREDIR], [$datadir/lua/$LUA_VERSION])
[AC_HELP_STRING([--enable-tests], [build test/example binaries [default=no]])],
)], [], [with_config_path=['${localstatedir}/lib/lxc']])
)], [], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
)], [], [with_usernic_conf=['${sysconfdir}/lxc/lxc-usernet']])
)], [], [with_usernic_db=['${with_runtime_path}/lxc/nics']])
)], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
default_log_path="${localstatedir}/log/lxc"
AS_AC_EXPAND(LXC_DEFAULT_CONFIG, "$sysconfdir/lxc/default.conf")
AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date --utc --date=@${SOURCE_DATE_EPOCH:-$(date +%s)} '+%Y-%m-%d')")
AS_AC_EXPAND(LXCTEMPLATEDIR, "$datadir/lxc/templates")
AS_AC_EXPAND(LXCTEMPLATECONFIG, "$datadir/lxc/config")
AS_AC_EXPAND(LXCHOOKDIR, "$datadir/lxc/hooks")
AS_AC_EXPAND(LXCBINHOOKDIR, "$libexecdir/lxc/hooks")
[#include <sys/socket.h>])
AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h sys/personality.h utmpx.h sys/timerfd.h])
config/init/systemd/lxc@.service
You are compiling LXC for bionic target which lacks certain threading related functionality used by LXC API (like pthread_atfork).