]> git.proxmox.com Git - mirror_lxc.git/blobdiff - configure.ac
lxc-debian: specify isc-dhcp-server in package list
[mirror_lxc.git] / configure.ac
index 25b77ebb5f8602f825b62287e51f14199f378144..32e04678fba0be78b09f43ee1f16852b8864149f 100644 (file)
@@ -1,7 +1,7 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([lxc], [0.6.3])
+AC_INIT([lxc], [0.8.0-rc2])
 
 AC_CONFIG_SRCDIR([configure.ac])
 AC_CONFIG_AUX_DIR([config])
@@ -10,29 +10,90 @@ AM_INIT_AUTOMAKE([-Wno-portability])
 AC_CANONICAL_HOST
 AM_PROG_CC_C_O
 AC_GNU_SOURCE
-AC_PROG_LIBTOOL
 AC_CHECK_PROG(SETCAP, setcap, yes, no, $PATH$PATH_SEPARATOR/sbin)
-AC_CHECK_PROG(DOCBOOK, docbook2man, yes, no)
-AM_CONDITIONAL(ENABLE_DOCBOOK, test x$DOCBOOK = xyes)
+
+AC_ARG_ENABLE([rpath],
+       [AC_HELP_STRING([--disable-rpath], [do not set rpath in executables])],
+       [], [enable_rpath=yes])
+
+AM_CONDITIONAL([ENABLE_RPATH], [test "x$enable_rpath" = "xyes"])
+
+AC_ARG_ENABLE([apparmor],
+       [AC_HELP_STRING([--enable-apparmor], [enable apparmor])],
+       [], [enable_apparmor=yes])
+AM_CONDITIONAL([ENABLE_APPARMOR], [test "x$enable_apparmor" = "xyes"])
+
+AC_ARG_ENABLE([doc],
+       [AC_HELP_STRING([--enable-doc], [make mans (require docbook2man installed) [default=auto]])],
+       [], [enable_doc=auto])
+
+if test "x$enable_doc" = "xyes" -o "x$enable_doc" = "xauto"; then
+       AC_CHECK_PROG(have_docbook, [docbook2man], [yes], [no])
+
+       test "x$have_docbook" = "xno" -a "x$enable_doc" = "xyes" && \
+               AC_MSG_ERROR([docbook2man required by man request, but not found])
+fi
+
+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_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])])
+
+AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$have_docbook" = "xyes"])
+
+AC_ARG_ENABLE([examples],
+       [AC_HELP_STRING([--disable-examples], [do not install configuration examples])],
+       [], [enable_examples=yes])
+
+AM_CONDITIONAL([ENABLE_EXAMPLES], [test "x$enable_examples" = "xyes"])
+
 AS_AC_EXPAND(PREFIX, $prefix)
 AS_AC_EXPAND(LIBDIR, $libdir)
 AS_AC_EXPAND(BINDIR, $bindir)
-AS_AC_EXPAND(INCLUDEDIR, $includedir)
 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(LXCPATH, "${localstatedir}/lib/lxc")
+AS_AC_EXPAND(DOCDIR, $docdir)
+
+AC_ARG_WITH([config-path],
+       [AC_HELP_STRING(
+               [--with-config-path=dir],
+               [lxc configuration repository path]
+       )], [], [with_config_path=['${localstatedir}/lib/lxc']])
+
+AC_ARG_WITH([rootfs-path],
+       [AC_HELP_STRING(
+               [--with-rootfs-path=dir],
+               [lxc rootfs mount point]
+       )], [], [with_rootfs_path=['${libdir}/lxc/rootfs']])
+
 AS_AC_EXPAND(LXC_GENERATE_DATE, "$(date)")
+AS_AC_EXPAND(LXCPATH, "${with_config_path}")
+AS_AC_EXPAND(LXCROOTFSMOUNT, "${with_rootfs_path}")
+AS_AC_EXPAND(LXCTEMPLATEDIR, ['${datadir}/lxc/templates'])
+
+AC_SUBST(LXCINITDIR, ['${libexecdir}'])
 
