>From da166b55acddce55782601855a8468794fdefa8b Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Tue, 4 Mar 2014 16:40:36 +0100 Subject: [PATCH 1/4] BUILD: Make samba4 libraries optional Samba 4 libraries are necessary for building {ad, ipa} provider, but samba4 needn't be available on older distributions. This patch add possibility to build SSSD without {ad, ipa} provider and thus without Samba 4 libraries. The script configure have new argument --with-samba with default value yes. --- Makefile.am | 8 ++++++-- configure.ac | 1 + src/conf_macros.m4 | 16 ++++++++++++++++ src/external/libndr_nbt.m4 | 11 +++++++++-- src/tests/dlopen-tests.c | 2 ++ 5 files changed, 34 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 4f9c11f47ce49751e585a174b15d8f30d14e1877..62e10a66aa3a31876dd7baf76089126357b95bea 100644 --- a/Makefile.am +++ b/Makefile.am @@ -202,10 +202,14 @@ sssdlib_LTLIBRARIES = \ libsss_ldap.la \ libsss_krb5.la \ libsss_proxy.la \ - libsss_ipa.la \ - libsss_ad.la \ libsss_simple.la +if BUILD_SAMBA +sssdlib_LTLIBRARIES += \ + libsss_ipa.la \ + libsss_ad.la +endif + ldblib_LTLIBRARIES = \ memberof.la diff --git a/configure.ac b/configure.ac index eb7e376a07c1984c53d5714aac06564908a0a8d6..5395360a1dcc4e079a5c45bf8d744121f2280704 100644 --- a/configure.ac +++ b/configure.ac @@ -127,6 +127,7 @@ WITH_SSH WITH_IFP WITH_CRYPTO WITH_SYSLOG +WITH_SAMBA m4_include([src/external/pkg.m4]) m4_include([src/external/libpopt.m4]) diff --git a/src/conf_macros.m4 b/src/conf_macros.m4 index 1c316266886051e4841d3eef4c3e594ea7ccd144..2c834031958e261689a84db6662cd108eb1eada3 100644 --- a/src/conf_macros.m4 +++ b/src/conf_macros.m4 @@ -651,3 +651,19 @@ AC_DEFUN([WITH_IFP], fi AM_CONDITIONAL([BUILD_IFP], [test x"$with_infopipe" = xyes]) ]) + +AC_DEFUN([WITH_SAMBA], + [ AC_ARG_WITH([samba], + [AC_HELP_STRING([--with-samba], + [Whether to build with samba4 libraries [yes]] + ) + ], + [with_samba=$withval], + [with_samba=yes] + ) + + if test x"$with_samba" = xyes; then + AC_DEFINE(BUILD_SAMBA, 1, [whether to build with samba support]) + fi + AM_CONDITIONAL([BUILD_SAMBA], [test x"$with_samba" = xyes]) + ]) diff --git a/src/external/libndr_nbt.m4 b/src/external/libndr_nbt.m4 index d4d94f2d608454e1df855ab2d2c8396189c0d428..bb4f89f13b119a0eeb95d9304386d1d2f65e6bfa 100644 --- a/src/external/libndr_nbt.m4 +++ b/src/external/libndr_nbt.m4 @@ -1,5 +1,12 @@ AC_SUBST(NDR_NBT_CFLAGS) AC_SUBST(NDR_NBT_LIBS) -PKG_CHECK_MODULES(NDR_NBT, ndr_nbt, , - AC_MSG_ERROR("Please install Samba 4 development libraries")) \ No newline at end of file +if test x"$with_samba" = xyes; then + PKG_CHECK_MODULES(NDR_NBT, ndr_nbt, , + AC_MSG_ERROR([[Please install Samba 4 development libraries. +Samba 4 libraries are necessary for building ad and ipa provider. +If you do not want to build these providers it is possible to build SSSD +without them. In this case, you will need to execute configure script +with argument --without-samba + ]])) +fi diff --git a/src/tests/dlopen-tests.c b/src/tests/dlopen-tests.c index 7a218c70ad5ccc640388ac6b933299ceaae384ca..afc70131e554ac91cf8575acf5c05c56716e2a27 100644 --- a/src/tests/dlopen-tests.c +++ b/src/tests/dlopen-tests.c @@ -74,10 +74,12 @@ struct so { LIBPFX"libsss_util.so", NULL } }, { "libsss_simple.so", { LIBPFX"libdlopen_test_providers.so", LIBPFX"libsss_simple.so", NULL } }, +#ifdef BUILD_SAMBA { "libsss_ad.so", { LIBPFX"libdlopen_test_providers.so", LIBPFX"libsss_ad.so", NULL } }, { "libsss_ipa.so", { LIBPFX"libdlopen_test_providers.so", LIBPFX"libsss_ipa.so", NULL } }, +#endif /* BUILD_SAMBA */ { "libsss_krb5.so", { LIBPFX"libdlopen_test_providers.so", LIBPFX"libsss_krb5.so", NULL } }, { "libsss_krb5_common.so", { LIBPFX"libdlopen_test_providers.so", -- 1.9.0