mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-03 17:30:53 +00:00
allow users to configure the option --enable-feature or --with-package, if an option is given run shell commands action-if-given
Signed-off-by: Caio B. Silva <caioboffo@gmail.com>
This commit is contained in:
parent
f756a3501a
commit
b2963bf912
110
configure.ac
110
configure.ac
@ -173,9 +173,9 @@ AC_MSG_RESULT($init_script)
|
||||
|
||||
# systemd unit dir
|
||||
AC_ARG_WITH([systemdsystemunitdir],
|
||||
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
|
||||
[],
|
||||
[with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
||||
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
|
||||
[with_systemdsystemunitdir=$withval],
|
||||
[with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
||||
if test -z "$with_systemdsystemunitdir"; then
|
||||
with_systemdsystemunitdir=/lib/systemd/system
|
||||
fi
|
||||
@ -184,20 +184,19 @@ if test "x$with_systemdsystemunitdir" != "xno"; then
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE([werror],
|
||||
[AS_HELP_STRING([--disable-werror],
|
||||
[do not treat warnings as errors])],
|
||||
[], [enable_werror=yes])
|
||||
[AS_HELP_STRING([--disable-werror], [do not treat warnings as errors])],
|
||||
[enable_werror=$enableval], [enable_werror=yes])
|
||||
|
||||
# Allow disabling rpath
|
||||
AC_ARG_ENABLE([rpath],
|
||||
[AS_HELP_STRING([--enable-rpath], [set rpath in executables [default=no]])],
|
||||
[], [enable_rpath=no])
|
||||
[enable_rpath=$enableval], [enable_rpath=no])
|
||||
AM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"])
|
||||
|
||||
# Documentation (manpages)
|
||||
AC_ARG_ENABLE([doc],
|
||||
[AS_HELP_STRING([--enable-doc], [make man pages [default=auto]])],
|
||||
[], [enable_doc=auto])
|
||||
[enable_doc=$enableval], [enable_doc=auto])
|
||||
|
||||
if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
|
||||
db2xman=""
|
||||
@ -236,9 +235,8 @@ AC_SUBST(docdtd)
|
||||
|
||||
# Documentation (API)
|
||||
AC_ARG_ENABLE([api-docs],
|
||||
[AS_HELP_STRING([--enable-api-docs],
|
||||
[make API documentation [default=auto]])],
|
||||
[], [enable_api_docs=auto])
|
||||
[AS_HELP_STRING([--enable-api-docs], [make API documentation [default=auto]])],
|
||||
[enable_api_docs=$enableval], [enable_api_docs=auto])
|
||||
|
||||
if test "x$enable_api_docs" = "xyes" -o "x$enable_api_docs" = "xauto"; then
|
||||
AC_CHECK_PROGS([HAVE_DOXYGEN],[doxygen])
|
||||
@ -261,7 +259,7 @@ AC_CONFIG_MACRO_DIRS([config])
|
||||
# Apparmor
|
||||
AC_ARG_ENABLE([apparmor],
|
||||
[AS_HELP_STRING([--enable-apparmor], [enable apparmor support [default=auto]])],
|
||||
[], [enable_apparmor=auto])
|
||||
[enable_apparmor=$enableval], [enable_apparmor=auto])
|
||||
|
||||
if test "$enable_apparmor" = "auto" ; then
|
||||
AC_CHECK_LIB([apparmor],[aa_change_profile],[enable_apparmor=yes], [enable_apparmor=no])
|
||||
@ -272,7 +270,7 @@ AM_CONDITIONAL([ENABLE_APPARMOR], [test "x$enable_apparmor" = "xyes"])
|
||||
# libssl-dev
|
||||
AC_ARG_ENABLE([openssl],
|
||||
[AS_HELP_STRING([--enable-openssl], [enable OpenSSL support [default=auto]])],
|
||||
[], [enable_openssl=auto])
|
||||
[enable_openssl=$enableval], [enable_openssl=auto])
|
||||
|
||||
if test "$enable_openssl" = "auto" ; then
|
||||
AC_CHECK_LIB([ssl], [OPENSSL_init_ssl], [enable_openssl=yes], [enable_openssl=no])
|
||||
@ -287,7 +285,7 @@ AM_COND_IF([ENABLE_OPENSSL],
|
||||
# SELinux
|
||||
AC_ARG_ENABLE([selinux],
|
||||
[AS_HELP_STRING([--enable-selinux], [enable SELinux support [default=auto]])],
|
||||
[], [enable_selinux=auto])
|
||||
[enable_selinux=$enableval], [enable_selinux=auto])
|
||||
|
||||
if test "x$enable_selinux" = xauto; then
|
||||
AC_CHECK_LIB([selinux],[setexeccon_raw],[enable_selinux=yes],[enable_selinux=no])
|
||||
@ -301,7 +299,7 @@ AM_COND_IF([ENABLE_SELINUX],
|
||||
# Seccomp syscall filter
|
||||
AC_ARG_ENABLE([seccomp],
|
||||
[AS_HELP_STRING([--enable-seccomp], [enable seccomp support [default=auto]])],
|
||||
[], [enable_seccomp=auto])
|
||||
[enable_seccomp=$enableval], [enable_seccomp=auto])
|
||||
|
||||
if test "x$enable_seccomp" = "xauto" ; then
|
||||
AC_CHECK_LIB([seccomp],[seccomp_init],[enable_seccomp=yes],[enable_seccomp=no])
|
||||
@ -347,7 +345,7 @@ LIBS="$OLD_LIBS"
|
||||
# Linux capabilities
|
||||
AC_ARG_ENABLE([capabilities],
|
||||
[AS_HELP_STRING([--enable-capabilities], [enable kernel capabilities support [default=auto]])],
|
||||
[], [enable_capabilities=auto])
|
||||
[enable_capabilities=$enableval], [enable_capabilities=auto])
|
||||
|
||||
if test "x$enable_capabilities" = "xauto"; then
|
||||
AC_CHECK_LIB([cap],[cap_set_proc],[enable_capabilities=yes],[enable_capabilities=no])
|
||||
@ -373,13 +371,13 @@ CFLAGS="$OLD_CFLAGS"
|
||||
# Configuration examples
|
||||
AC_ARG_ENABLE([examples],
|
||||
[AS_HELP_STRING([--enable-examples], [install examples [default=yes]])],
|
||||
[], [enable_examples=yes])
|
||||
[enable_examples=$enableval], [enable_examples=yes])
|
||||
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
|
||||
|
||||
# Enable dumping stack traces
|
||||
AC_ARG_ENABLE([mutex-debugging],
|
||||
[AS_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])],
|
||||
[], [enable_mutex_debugging=no])
|
||||
[enable_mutex_debugging=$enableval], [enable_mutex_debugging=no])
|
||||
AM_CONDITIONAL([MUTEX_DEBUGGING], [test "x$enable_mutex_debugging" = "xyes"])
|
||||
|
||||
AM_COND_IF([MUTEX_DEBUGGING],
|
||||
@ -409,7 +407,7 @@ m4_ifdef([PKG_CHECK_VAR], [],
|
||||
# Optional bash integration
|
||||
AC_ARG_ENABLE([bash],
|
||||
[AS_HELP_STRING([--enable-bash], [build bash integration [default=yes]])],
|
||||
[], [enable_bash=yes])
|
||||
[enable_bash=$enableval], [enable_bash=yes])
|
||||
AM_CONDITIONAL([ENABLE_BASH], [test "x$enable_bash" = "xyes"])
|
||||
|
||||
AM_COND_IF([ENABLE_BASH],
|
||||
@ -423,90 +421,74 @@ AM_COND_IF([ENABLE_BASH],
|
||||
# Build the command line tools
|
||||
AC_ARG_ENABLE([tools],
|
||||
[AS_HELP_STRING([--enable-tools], [build the command line tools [default=yes]])],
|
||||
[], [enable_tools=yes])
|
||||
[enable_tools=$enableval], [enable_tools=yes])
|
||||
AM_CONDITIONAL([ENABLE_TOOLS], [test "x$enable_tools" = "xyes"])
|
||||
|
||||
# Build the liblxc commands
|
||||
AC_ARG_ENABLE([commands],
|
||||
[AS_HELP_STRING([--enable-commands], [build the liblxc commands [default=yes]])],
|
||||
[], [enable_commands=yes])
|
||||
[enable_commands=$enableval], [enable_commands=yes])
|
||||
AM_CONDITIONAL([ENABLE_COMMANDS], [test "x$enable_commands" = "xyes"])
|
||||
|
||||
# Build with ASAN commands
|
||||
AC_ARG_ENABLE([asan],
|
||||
[AS_HELP_STRING([--enable-asan], [build with address sanitizer enabled [default=no]])],
|
||||
[], [enable_asan=no])
|
||||
[enable_asan=$enableval], [enable_asan=no])
|
||||
AM_CONDITIONAL([ENABLE_ASAN], [test "x$enable_asan" = "xyes"])
|
||||
|
||||
# Optional test binaries
|
||||
AC_ARG_ENABLE([tests],
|
||||
[AS_HELP_STRING([--enable-tests], [build test/example binaries [default=no]])],
|
||||
[], [enable_tests=no])
|
||||
[enable_tests=$enableval], [enable_tests=no])
|
||||
AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" = "xyes"])
|
||||
|
||||
# Allow overriding the default runtime dir (/run)
|
||||
AC_ARG_WITH([runtime-path],
|
||||
[AS_HELP_STRING(
|
||||
[--with-runtime-path=dir],
|
||||
[runtime directory (default: /run)]
|
||||
)], [], [with_runtime_path=['/run']])
|
||||
[AS_HELP_STRING([--with-runtime-path=dir], [runtime directory (default: /run)])],
|
||||
[with_runtime_path=$withval], [with_runtime_path=['/run']])
|
||||
|
||||
# LXC container path, where the containers are actually stored
|
||||
# This is overridden by an entry in the file called LXCCONF
|
||||
# (i.e. /etc/lxc/lxc.conf)
|
||||
AC_ARG_WITH([config-path],
|
||||
[AS_HELP_STRING(
|
||||
[--with-config-path=dir],
|
||||
[lxc configuration repository path]
|
||||
)], [], [with_config_path=['${localstatedir}/lib/lxc']])
|
||||
[AS_HELP_STRING([--with-config-path=dir], [lxc configuration repository path])],
|
||||
[with_config_path=$withval], [with_config_path=['${localstatedir}/lib/lxc']])
|
||||
|
||||
# The path of the global lxc configuration file.
|
||||
AC_ARG_WITH([global-conf],
|
||||
[AS_HELP_STRING(
|
||||
[--with-global-conf=dir],
|
||||
[global lxc configuration file]
|
||||
)], [], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
|
||||
[AS_HELP_STRING([--with-global-conf=dir], [global lxc configuration file])],
|
||||
[with_global_conf=$withval], [with_global_conf=['${sysconfdir}/lxc/lxc.conf']])
|
||||
|
||||
# The path of the userns network configuration file
|
||||
AC_ARG_WITH([usernic-conf],
|
||||
[AS_HELP_STRING(
|
||||
[--with-usernic-conf],
|
||||
[user network interface configuration file]
|
||||
)], [], [with_usernic_conf=['${sysconfdir}/lxc/lxc-usernet']])
|
||||
[AS_HELP_STRING([--with-usernic-conf], [user network interface configuration file])],
|
||||
[with_usernic_conf=$withval], [with_usernic_conf=['${sysconfdir}/lxc/lxc-usernet']])
|
||||
|
||||
# The path of the runtime usernic database
|
||||
AC_ARG_WITH([usernic-db],
|
||||
[AS_HELP_STRING(
|
||||
[--with-usernic-db],
|
||||
[lxc user nic database]
|
||||
)], [], [with_usernic_db=['${with_runtime_path}/lxc/nics']])
|
||||
[AS_HELP_STRING([--with-usernic-db], [lxc user nic database])],
|
||||
[with_usernic_db=$withval], [with_usernic_db=['${with_runtime_path}/lxc/nics']])
|
||||
|
||||
# Rootfs path, where the container mount structure is assembled
|
||||
AC_ARG_WITH([rootfs-path],
|
||||
[AS_HELP_STRING(
|
||||
[--with-rootfs-path=dir],
|
||||
[lxc rootfs mount point]
|
||||
)], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
|
||||
[AS_HELP_STRING([--with-rootfs-path=dir], [lxc rootfs mount point])],
|
||||
[with_rootfs_path=$withval], [with_rootfs_path=['${libdir}/lxc/rootfs']])
|
||||
|
||||
# cgroup pattern specification
|
||||
AC_ARG_WITH([cgroup-pattern],
|
||||
[AS_HELP_STRING(
|
||||
[--with-cgroup-pattern=pattern],
|
||||
[pattern for container cgroups]
|
||||
)], [], [with_cgroup_pattern=['lxc.payload/%n']])
|
||||
[AS_HELP_STRING([--with-cgroup-pattern=pattern], [pattern for container cgroups])],
|
||||
[with_cgroup_pattern=$withval], [with_cgroup_pattern=['lxc.payload/%n']])
|
||||
|
||||
# The path for the apparmor_parser's cache for generated apparmor profiles
|
||||
AC_ARG_WITH([apparmor-cache-dir],
|
||||
[AS_HELP_STRING(
|
||||
[--with-apparmor-cache-dir=dir],
|
||||
[path for apparmor_parser cache]
|
||||
)], [], [with_apparmor_cache_dir=['${localstatedir}/cache/lxc/apparmor']])
|
||||
[AS_HELP_STRING([--with-apparmor-cache-dir=dir],[path for apparmor_parser cache])],
|
||||
[with_apparmor_cache_dir=$withval], [with_apparmor_cache_dir=['${localstatedir}/cache/lxc/apparmor']])
|
||||
|
||||
# Container log path. By default, use $lxcpath.
|
||||
AC_MSG_CHECKING([Whether to place logfiles in container config path])
|
||||
AC_ARG_ENABLE([configpath-log],
|
||||
[AS_HELP_STRING([--enable-configpath-log], [use logfiles in config path [default=no]])],
|
||||
[], [enable_configpath_log=no])
|
||||
[enable_configpath_log=$enableval], [enable_configpath_log=no])
|
||||
AC_MSG_RESULT([$enable_configpath_log])
|
||||
AM_CONDITIONAL([USE_CONFIGPATH_LOGS], [test "$enable_configpath_log" = "yes"])
|
||||
|
||||
@ -517,10 +499,8 @@ else
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([log-path],
|
||||
[AS_HELP_STRING(
|
||||
[--with-log-path=dir],
|
||||
[per container log path]
|
||||
)], [], [with_log_path=['${default_log_path}']])
|
||||
[AS_HELP_STRING([--with-log-path=dir],[per container log path])],
|
||||
[with_log_path=$withval], [with_log_path=['${default_log_path}']])
|
||||
|
||||
# Expand some useful variables
|
||||
AS_AC_EXPAND(PREFIX, "$prefix")
|
||||
@ -579,7 +559,7 @@ AM_CONDITIONAL([IS_BIONIC], [test "x$is_bionic" = "xyes"])
|
||||
# Configuration examples
|
||||
AC_ARG_ENABLE([pam],
|
||||
[AS_HELP_STRING([--enable-pam], [enable pam module [default=no]])],
|
||||
[], [enable_pam=no])
|
||||
[enable_pam=$enableval], [enable_pam=no])
|
||||
AM_CONDITIONAL([ENABLE_PAM], [test "x$enable_pam" = "xyes"])
|
||||
|
||||
AM_COND_IF([ENABLE_PAM],
|
||||
@ -587,7 +567,7 @@ AM_COND_IF([ENABLE_PAM],
|
||||
[pamdir],
|
||||
[AS_HELP_STRING([--with-pamdir=PATH],[Specify the directory where PAM modules are stored,
|
||||
or "none" if PAM modules are not to be built])],
|
||||
[pamdir="${withval}"],
|
||||
[pamdir=$withval],
|
||||
[
|
||||
if test "${prefix}" = "/usr"; then
|
||||
pamdir="/lib${libdir##*/lib}/security"
|
||||
@ -770,12 +750,12 @@ fi
|
||||
|
||||
AC_ARG_ENABLE([thread-safety],
|
||||
[AS_HELP_STRING([--enable-thread-safety], [enforce thread-safety otherwise fail the build [default=yes]])],
|
||||
[], [enable_thread_safety=yes])
|
||||
[enable_thread_safety=$enableval], [enable_thread_safety=yes])
|
||||
AM_CONDITIONAL([ENFORCE_THREAD_SAFETY], [test "x$enable_thread_safety" = "xyes"])
|
||||
|
||||
AC_ARG_ENABLE([dlog],
|
||||
[AS_HELP_STRING([--enable-dlog], [enable dlog support [default=no]])],
|
||||
[], [enable_dlog=no])
|
||||
[enable_dlog=$enableval], [enable_dlog=no])
|
||||
AM_CONDITIONAL([ENABLE_DLOG], [test "x$enable_dlog" = "xyes"])
|
||||
|
||||
AM_COND_IF([ENABLE_DLOG],
|
||||
@ -788,7 +768,7 @@ AM_COND_IF([ENABLE_DLOG],
|
||||
|
||||
AC_ARG_ENABLE([memfd-rexec],
|
||||
[AS_HELP_STRING([--enable-memfd-rexec], [enforce liblxc as a memfd to protect against certain symlink attacks [default=yes]])],
|
||||
[], [enable_memfd_rexec=yes])
|
||||
[enable_memfd_rexec=$enableval], [enable_memfd_rexec=yes])
|
||||
AM_CONDITIONAL([ENFORCE_MEMFD_REXEC], [test "x$enable_memfd_rexec" = "xyes"])
|
||||
if test "x$enable_memfd_rexec" = "xyes"; then
|
||||
AC_DEFINE([ENFORCE_MEMFD_REXEC], 1, [Rexec liblxc as memfd])
|
||||
|
Loading…
Reference in New Issue
Block a user