]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
autotools: add --{enable,disable}-{commands,tools}
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 14 Feb 2018 10:33:33 +0000 (11:33 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Wed, 28 Feb 2018 09:05:30 +0000 (10:05 +0100)
This allows users to only compile the shared libray without having to compile
any of the command line tools or command helpers for the shared library.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
configure.ac
doc/Makefile.am
src/lxc/Makefile.am

index 52c068e540a77e5e9bd3a568f0e8b9def641ad93..87c6384b84db545887708b84e362a4fbfafacf7e 100644 (file)
@@ -477,6 +477,18 @@ AM_COND_IF([ENABLE_BASH],
        AC_SUBST(bashcompdir)
        ])
 
+# Build the command line tools
+AC_ARG_ENABLE([tools],
+       [AC_HELP_STRING([--enable-tools], [build the command line tools [default=yes]])],
+       [], [enable_tools=yes])
+AM_CONDITIONAL([ENABLE_TOOLS], [test "x$enable_tools" = "xyes"])
+
+# Build the liblxc commands
+AC_ARG_ENABLE([commands],
+       [AC_HELP_STRING([--enable-commands], [build the liblxc commands [default=yes]])],
+       [], [enable_commands=yes])
+AM_CONDITIONAL([ENABLE_COMMANDS], [test "x$enable_commands" = "xyes"])
+
 # Optional test binaries
 AC_ARG_ENABLE([tests],
        [AC_HELP_STRING([--enable-tests], [build test/example binaries [default=no]])],
@@ -950,6 +962,39 @@ AC_OUTPUT
 cat << EOF
 
 ----------------------------
+Binaries
+ - Command Line Tools:
+   - lxc-attach:     $enable_tools
+   - lxc-autostart:  $enable_tools
+   - lxc-cgroup:     $enable_tools
+   - lxc-checkpoint: $enable_tools
+   - lxc-config:     $enable_tools
+   - lxc-console:    $enable_tools
+   - lxc-copy:       $enable_tools
+   - lxc-create:     $enable_tools
+   - lxc-destroy:    $enable_tools
+   - lxc-device:     $enable_tools
+   - lxc-execute:    $enable_tools
+   - lxc-freeze:     $enable_tools
+   - lxc-info:       $enable_tools
+   - lxc-ls:         $enable_tools
+   - lxc-monitor:    $enable_tools
+   - lxc-snapshot:   $enable_tools
+   - lxc-start:      $enable_tools
+   - lxc-stop:       $enable_tools
+   - lxc-top:        $enable_tools
+   - lxc-unfreeze:   $enable_tools
+   - lxc-unshare:    $enable_tools
+   - lxc-wait:       $enable_tools
+
+ - liblxc Commands:
+   - lxc-checkconfig:   $enable_commands
+   - lxc-update-config: $enable_commands
+   - lxc-init:          $enable_commands
+   - lxc-monitord:      $enable_commands
+   - lxc-user-nic:      $enable_commands
+   - lxc-usernsexec:    $enable_commands
+
 Environment:
  - compiler: $CC
  - distribution: $with_distro
index ae023e4114e5b29dab7e10f9f796cfbc136b378e..2bf92a0a8cc15b06b2902bc0d18b03ef277ae4ad 100644 (file)
@@ -15,46 +15,41 @@ EXTRA_DIST = \
        FAQ.txt
 
 if ENABLE_DOCBOOK
-man_MANS = \
-       lxc-attach.1 \
-       lxc-autostart.1 \
-       lxc-cgroup.1 \
-       lxc-checkconfig.1 \
-       lxc-checkpoint.1 \
-       lxc-config.1 \
-       lxc-console.1 \
-       lxc-copy.1 \
-       lxc-create.1 \
-       lxc-destroy.1 \
-       lxc-device.1 \
-       lxc-execute.1 \
-       lxc-freeze.1 \
-       lxc-info.1 \
-       lxc-ls.1 \
-       lxc-monitor.1 \
-       lxc-snapshot.1 \
-       lxc-start.1 \
-       lxc-stop.1 \
-       lxc-top.1 \
-       lxc-unfreeze.1 \
-       lxc-unshare.1 \
-       lxc-update-config.1 \
-       lxc-user-nic.1 \
-       lxc-usernsexec.1 \
-       lxc-wait.1 \
-       \
-       lxc.conf.5 \
-       lxc.container.conf.5 \
-       lxc.system.conf.5 \
-       lxc-usernet.5 \
-       \
-       lxc.7
-
-if ENABLE_DEPRECATED
-    man_MANS += lxc-clone.1
-if ENABLE_PYTHON
-    man_MANS += lxc-start-ephemeral.1
+man_MANS = lxc.conf.5 \
+          lxc.container.conf.5 \
+          lxc.system.conf.5 \
+          lxc-usernet.5 \
+          lxc.7
+if ENABLE_TOOLS
+man_MANS += lxc-attach.1 \
+           lxc-autostart.1 \
+           lxc-cgroup.1 \
+           lxc-checkconfig.1 \
+           lxc-checkpoint.1 \
+           lxc-config.1 \
+           lxc-console.1 \
+           lxc-copy.1 \
+           lxc-create.1 \
+           lxc-destroy.1 \
+           lxc-device.1 \
+           lxc-execute.1 \
+           lxc-freeze.1 \
+           lxc-info.1 \
+           lxc-ls.1 \
+           lxc-monitor.1 \
+           lxc-snapshot.1 \
+           lxc-start.1 \
+           lxc-stop.1 \
+           lxc-top.1 \
+           lxc-unfreeze.1 \
+           lxc-unshare.1 \
+           lxc-wait.1
 endif
+
+if ENABLE_COMMANDS
+man_MANS += lxc-update-config.1 \
+           lxc-user-nic.1 \
+           lxc-usernsexec.1
 endif
 
 %.1 : %.sgml
index fb799c8db29e8c8852697326a05407292501df27..b7c4dfccc9b210c374ef7b2e6c8b62ea1ce8f4df 100644 (file)
@@ -200,9 +200,14 @@ liblxc_la_LDFLAGS = \
 
 liblxc_la_LIBADD = $(CAP_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS)
 
-bin_SCRIPTS = cmd/lxc-checkconfig \
-             cmd/lxc-update-config
+bin_SCRIPTS=
 
+if ENABLE_COMMANDS
+bin_SCRIPTS += cmd/lxc-checkconfig \
+              cmd/lxc-update-config
+endif
+
+if ENABLE_TOOLS
 EXTRA_DIST = \
        tools/lxc-top.lua
 
@@ -211,7 +216,9 @@ if ENABLE_PYTHON
 bin_SCRIPTS += tools/lxc-start-ephemeral
 endif
 endif
+endif
 
+if ENABLE_TOOLS
 bin_PROGRAMS = \
        lxc-attach \
        lxc-autostart \
@@ -240,11 +247,14 @@ bin_PROGRAMS = \
 if ENABLE_DEPRECATED
 bin_PROGRAMS += lxc-clone
 endif
+endif
 
+if ENABLE_COMMANDS
 sbin_PROGRAMS = init.lxc
 pkglibexec_PROGRAMS = \
        lxc-monitord \
        lxc-user-nic
+endif
 
 AM_LDFLAGS = -Wl,-E
 if ENABLE_RPATH
@@ -252,6 +262,7 @@ AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir)
 endif
 LDADD=liblxc.la @CAP_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@
 
