# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
+m4_define([lxc_devel], 1)
m4_define([lxc_version_major], 2)
m4_define([lxc_version_minor], 0)
m4_define([lxc_version_micro], 0)
-m4_define([lxc_version_beta], beta1)
-m4_define([lxc_version_abi], 1.2.0)
+m4_define([lxc_version_beta], [])
+
+m4_define([lxc_abi_major], 1)
+m4_define([lxc_abi_minor], 2)
+m4_define([lxc_abi_micro], 0)
+m4_define([lxc_abi], [lxc_abi_major.lxc_abi_minor.lxc_abi_micro])
m4_define([lxc_version_base], [lxc_version_major.lxc_version_minor.lxc_version_micro])
m4_define([lxc_version],
AC_SUBST([LXC_VERSION_MAJOR], [lxc_version_major])
AC_SUBST([LXC_VERSION_MINOR], [lxc_version_minor])
AC_SUBST([LXC_VERSION_MICRO], [lxc_version_micro])
-AC_SUBST([LXC_VERSION_ABI], [lxc_version_abi])
AC_SUBST([LXC_VERSION], [lxc_version])
+AC_SUBST([LXC_DEVEL], [lxc_devel])
+
+AC_SUBST([LXC_ABI_MAJOR], [lxc_abi_major])
+AC_SUBST([LXC_ABI_MINOR], [lxc_abi_minor])
+AC_SUBST([LXC_ABI_MICRO], [lxc_abi_micro])
+AC_SUBST([LXC_ABI], [lxc_abi])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_AUX_DIR([config])
AM_PROG_CC_C_O
AC_GNU_SOURCE
+# libtool
+LT_INIT
+AC_SUBST([LIBTOOL_DEPS])
+
# Detect the distribution. This is used for the default configuration and
# for some distro-specific build options.
AC_MSG_CHECKING([host distribution])
-AC_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.]))
+AC_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.]))
if type lsb_release >/dev/null 2>&1 && test "z$with_distro" = "z"; then
with_distro=`lsb_release -is`
fi
AC_CHECK_FILE(/etc/mandrakelinux-release, with_distro="openmandriva")
AC_CHECK_FILE(/etc/mandriva-release,with_distro="openmandriva")
AC_CHECK_FILE(/etc/pardus-release,with_distro="pardus")
+ AC_CHECK_FILE(/etc/altlinux-release,with_distro="altlinux")
+ AC_CHECK_FILE(/etc/pld-release,with_distro="pld")
fi
with_distro=`echo ${with_distro} | tr '[[:upper:]]' '[[:lower:]]'`
distroconf=default.conf.lxcbr
distrosysconf="$sysconfdir/default"
;;
- redhat|centos|fedora|oracle|oracleserver|sparclinux|suse|opensuse*|plamo)
+ redhat|centos|fedora|oracle|oracleserver|sparclinux|altlinux|suse|opensuse*|plamo|pld)
distroconf=default.conf.lxcbr
distrosysconf="$sysconfdir/sysconfig"
;;
case "$with_init_script" in
distro)
case $with_distro in
- fedora|opensuse*)
+ fedora|altlinux|opensuse*)
init_script=systemd
;;
redhat|centos|oracle|oracleserver|sparclinux|plamo)
ubuntu)
init_script=upstart,systemd
;;
+ pld)
+ init_script=sysvinit,upstart,systemd
+ ;;
*)
echo -n "Linux distribution init system unknown."
init_script=
AC_SUBST([SYSTEMD_UNIT_DIR], [$with_systemdsystemunitdir])
fi
+AC_ARG_ENABLE([werror],
+ [AC_HELP_STRING([--disable-werror],
+ [do not treat warnings as errors])],
+ [], [enable_werror=yes])
+
+# Allow enabling deprecated executables
+AC_ARG_ENABLE([deprecated],
+ [AC_HELP_STRING([--enable-deprecated],
+ [enable deprecated executables [default=no]])],
+ [], [enable_deprecated=false])
+AM_CONDITIONAL([ENABLE_DEPRECATED], [test "x$enable_deprecated" = "xyes"])
+
# Allow disabling rpath
AC_ARG_ENABLE([rpath],
[AC_HELP_STRING([--enable-rpath], [set rpath in executables [default=no]])],
if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
db2xman=""
- dbparsers="docbook2x-man db2x_docbook2man docbook2man docbook-to-man"
+ dbparsers="docbook2X2man docbook2x-man db2x_docbook2man docbook2man docbook-to-man"
AC_MSG_CHECKING(for docbook2x-man)
for name in ${dbparsers}; do
[], [enable_bash=yes])
AM_CONDITIONAL([ENABLE_BASH], [test "x$enable_bash" = "xyes"])
+AM_COND_IF([ENABLE_BASH],
+ [AC_MSG_CHECKING([bash completion directory])
+ PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
+ bashcompdir="${sysconfdir}/bash_completion.d")
+ AC_MSG_RESULT([$bashcompdir])
+ AC_SUBST(bashcompdir)
+ ])
+
# Optional test binaries
AC_ARG_ENABLE([tests],
[AC_HELP_STRING([--enable-tests], [build test/example binaries [default=no]])],
AS_AC_EXPAND(DATADIR, "$datadir")
AS_AC_EXPAND(LOCALSTATEDIR, "$localstatedir")
AS_AC_EXPAND(DOCDIR, "$docdir")
-AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
+AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date --utc --date=@${SOURCE_DATE_EPOCH:-$(date +%s)} '+%Y-%m-%d')")
AS_AC_EXPAND(LXCPATH, "$with_config_path")
AS_AC_EXPAND(LXC_GLOBAL_CONF, "$with_global_conf")
AS_AC_EXPAND(LXC_USERNIC_CONF, "$with_usernic_conf")
# Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
+# Some systems lack PR_{G,S}ET_NO_NEW_PRIVS definition => HAVE_DECL_PR_{G,S}ET_NO_NEW_PRIVS
+AC_CHECK_DECLS([PR_SET_NO_NEW_PRIVS], [], [], [#include <sys/prctl.h>])
+AC_CHECK_DECLS([PR_GET_NO_NEW_PRIVS], [], [], [#include <sys/prctl.h>])
+
# Check for some headers
-AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h sys/personality.h utmpx.h sys/timerfd.h])
+AC_CHECK_HEADERS([sys/signalfd.h pty.h ifaddrs.h sys/capability.h sys/memfd.h sys/personality.h utmpx.h sys/timerfd.h])
# Check for some syscalls functions
-AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat])
+AC_CHECK_FUNCS([setns pivot_root sethostname unshare rand_r confstr faccessat gettid memfd_create])
# Check for some functions
AC_CHECK_LIB(pthread, main)
LXC_CHECK_TLS
if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -Wall -Werror"
+ CFLAGS="$CFLAGS -Wall"
+ if test "x$enable_werror" = "xyes"; then
+ CFLAGS="$CFLAGS -Werror -Werror=vla"
+ fi
fi
# Files requiring some variable expansion
config/init/sysvinit/Makefile
config/init/sysvinit/lxc-containers
config/init/sysvinit/lxc-net
+ config/init/upstart/lxc.conf
config/init/upstart/lxc-net.conf
config/init/upstart/Makefile
config/etc/Makefile
config/templates/Makefile
+ config/templates/alpine.common.conf
+ config/templates/alpine.userns.conf
config/templates/archlinux.common.conf
config/templates/archlinux.userns.conf
config/templates/centos.common.conf
config/templates/openwrt.common.conf
config/templates/sparclinux.common.conf
config/templates/sparclinux.userns.conf
+ config/templates/voidlinux.common.conf
+ config/templates/voidlinux.userns.conf
config/templates/userns.conf
config/yum/Makefile
config/sysconfig/Makefile
doc/Makefile
doc/api/Makefile
- doc/legacy/lxc-ls.sgml
doc/lxc-attach.sgml
doc/lxc-autostart.sgml
doc/lxc-cgroup.sgml
doc/examples/lxc-complex.conf
doc/ja/Makefile
- doc/ja/legacy/lxc-ls.sgml
doc/ja/lxc-attach.sgml
doc/ja/lxc-autostart.sgml
doc/ja/lxc-cgroup.sgml
doc/ja/see_also.sgml
doc/ko/Makefile
- doc/ko/legacy/lxc-ls.sgml
doc/ko/lxc-attach.sgml
doc/ko/lxc-autostart.sgml
doc/ko/lxc-cgroup.sgml
templates/lxc-opensuse
templates/lxc-oracle
templates/lxc-plamo
+ templates/lxc-pld
templates/lxc-slackware
templates/lxc-sshd
templates/lxc-ubuntu
templates/lxc-ubuntu-cloud
templates/lxc-sparclinux
+ templates/lxc-voidlinux
src/Makefile
src/lxc/Makefile
- src/lxc/lxc-checkconfig
- src/lxc/lxc-ls
- src/lxc/lxc-start-ephemeral
- src/lxc/legacy/lxc-ls
src/lxc/lxc.functions
+ src/lxc/tools/lxc-checkconfig
+ src/lxc/tools/lxc-start-ephemeral
src/lxc/version.h
src/python-lxc/Makefile
- src/python-lxc/setup.py
src/lua-lxc/Makefile