summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am17
-rw-r--r--configure.ac5
-rw-r--r--contrib/sssd.spec.in2
-rw-r--r--src/external/configlib.m412
-rw-r--r--src/external/libaugeas.m411
-rw-r--r--src/tests/dlopen-tests.c3
6 files changed, 50 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 3bcde0599..04f1ecd3e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -443,6 +443,7 @@ dist_noinst_HEADERS = \
src/util/sss_ssh.h \
src/util/sss_ini.h \
src/util/sss_format.h \
+ src/util/sss_config.h \
src/util/refcount.h \
src/util/find_uid.h \
src/util/user_info_msg.h \
@@ -657,6 +658,22 @@ SSSD_INTERNAL_LTLIBS = \
libsss_debug.la \
libsss_child.la
+if BUILD_CONFIG_LIB
+pkglib_LTLIBRARIES += libsss_config.la
+libsss_config_la_SOURCES = \
+ src/util/sss_config.c
+libsss_config_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(AUGEAS_CFLAGS) \
+ $(TALLOC_CFLAGS)
+libsss_config_la_LIBADD = \
+ $(AUGEAS_LIBS) \
+ $(TALLOC_LIBS) \
+ $(SSSD_INTERNAL_LTLIBS)
+libsss_config_la_LDFLAGS = \
+ -avoid-version
+endif
+
lib_LTLIBRARIES = libipa_hbac.la libsss_idmap.la libsss_nss_idmap.la
pkgconfig_DATA += src/providers/ipa/ipa_hbac.pc
libipa_hbac_la_SOURCES = \
diff --git a/configure.ac b/configure.ac
index eb7e376a0..e75816a71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -159,6 +159,11 @@ 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])
+m4_include([src/external/configlib.m4])
+
+if test x$build_config_lib = xyes; then
+ m4_include([src/external/libaugeas.m4])
+fi
WITH_UNICODE_LIB
if test x$unicode_lib = xlibunistring; then
diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in
index d4ee91659..ad2a1cdda 100644
--- a/contrib/sssd.spec.in
+++ b/contrib/sssd.spec.in
@@ -138,6 +138,7 @@ BuildRequires: systemd-devel
%if (0%{?with_cifs_utils_plugin} == 1)
BuildRequires: cifs-utils-devel
%endif
+BuildRequires: augeas-devel
# RHEL 5 is too old to support samba4 and the PAC responder
%if !0%{?is_rhel5}
@@ -573,6 +574,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/%{name}/libsss_debug.so
%{_libdir}/%{name}/libsss_ldap_common.so
%{_libdir}/%{name}/libsss_util.so
+%{_libdir}/%{name}/libsss_config.so
# 3rd party application libraries
%{_libdir}/sssd/modules/libsss_autofs.so
diff --git a/src/external/configlib.m4 b/src/external/configlib.m4
new file mode 100644
index 000000000..ad6c1a943
--- /dev/null
+++ b/src/external/configlib.m4
@@ -0,0 +1,12 @@
+AC_ARG_ENABLE([config-lib],
+ [AS_HELP_STRING([--disable-config-lib],
+ [do not build internal config library])],
+ [build_config_lib=$enableval],
+ [build_config_lib=yes])
+
+AM_CONDITIONAL([BUILD_CONFIG_LIB],
+ [test x$build_config_lib = xyes])
+
+AM_COND_IF([BUILD_CONFIG_LIB],
+ [AC_DEFINE_UNQUOTED(HAVE_CONFIG_LIB, 1,
+ [Build with internal config library])]) \ No newline at end of file
diff --git a/src/external/libaugeas.m4 b/src/external/libaugeas.m4
new file mode 100644
index 000000000..13f694c5c
--- /dev/null
+++ b/src/external/libaugeas.m4
@@ -0,0 +1,11 @@
+AC_SUBST(AUGEAS_OBJ)
+AC_SUBST(AUGEAS_CFLAGS)
+AC_SUBST(AUGEAS_LIBS)
+
+PKG_CHECK_MODULES(AUGEAS,
+ augeas >= 1.0.0,
+ ,
+ AC_MSG_ERROR([
+Please install augeas-devel or disable this dependency
+by specifying --disable-config-lib when running configure.])
+ )
diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c
index 7a218c70a..2396aee8a 100644
--- a/src/tests/dlopen-tests.c
+++ b/src/tests/dlopen-tests.c
@@ -96,6 +96,9 @@ struct so {
{ "pysss_murmur.so", { LIBPFX"pysss_murmur.so", NULL } },
{ "pysss_nss_idmap.so", { LIBPFX"pysss_nss_idmap.so", NULL } },
#endif
+#ifdef HAVE_CONFIG_LIB
+ { "libsss_config.so", { LIBPFX"libsss_config.so", NULL } },
+#endif
{ NULL }
};