From: Christian Brauner Date: Wed, 14 Feb 2018 10:33:33 +0000 (+0100) Subject: autotools: add --{enable,disable}-{commands,tools} X-Git-Tag: lxc-3.0.0.beta1~3^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8d0609371e8831fbe185452ee51f784200e52fbf;p=thirdparty%2Flxc.git autotools: add --{enable,disable}-{commands,tools} 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 --- diff --git a/configure.ac b/configure.ac index 52c068e54..87c6384b8 100644 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/doc/Makefile.am b/doc/Makefile.am index ae023e411..2bf92a0a8 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 diff --git a/src/lxc/Makefile.am b/src/lxc/Makefile.am index fb799c8db..b7c4dfccc 100644 --- a/src/lxc/Makefile.am +++ b/src/lxc/Makefile.am @@ -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