From 62e5d793d3d34479fec591dee62854381dc51291 Mon Sep 17 00:00:00 2001 From: Jan Safranek Date: Mon, 25 May 2009 09:48:34 +0200 Subject: Add options to enable/disable various build targets. By default, everything is compiled. I want to add options to ./configure, which can selectively disable tools, daemon and pam module. The library itself is mandatory component and cannot be disabled. Usage: ./configure --help ./configure --disable-tools --disable-pam --disable-daemon Signed-off-by: Jan Safranek --- configure.in | 39 +++++++++++++++++++++++++++++++++++++++ src/daemon/Makefile.am | 6 +++++- src/pam/Makefile.am | 6 +++++- src/tools/Makefile.am | 4 ++++ 4 files changed, 53 insertions(+), 2 deletions(-) diff --git a/configure.in b/configure.in index 04afe31..b1bd2b5 100644 --- a/configure.in +++ b/configure.in @@ -37,6 +37,45 @@ AC_ARG_ENABLE([debug], [Define to enable extra debugging output.])], []) +AC_ARG_ENABLE([tools], + [AC_HELP_STRING([--enable-tools], + [compile libcgroup tools [default=yes]])], + [ + if test "x$enableval" = xno; then + with_tools=false + else + with_tools=true + fi + ], + [with_tools=true]) +AM_CONDITIONAL([WITH_TOOLS], [test x$with_tools = xtrue]) + +AC_ARG_ENABLE([pam], + [AC_HELP_STRING([--enable-pam], + [compile libcgroup PAM module [default=yes]])], + [ + if test "x$enableval" = xno; then + with_pam=false + else + with_pam=true + fi + ], + [with_pam=true]) +AM_CONDITIONAL([WITH_PAM], [test x$with_pam = xtrue]) + +AC_ARG_ENABLE([daemon], + [AC_HELP_STRING([--enable-daemon], + [compile libcgroup daemon [default=yes]])], + [ + if test "x$enableval" = xno; then + with_daemon=false + else + with_daemon=true + fi + ], + [with_daemon=true]) +AM_CONDITIONAL([WITH_DAEMON], [test x$with_daemon = xtrue]) + # Checks for programs. AC_PROG_CXX AC_PROG_CC diff --git a/src/daemon/Makefile.am b/src/daemon/Makefile.am index f0c9b92..feeeb3a 100644 --- a/src/daemon/Makefile.am +++ b/src/daemon/Makefile.am @@ -1,6 +1,10 @@ INCLUDES = -I $(top_srcdir)/include -sbin_PROGRAMS = cgrulesengd +if WITH_DAEMON + +sbin_PROGRAMS = cgrulesengd cgrulesengd_SOURCES = cgrulesengd.c cgrulesengd.h cgrulesengd_LDADD = $(top_srcdir)/src/.libs/libcgroup.la -lrt cgrulesengd_LDFLAGS = -L$(top_srcdir)/src/.libs + +endif diff --git a/src/pam/Makefile.am b/src/pam/Makefile.am index 1a1e782..2ad565e 100644 --- a/src/pam/Makefile.am +++ b/src/pam/Makefile.am @@ -1,6 +1,10 @@ INCLUDES = -I $(top_srcdir)/include -lib_LTLIBRARIES = pam_cgroup.la +if WITH_PAM + +lib_LTLIBRARIES = pam_cgroup.la pam_cgroup_la_SOURCES = pam_cgroup.c pam_cgroup_la_LDFLAGS = -module pam_cgroup_la_LIBADD = $(top_srcdir)/src/.libs/libcgroup.la -lpam + +endif diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index e1cace3..93d09ac 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -1,7 +1,10 @@ INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/include LDADD = $(top_srcdir)/src/.libs/libcgroup.la +if WITH_TOOLS + bin_PROGRAMS = cgexec cgclassify + sbin_PROGRAMS = cgconfigparser cgexec_SOURCES = cgexec.c tools-common.c tools-common.h @@ -10,3 +13,4 @@ cgclassify_SOURCES = cgclassify.c tools-common.c tools-common.h cgconfigparser_SOURCES = cgconfig.c +endif -- cgit