summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2016-03-15 20:11:53 +0100
committerMichele Calgaro <michele.calgaro@yahoo.it>2016-03-15 20:11:53 +0100
commitd2fb5b21a9951e0c0cd1a03c99ac75aebba03e31 (patch)
treee8f460134f4b069784e4c451396b3a6f77e8c05f
parentca9a0f9a973e6c93e2918826bdaabf27451a7d89 (diff)
downloadkcmldap-d2fb5b21.tar.gz
kcmldap-d2fb5b21.zip
Fix krb5 library detection. This resolves FTBFS with heimdal-krb5.
Based on similar patch for libraries/libtdeldap from Slavek Banko. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
-rw-r--r--cert-updater/Makefile.am4
-rw-r--r--cmdline/Makefile.am4
-rw-r--r--configure.in.in37
-rw-r--r--src/Makefile.am4
4 files changed, 43 insertions, 6 deletions
diff --git a/cert-updater/Makefile.am b/cert-updater/Makefile.am
index 94dcd2b..6053b31 100644
--- a/cert-updater/Makefile.am
+++ b/cert-updater/Makefile.am
@@ -1,10 +1,10 @@
-INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde
+INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS)
bin_PROGRAMS = tdeldapcertupdater
tdeldapcertupdater_SOURCES = main.cpp
tdeldapcertupdater_METASOURCES = AUTO
-tdeldapcertupdater_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap
+tdeldapcertupdater_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap $(KRB5_LIBS)
KDE_OPTIONS = nofinal
diff --git a/cmdline/Makefile.am b/cmdline/Makefile.am
index 6e59eb7..3228e85 100644
--- a/cmdline/Makefile.am
+++ b/cmdline/Makefile.am
@@ -1,10 +1,10 @@
-INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde
+INCLUDES= $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS)
bin_PROGRAMS = tdeldapbonding
tdeldapbonding_SOURCES = main.cpp
tdeldapbonding_METASOURCES = AUTO
-tdeldapbonding_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap
+tdeldapbonding_LDFLAGS = $(all_libraries) $(KDE_RPATH) $(LIB_QT) -lDCOP $(LIB_TDECORE) $(LIB_TDEUI) -ltdefx $(LIB_TDEIO) -ltdetexteditor -ltdeldap $(KRB5_LIBS)
KDE_OPTIONS = nofinal
diff --git a/configure.in.in b/configure.in.in
index 18b1486..03cae23 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -4,3 +4,40 @@ AM_INIT_AUTOMAKE(autostart, 0.1)
AC_C_BIGENDIAN
AC_CHECK_KDEMAXPATHLEN
+
+PKG_CHECK_MODULES(KRB5, krb5, have_krb5=yes, have_krb5=no)
+if test "x$have_krb5" = "xno"; then
+ # Try to find krb5 without pkg-config file
+ AC_MSG_CHECKING(krb5)
+ AC_FIND_FILE(krb5.h, [\
+ /usr/local/include/heimdal /usr/local/include \
+ /usr/include/heimdal /usr/include \
+ ], krb5_includes)
+ if test "x$krb5_includes" != "xNO"; then
+ krb5_multiarch="`gcc -print-multiarch 2>/dev/null`"
+ AC_FIND_FILE(libkrb5.so, [\
+ /usr/local/lib/$krb5_multiarch/heimdal /usr/local/lib64/heimdal /usr/local/lib/heimdal \
+ /usr/local/lib/$krb5_multiarch /usr/local/lib64 /usr/local/lib \
+ /usr/lib/$krb5_multiarch/heimdal /usr/lib64/heimdal /usr/lib/heimdal \
+ /usr/lib/$krb5_multiarch /usr/lib64 /usr/lib \
+ ], krb5_libs)
+ if test "x$krb5_libs" != "xNO"; then
+ AC_MSG_RESULT([libraries $krb5_libs, headers $krb5_includes])
+ CPPFLAGS="$CPPFLAGS -I$krb5_includes"
+ CFLAGS="$CFLAGS -I$krb5_includes"
+ LDFLAGS="$LDFLAGS -L$krb5_libs"
+ AC_CHECK_HEADER(krb5.h, have_krb5=yes)
+ fi
+ fi
+ if test "x$have_krb5" != "xno"; then
+ KRB5_CFLAGS="-I$krb5_includes"
+ KRB5_LIBS="-L$krb5_libs -lkrb5"
+ AC_SUBST(KRB5_CFLAGS)
+ AC_SUBST(KRB5_LIBS)
+ else
+ AC_MSG_RESULT(no)
+ fi
+fi
+if test "x$have_krb5" = "xno"; then
+ AC_MSG_ERROR([krb5 library is needed but not found on our system])
+fi
diff --git a/src/Makefile.am b/src/Makefile.am
index 1426da0..2b2a1ca 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = $(all_includes) $(KDE_INCLUDES)/tde
+INCLUDES = $(all_includes) $(KDE_INCLUDES)/tde $(KRB5_CFLAGS)
METASOURCES = AUTO
# Install this plugin in the KDE modules directory
@@ -7,7 +7,7 @@ kde_module_LTLIBRARIES = kcm_ldapbonding.la
kcm_ldapbonding_la_SOURCES = tdeumaskinput.cpp ldapbonding.cpp ldapconfigbase.ui realmpropertiesdialog.cpp bondintropage.cpp bondintropagedlg.ui bondrealmpage.cpp bondrealmpagedlg.ui bondfinishpage.cpp bondfinishpagedlg.ui bondwizard.cpp ldappasswddlg.cpp
kcm_ldapbonding_la_LIBADD = $(LIB_TDEIO) $(LIB_TDEUI) -ltdeldap
kcm_ldapbonding_la_LDFLAGS = -avoid-version -module -no-undefined \
- $(all_libraries)
+ $(all_libraries) $(KRB5_LIBS)
xdg_apps_DATA = ldapbonding.desktop