+if ENABLE_TOOLS
 lxc_attach_SOURCES = tools/lxc_attach.c tools/arguments.c tools/tool_utils.c
 lxc_autostart_SOURCES = tools/lxc_autostart.c tools/arguments.c tools/tool_utils.c
 lxc_cgroup_SOURCES = tools/lxc_cgroup.c tools/arguments.c tools/tool_utils.c
@@ -274,13 +285,18 @@ lxc_wait_SOURCES = tools/lxc_wait.c tools/arguments.c tools/tool_utils.c
 lxc_create_SOURCES = tools/lxc_create.c tools/arguments.c tools/tool_utils.c
 lxc_snapshot_SOURCES = tools/lxc_snapshot.c tools/arguments.c tools/tool_utils.c
 lxc_checkpoint_SOURCES = tools/lxc_checkpoint.c tools/arguments.c tools/tool_utils.c
+endif
 
+if ENABLE_COMMANDS
 # Binaries shipping with liblxc
 init_lxc_SOURCES = cmd/lxc_init.c
 lxc_monitord_SOURCES = cmd/lxc_monitord.c
 lxc_user_nic_SOURCES = cmd/lxc_user_nic.c namespace.c network.c parse.c
 lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c
+endif
+
 
+if ENABLE_TOOLS
 if ENABLE_DEPRECATED
 lxc_clone_SOURCES = tools/lxc_clone.c tools/arguments.c
 endif
@@ -288,7 +304,9 @@ endif
 if !HAVE_GETSUBOPT
 lxc_copy_SOURCES += tools/include/getsubopt.c tools/include/getsubopt.h
 endif
+endif
 
+if ENABLE_COMMANDS
 if HAVE_STATIC_LIBCAP
 sbin_PROGRAMS += init.lxc.static
 
@@ -304,6 +322,7 @@ init_lxc_static_LDFLAGS = -all-static
 init_lxc_static_LDADD = @CAP_LIBS@
 init_lxc_static_CFLAGS = $(AM_CFLAGS) -DNO_LXC_CONF
 endif
+endif
 
 if ENABLE_PAM
 if HAVE_PAM