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 <[email protected]>
---

 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


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://www.creativitycat.com 
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to