-AC_CHECK_HEADERS([linux/netlink.h linux/genetlink.h], [], AC_MSG_ERROR([netlink headers not found. Please install the linux kernel headers.]),
-[#include <linux/types.h>
-#include <bits/sockaddr.h>
-#include <linux/socket.h>])
+AC_CHECK_HEADERS([linux/unistd.h linux/netlink.h linux/genetlink.h],
+                                 [],
+                                 AC_MSG_ERROR([Please install the Linux kernel headers.]),
+                                 [#include <sys/socket.h>
+                ])
 
-AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([please install libcap-devel.]),
+AC_CHECK_HEADERS([sys/capability.h], [], AC_MSG_ERROR([Please install the libcap development files.]),
 [#include <sys/types.h>
 #include <sys/capability.h>])
+AC_CHECK_LIB(cap,cap_set_proc,caplib=yes,caplib=no)
+AC_MSG_CHECKING([linux capabilities])
+if test "x$caplib" = "xyes" ; then
+   CAP_LIBS="-lcap"
+   AC_MSG_RESULT([$CAP_LIBS])
+else
+   AC_MSG_ERROR([not found])
+fi
+AC_SUBST([CAP_LIBS])
 
 # Some systems lack PR_CAPBSET_DROP definition => HAVE_DECL_PR_CAPBSET_DROP
 AC_CHECK_DECLS([PR_CAPBSET_DROP], [], [], [#include <sys/prctl.h>])
@@ -45,34 +106,19 @@ if test "x$GCC" = "xyes"; then
   CFLAGS="$CFLAGS -Wall"
 fi
 
-LXC_MAJOR_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f1)
-LXC_MINOR_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f2)
-LXC_MICRO_VERSION=$(echo $PACKAGE_VERSION | cut -d. -f3)
-
-AC_ARG_WITH([kernel-release],
- [AC_HELP_STRING([--with-kernel-release=RELEASE],
-               [specify the "uname -r"-value to build for])],
-       [KERNEL_RELEASE="${withval}"],
-       [KERNEL_RELEASE=`uname -r`])
-
-AC_ARG_ENABLE(test, [  --enable-test    compile test program [default=no]],, enable_test=no)
-AM_CONDITIONAL(ENABLE_TEST, test x$enable_test = xyes)
-
-AC_SUBST(LXC_MAJOR_VERSION)
-AC_SUBST(LXC_MINOR_VERSION)
-AC_SUBST(LXC_MICRO_VERSION)
-
 AC_CONFIG_FILES([
-        Makefile
+       Makefile
        lxc.pc
        lxc.spec
-        config/Makefile
+       config/Makefile
 
-        doc/Makefile
+       doc/Makefile
        doc/lxc-create.sgml
        doc/lxc-destroy.sgml
        doc/lxc-execute.sgml
        doc/lxc-start.sgml
+       doc/lxc-checkpoint.sgml
+       doc/lxc-restart.sgml
        doc/lxc-stop.sgml
        doc/lxc-console.sgml
        doc/lxc-freeze.sgml
@@ -82,50 +128,55 @@ AC_CONFIG_FILES([
        doc/lxc-ls.sgml
        doc/lxc-ps.sgml
        doc/lxc-cgroup.sgml
+       doc/lxc-kill.sgml
+       doc/lxc-attach.sgml
        doc/lxc.conf.sgml
        doc/lxc.sgml
        doc/common_options.sgml
        doc/see_also.sgml
 
-       scripts/Makefile
-       scripts/lxc-debian
-       scripts/lxc-fedora
-       scripts/lxc-sshd
-
-        src/Makefile
+       doc/rootfs/Makefile
+
+       doc/examples/Makefile
+       doc/examples/lxc-macvlan.conf
+       doc/examples/lxc-vlan.conf
+       doc/examples/lxc-no-netns.conf
+       doc/examples/lxc-empty-netns.conf
+       doc/examples/lxc-phys.conf
+       doc/examples/lxc-veth.conf
+       doc/examples/lxc-complex.conf
+
+       templates/Makefile
+       templates/lxc-lenny
+       templates/lxc-debian
+       templates/lxc-ubuntu
+       templates/lxc-ubuntu-cloud
+       templates/lxc-opensuse
+       templates/lxc-busybox
+       templates/lxc-fedora
+       templates/lxc-altlinux
+       templates/lxc-sshd
+       templates/lxc-archlinux
+
+       src/Makefile
        src/lxc/Makefile
        src/lxc/lxc-ps
        src/lxc/lxc-ls
        src/lxc/lxc-netstat
        src/lxc/lxc-checkconfig
        src/lxc/lxc-setcap
+       src/lxc/lxc-setuid
        src/lxc/lxc-version
+       src/lxc/lxc-create
+       src/lxc/lxc-clone
+       src/lxc/lxc-shutdown
+       src/lxc/lxc-start-ephemeral
+       src/lxc/lxc-destroy
 
-       etc/Makefile
-       etc/lxc-macvlan.conf
-       etc/lxc-no-netns.conf
-       etc/lxc-empty-netns.conf
-       etc/lxc-phys.conf
-       etc/lxc-veth.conf
-       etc/lxc-complex-config
-
-       test/Makefile
 ])
 AC_CONFIG_COMMANDS([default],[[]],[[]])
 AC_OUTPUT
 
-if test "x$DOCBOOK" = "xno"; then
-   AC_MSG_NOTICE([
-
-Warning:
---------
-The docbook tool is not installed, the man pages won't be generated.
-If you want the man pages, install docbook and rerun 'configure'.
-
-])
-
-fi
-
 if test "x$SETCAP" = "xno"; then
    AC_MSG_NOTICE([