summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2013-10-15 10:27:36 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-11-11 11:45:57 +0100
commitc3889e5a101a075defe533d81f5296d5e680f639 (patch)
treef7edc8151237b4b72b52f1d6eb86e0bce3535c45
parent16c351625346b3193e1762027e5215ab76042127 (diff)
downloadsssd-c3889e5a101a075defe533d81f5296d5e680f639.tar.gz
sssd-c3889e5a101a075defe533d81f5296d5e680f639.tar.xz
sssd-c3889e5a101a075defe533d81f5296d5e680f639.zip
BUILD: Explicitly link libsss_ad.so with sasl libs
If openldap is not built with sasl support libsss_ad.so will not be linked with libsasl2 although sasl_client_init is called by function ad_sasl_initialize.
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac3
-rw-r--r--src/external/sasl.m417
3 files changed, 20 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index 15fd119d9..f394e5d88 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1758,12 +1758,14 @@ libsss_ad_la_CFLAGS = \
$(AM_CFLAGS) \
$(SYSTEMD_LOGIN_CFLAGS) \
$(LDAP_CFLAGS) \
+ $(SASL_CFLAGS) \
$(DHASH_CFLAGS) \
$(KRB5_CFLAGS) \
$(NDR_NBT_CFLAGS)
libsss_ad_la_LIBADD = \
$(SYSTEMD_LOGIN_LIBS) \
$(OPENLDAP_LIBS) \
+ $(SASL_LIBS) \
$(DHASH_LIBS) \
$(KEYUTILS_LIBS) \
$(KRB5_LIBS) \
diff --git a/configure.ac b/configure.ac
index 9934b50b9..93038204f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -158,6 +158,7 @@ m4_include([src/external/cifsidmap.m4])
m4_include([src/external/signal.m4])
m4_include([src/external/inotify.m4])
m4_include([src/external/libndr_nbt.m4])
+m4_include([src/external/sasl.m4])
WITH_UNICODE_LIB
if test x$unicode_lib = xlibunistring; then
@@ -262,8 +263,6 @@ fi
AM_CHECK_INOTIFY
-AC_CHECK_HEADERS([sasl/sasl.h],,AC_MSG_ERROR([Could not find SASL headers]))
-
AC_CACHE_CHECK([whether compiler supports __attribute__((destructor))],
sss_client_cv_attribute_destructor,
[AC_COMPILE_IFELSE(
diff --git a/src/external/sasl.m4 b/src/external/sasl.m4
new file mode 100644
index 000000000..5980624af
--- /dev/null
+++ b/src/external/sasl.m4
@@ -0,0 +1,17 @@
+SASL_OBJ=""
+AC_SUBST(SASL_OBJ)
+AC_SUBST(SASL_LIBS)
+AC_SUBST(SASL_CFLAGS)
+
+PKG_CHECK_MODULES([SASL], [libsasl2], [found_sasl=yes], [found_sasl=no])
+
+SSS_AC_EXPAND_LIB_DIR()
+AS_IF([test x"$found_sasl" != xyes],
+ [AC_CHECK_HEADERS([sasl/sasl.h],
+ [AC_CHECK_LIB([sasl2],
+ [sasl_client_init],
+ [SASL_LIBS="-L$sss_extra_libdir -lsasl2"],
+ [AC_MSG_ERROR([SASL library must support sasl_client_init])],
+ [-L$sss_extra_libdir])],
+ [AC_MSG_ERROR([SASL header files are not installed])])]
+)