Commit 8aa4885c by Stéphane Graber

configure.ac: Cleanup, comments, indent, ...

This commit doesn't do any functional change to configure.ac but does a fair amount of cleaning up. It re-orders the various blocks by type (options, checks, expands, ...). It also consistently uses tabs for indents. Signed-off-by: 's avatarStéphane Graber <stgraber@ubuntu.com> Acked-by: 's avatarSerge E. Hallyn <serge.hallyn@ubuntu.com>
parent a6168a17
...@@ -10,10 +10,11 @@ AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability]) ...@@ -10,10 +10,11 @@ AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability])
AC_CANONICAL_HOST AC_CANONICAL_HOST
AM_PROG_CC_C_O AM_PROG_CC_C_O
AC_GNU_SOURCE AC_GNU_SOURCE
AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
# Detect the distribution. This is used for the default configuration and
# for some distro-specific build options.
AC_MSG_CHECKING([host distribution]) 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, fedora, suse, gentoo, debian, arch, slackware, paldo, mandriva or pardus])) AC_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.]))
if test "z$with_distro" = "z"; then if test "z$with_distro" = "z"; then
with_distro=`lsb_release -is` with_distro=`lsb_release -is`
fi fi
...@@ -49,15 +50,15 @@ case $with_distro in ...@@ -49,15 +50,15 @@ case $with_distro in
;; ;;
esac esac
AC_MSG_RESULT([$with_distro]) AC_MSG_RESULT([$with_distro])
AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu"]) AM_CONDITIONAL([HAVE_DEBIAN], [test x"$with_distro" = "xdebian" -o x"$with_distro" = "xubuntu"])
# Allow disabling rpath
AC_ARG_ENABLE([rpath], AC_ARG_ENABLE([rpath],
[AC_HELP_STRING([--disable-rpath], [do not set rpath in executables])], [AC_HELP_STRING([--disable-rpath], [do not set rpath in executables])],
[], [enable_rpath=yes]) [], [enable_rpath=yes])
AM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"]) AM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"])
# Documentation (manpages)
AC_ARG_ENABLE([doc], AC_ARG_ENABLE([doc],
[AC_HELP_STRING([--enable-doc], [make mans (require docbook2x-man installed) [default=auto]])], [AC_HELP_STRING([--enable-doc], [make mans (require docbook2x-man installed) [default=auto]])],
[], [enable_doc=auto]) [], [enable_doc=auto])
...@@ -74,9 +75,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then ...@@ -74,9 +75,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
done done
if test -n "${db2xman}"; then if test -n "${db2xman}"; then
AC_MSG_RESULT(${db2xman}) AC_MSG_RESULT([${db2xman}])
else else
AC_MSG_RESULT(no) AC_MSG_RESULT([no])
if test "x$enable_doc" = "xyes"; then if test "x$enable_doc" = "xyes"; then
AC_MSG_ERROR([docbook2x-man required by man request, but not found]) AC_MSG_ERROR([docbook2x-man required by man request, but not found])
fi fi
...@@ -84,7 +85,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then ...@@ -84,7 +85,9 @@ if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
AC_SUBST(db2xman) AC_SUBST(db2xman)
fi fi
AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
# Apparmor
AC_ARG_ENABLE([apparmor], AC_ARG_ENABLE([apparmor],
[AC_HELP_STRING([--enable-apparmor], [enable apparmor])], [AC_HELP_STRING([--enable-apparmor], [enable apparmor])],
[], [enable_apparmor=check]) [], [enable_apparmor=check])
...@@ -92,14 +95,14 @@ AC_ARG_ENABLE([apparmor], ...@@ -92,14 +95,14 @@ AC_ARG_ENABLE([apparmor],
if test "$enable_apparmor" = "check" ; then if test "$enable_apparmor" = "check" ; then
AC_CHECK_LIB([apparmor],[aa_change_profile],[enable_apparmor=yes], [enable_apparmor=no]) AC_CHECK_LIB([apparmor],[aa_change_profile],[enable_apparmor=yes], [enable_apparmor=no])
fi fi
AM_CONDITIONAL([ENABLE_APPARMOR], [test "x$enable_apparmor" = "xyes"]) AM_CONDITIONAL([ENABLE_APPARMOR], [test "x$enable_apparmor" = "xyes"])
AM_COND_IF([ENABLE_APPARMOR], AM_COND_IF([ENABLE_APPARMOR],
[AC_CHECK_HEADER([sys/apparmor.h],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])]) [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_LIB([apparmor], [aa_change_profile],[],[AC_MSG_ERROR([You must install the AppArmor development package in order to compile lxc])])
AC_SUBST([APPARMOR_LIBS], [-lapparmor])]) AC_SUBST([APPARMOR_LIBS], [-lapparmor])])
# Seccomp syscall filter
AC_ARG_ENABLE([seccomp], AC_ARG_ENABLE([seccomp],
[AC_HELP_STRING([--enable-seccomp], [enable seccomp])], [AC_HELP_STRING([--enable-seccomp], [enable seccomp])],
[], [enable_seccomp=check]) [], [enable_seccomp=check])
...@@ -107,119 +110,121 @@ AC_ARG_ENABLE([seccomp], ...@@ -107,119 +110,121 @@ AC_ARG_ENABLE([seccomp],
if test "$enable_seccomp" = "check" ; then if test "$enable_seccomp" = "check" ; then
AC_CHECK_LIB([seccomp],[seccomp_init],[enable_seccomp=yes],[enable_seccomp=no]) AC_CHECK_LIB([seccomp],[seccomp_init],[enable_seccomp=yes],[enable_seccomp=no])
fi fi
AM_CONDITIONAL([ENABLE_SECCOMP], [test "x$enable_seccomp" = "xyes"]) AM_CONDITIONAL([ENABLE_SECCOMP], [test "x$enable_seccomp" = "xyes"])
AM_COND_IF([ENABLE_SECCOMP], AM_COND_IF([ENABLE_SECCOMP],
[AC_CHECK_HEADER([seccomp.h],[],[AC_MSG_ERROR([You must install the seccomp 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([seccomp], [seccomp_init],[],[AC_MSG_ERROR([You must install the seccomp development package in order to compile lxc])])
AC_SUBST([SECCOMP_LIBS], [-lseccomp])]) AC_SUBST([SECCOMP_LIBS], [-lseccomp])])
# HAVE_SCMP_FILTER_CTX=1 will tell us we have libseccomp api >= 1.0.0 # HAVE_SCMP_FILTER_CTX=1 will tell us we have libseccomp api >= 1.0.0
AC_CHECK_TYPES([scmp_filter_ctx], [], [], [#include <seccomp.h>]) AC_CHECK_TYPES([scmp_filter_ctx], [], [], [#include <seccomp.h>])
AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"]) # Configuration examples
AC_ARG_ENABLE([examples], AC_ARG_ENABLE([examples],
[AC_HELP_STRING([--disable-examples], [do not install configuration examples])], [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
[], [enable_examples=yes]) [], [enable_examples=yes])
AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"]) AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
# Python3 module and scripts
AC_ARG_ENABLE([python], AC_ARG_ENABLE([python],
[AC_HELP_STRING([--enable-python], [enable python binding])], [AC_HELP_STRING([--enable-python], [enable python binding])],
[enable_python=yes], [enable_python=no]) [enable_python=yes], [enable_python=no])
AM_CONDITIONAL([ENABLE_PYTHON], [test "x$enable_python" = "xyes"]) AM_CONDITIONAL([ENABLE_PYTHON], [test "x$enable_python" = "xyes"])
AM_COND_IF([ENABLE_PYTHON], AM_COND_IF([ENABLE_PYTHON],
[AM_PATH_PYTHON([3.2], [], [AC_MSG_ERROR([You must install python3])]) [AM_PATH_PYTHON([3.2], [], [AC_MSG_ERROR([You must install python3])])
AC_CHECK_HEADER([python$PYTHON_VERSION/Python.h],[],[AC_MSG_ERROR([You must install python3-dev])]) AC_CHECK_HEADER([python$PYTHON_VERSION/Python.h],[],[AC_MSG_ERROR([You must install python3-dev])])
AC_DEFINE_UNQUOTED([ENABLE_PYTHON], 1, [Python3 is available])]) AC_DEFINE_UNQUOTED([ENABLE_PYTHON], 1, [Python3 is available])])
# Optional test binaries
AC_ARG_ENABLE([tests], AC_ARG_ENABLE([tests],
[AC_HELP_STRING([--enable-tests], [build test/example binaries])], [AC_HELP_STRING([--enable-tests], [build test/example binaries])],
[enable_tests=yes], [enable_tests=no]) [enable_tests=yes], [enable_tests=no])
AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" = "xyes"]) AM_CONDITIONAL([ENABLE_TESTS], [test "x$enable_tests" = "xyes"])
AS_AC_EXPAND(PREFIX, $prefix) # LXC container path, where the containers are actually stored
AS_AC_EXPAND(LIBDIR, $libdir)
AS_AC_EXPAND(BINDIR, $bindir)
AS_AC_EXPAND(LIBEXECDIR, $libexecdir)
AS_AC_EXPAND(INCLUDEDIR, $includedir)
AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
AS_AC_EXPAND(DATADIR, $datadir)
AS_AC_EXPAND(LOCALSTATEDIR, $localstatedir)
AS_AC_EXPAND(DOCDIR, $docdir)
AC_ARG_WITH([config-path], AC_ARG_WITH([config-path],
[AC_HELP_STRING( [AC_HELP_STRING(
[--with-config-path=dir], [--with-config-path=dir],
[lxc configuration repository path] [lxc configuration repository path]
)], [], [with_config_path=['${localstatedir}/lib/lxc']]) )], [], [with_config_path=['${localstatedir}/lib/lxc']])
# Rootfs path, where the container mount structure is assembled
AC_ARG_WITH([rootfs-path], AC_ARG_WITH([rootfs-path],
[AC_HELP_STRING( [AC_HELP_STRING(
[--with-rootfs-path=dir], [--with-rootfs-path=dir],
[lxc rootfs mount point] [lxc rootfs mount point]
)], [], [with_rootfs_path=['${libdir}/lxc/rootfs']]) )], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
AS_AC_EXPAND(LXC_CONFFILE, $conffile) # Expand some useful variables
AS_AC_EXPAND(PREFIX, "$prefix")
AS_AC_EXPAND(LIBDIR, "$libdir")
AS_AC_EXPAND(BINDIR, "$bindir")
AS_AC_EXPAND(LIBEXECDIR, "$libexecdir")
AS_AC_EXPAND(INCLUDEDIR, "$includedir")
AS_AC_EXPAND(SYSCONFDIR, "$sysconfdir")
AS_AC_EXPAND(DATADIR, "$datadir")
AS_AC_EXPAND(LOCALSTATEDIR, "$localstatedir")
AS_AC_EXPAND(DOCDIR, "$docdir")
AS_AC_EXPAND(LXC_CONFFILE, "$conffile")
AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)") AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
AS_AC_EXPAND(LXCPATH, "${with_config_path}") AS_AC_EXPAND(LXCPATH, "$with_config_path")
AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}") AS_AC_EXPAND(LXCROOTFSMOUNT, "$with_rootfs_path")
AS_AC_EXPAND(LXCTEMPLATEDIR, ['${datadir}/lxc/templates']) AS_AC_EXPAND(LXCTEMPLATEDIR, "$datadir/lxc/templates")
AS_AC_EXPAND(LXCINITDIR, "$libexecdir")
AS_AC_EXPAND(LXCINITDIR, ['${libexecdir}'])
# Check for some standard kernel headers
AC_CHECK_HEADERS([linux/unistd.h linux/netlink.h linux/genetlink.h], AC_CHECK_HEADERS([linux/unistd.h linux/netlink.h linux/genetlink.h],
[], [],
AC_MSG_ERROR([Please install the Linux kernel headers.]), AC_MSG_ERROR([Please install the Linux kernel headers.]),
[#include <sys/socket.h> [#include <sys/socket.h>])
])
# Check for libcap support
AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([Please install the libcap development files.]), AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([Please install the libcap development files.]),
[#include <sys/types.h> [#include <sys/types.h>
#include <sys/capability.h>]) #include <sys/capability.h>])
AC_CHECK_LIB(cap,cap_set_proc,caplib=yes,caplib=no) AC_CHECK_LIB(cap,cap_set_proc,caplib=yes,caplib=no)
AC_MSG_CHECKING([linux capabilities]) AC_MSG_CHECKING([linux capabilities])
if test "x$caplib" = "xyes" ; then if test "x$caplib" = "xyes" ; then
CAP_LIBS="-lcap" CAP_LIBS="-lcap"
AC_MSG_RESULT([$CAP_LIBS]) AC_MSG_RESULT([$CAP_LIBS])
else else
AC_MSG_ERROR([not found]) AC_MSG_ERROR([not found])
fi fi
AC_SUBST([CAP_LIBS]) AC_SUBST([CAP_LIBS])
# Check for alternate C libraries # Check for alternate C libraries
AC_MSG_CHECKING(for bionic libc) AC_MSG_CHECKING(for bionic libc)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM( AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[#ifndef __ANDROID__ [[#ifndef __ANDROID__
error: Not bionic! error: Not bionic!
#endif]])], #endif]])],
[is_bionic=yes], [is_bionic=yes],
[is_bionic=no]) [is_bionic=no])
if test "x$is_bionic" = "xyes"; then if test "x$is_bionic" = "xyes"; then
AC_DEFINE([IS_BIONIC], 1, ["bionic libc"]) AC_DEFINE([IS_BIONIC], 1, [bionic libc])
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
else else
AC_MSG_RESULT([no]) AC_MSG_RESULT([no])
fi fi
AM_CONDITIONAL([IS_BIONIC], [test "x$is_bionic" = "xyes"]) AM_CONDITIONAL([IS_BIONIC], [test "x$is_bionic" = "xyes"])
# Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP # Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>]) AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
# Check for optional headers
AC_CHECK_HEADERS([sys/signalfd.h]) AC_CHECK_HEADERS([sys/signalfd.h])
# Check for some standard binaries
AC_PROG_GCC_TRADITIONAL AC_PROG_GCC_TRADITIONAL
AC_PROG_SED AC_PROG_SED
if test "x$GCC" = "xyes"; then if test "x$GCC" = "xyes"; then
CFLAGS="$CFLAGS -Wall -Werror" CFLAGS="$CFLAGS -Wall -Werror"
fi fi
# Files requiring some variable expansion
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
lxc.pc lxc.pc
...@@ -295,13 +300,15 @@ AC_CONFIG_FILES([ ...@@ -295,13 +300,15 @@ AC_CONFIG_FILES([
src/python-lxc/examples/api_test.py src/python-lxc/examples/api_test.py
src/tests/Makefile src/tests/Makefile
]) ])
AC_CONFIG_COMMANDS([default],[[]],[[]]) AC_CONFIG_COMMANDS([default],[[]],[[]])
AC_OUTPUT AC_OUTPUT
# Detect missing setcap binary
AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
if test "x$SETCAP" = "xno"; then if test "x$SETCAP" = "xno"; then
AC_MSG_NOTICE([ AC_MSG_NOTICE([
Warning: Warning:
-------- --------
...@@ -324,5 +331,4 @@ you can add the needed capabilities to the tools by invoking ...@@ -324,5 +331,4 @@ you can add the needed capabilities to the tools by invoking
the 'lxc-setcap' script. To remove the capabilities, use the 'lxc-setcap' script. To remove the capabilities, use
'lxc-setcap -d'. 'lxc-setcap -d'.
]) ])
fi fi
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment