summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2011-07-28 04:02:32 +0200
committerMichael Biebl <biebl@debian.org>2011-07-28 05:01:12 +0200
commit85f19d825e7504676f3a80c78c1d9a7ec35a3b3f (patch)
tree223f1a62c0add48d2a0e312a0edbe62cd1b68581
parent6c7506dca32f8add56cd03bf263f417305de74a0 (diff)
Link against -lcap only where required
Don't put -lcap into LIBS as otherwise everything will be linked against it, like libsystemd-daemon, where this is not desired.
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac6
2 files changed, 10 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 25ce3f4704..15349a1aef 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -545,7 +545,8 @@ libsystemd_basic_la_CFLAGS = \
$(SELINUX_CFLAGS)
libsystemd_basic_la_LIBADD = \
- $(SELINUX_LIBS)
+ $(SELINUX_LIBS) \
+ $(CAP_LIBS)
libsystemd_core_la_SOURCES = \
src/unit.c \
@@ -614,7 +615,8 @@ libsystemd_core_la_LIBADD = \
$(UDEV_LIBS) \
$(LIBWRAP_LIBS) \
$(PAM_LIBS) \
- $(AUDIT_LIBS)
+ $(AUDIT_LIBS) \
+ $(CAP_LIBS)
# This is needed because automake is buggy in how it generates the
# rules for C programs, but not Vala programs. We therefore can't
diff --git a/configure.ac b/configure.ac
index 82ed85c3f8..a551d23672 100644
--- a/configure.ac
+++ b/configure.ac
@@ -111,8 +111,14 @@ LT_INIT
AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])])
AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])])
+
+save_LIBS="$LIBS"
+LIBS=
AC_SEARCH_LIBS([cap_init], [cap], [], [AC_MSG_ERROR([*** POSIX caps library not found])])
AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])])
+CAP_LIBS="$LIBS"
+LIBS="$save_LIBS"
+AC_SUBST(CAP_LIBS)
# This makes sure pkg.m4 is available.
m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config])