summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Slebodnik <lslebodn@redhat.com>2013-10-15 10:27:36 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-05-18 04:55:35 +0200
commit43975eaed128924e7999757eea1708487178d317 (patch)
tree5554998d8b1b7c5804c7eda74ef8f7fa17135450
parent07e242624e004657d563cc78634ad666e3abf4af (diff)
downloadsssd-43975eaed128924e7999757eea1708487178d317.tar.gz
sssd-43975eaed128924e7999757eea1708487178d317.tar.xz
sssd-43975eaed128924e7999757eea1708487178d317.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. (cherry picked from commit c3889e5a101a075defe533d81f5296d5e680f639)
-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 154bf38a4..8d92326de 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1826,11 +1826,13 @@ endif
libsss_ad_la_CFLAGS = \
$(AM_CFLAGS) \
$(LDAP_CFLAGS) \
+ $(SASL_CFLAGS) \
$(DHASH_CFLAGS) \
$(KRB5_CFLAGS) \
$(NDR_NBT_CFLAGS)
libsss_ad_la_LIBADD = \
$(OPENLDAP_LIBS) \
+ $(SASL_LIBS) \
$(DHASH_LIBS) \
$(KRB5_LIBS) \
$(NDR_NBT_LIBS) \
diff --git a/configure.ac b/configure.ac
index 57829b7c8..636f87b25 100644
--- a/configure.ac
+++ b/configure.ac
@@ -156,6 +156,7 @@ m4_include([src/external/pac_responder.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
@@ -255,8 +256,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])])]
+)