summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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])])]
+)