[shibboleth-sp2] 04/17: Add several patches migrating to pkg-config

Ferenc Wágner wferi at moszumanska.debian.org
Thu Sep 1 09:29:33 UTC 2016


This is an automated email from the git hooks/post-receive script.

wferi pushed a commit to branch debian/experimental
in repository shibboleth-sp2.

commit 4a059217ad1f617da651bd5e9b2221eb0cdecca2
Author: Ferenc Wágner <wferi at niif.hu>
Date:   Sun Jul 17 19:46:17 2016 +0200

    Add several patches migrating to pkg-config
---
 ...fig-files-for-libshibsp-and-libshibsp-lit.patch | 162 ++++++++
 .../Localize-Boost-preprocessor-flags.patch        | 130 ++++++
 .../patches/Localize-pthread-library-flags.patch   | 206 ++++++++++
 .../Remove-superfluous-xmlsec-linkages.patch       | 140 +++++++
 debian/patches/Use-pkg-config-for-GSSAPI.patch     | 386 ++++++++++++++++++
 debian/patches/Use-pkg-config-for-OpenSAML.patch   | 216 ++++++++++
 debian/patches/Use-pkg-config-for-Xerces.patch     | 448 +++++++++++++++++++++
 .../Use-pkg-config-for-log4shib-log4cpp.patch      | 135 +++++++
 debian/patches/Use-pkg-config-for-xmlsec.patch     | 239 +++++++++++
 debian/patches/Use-pkg-config-for-xmltooling.patch | 372 +++++++++++++++++
 debian/patches/We-don-t-use-OpenSSL-directly.patch |  43 ++
 debian/patches/series                              |  11 +
 12 files changed, 2488 insertions(+)

diff --git a/debian/patches/Add-pkg-config-files-for-libshibsp-and-libshibsp-lit.patch b/debian/patches/Add-pkg-config-files-for-libshibsp-and-libshibsp-lit.patch
new file mode 100644
index 0000000..4cb0adf
--- /dev/null
+++ b/debian/patches/Add-pkg-config-files-for-libshibsp-and-libshibsp-lit.patch
@@ -0,0 +1,162 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 14:23:33 +0200
+Subject: Add pkg-config files for libshibsp and libshibsp-lite
+
+---
+ Makefile.am                |  2 ++
+ configure.ac               |  3 +-
+ m4/ax_pkg_check_modules.m4 | 69 ++++++++++++++++++++++++++++++++++++++++++++++
+ shibsp-lite.pc.in          | 13 +++++++++
+ shibsp.pc.in               | 13 +++++++++
+ 5 files changed, 99 insertions(+), 1 deletion(-)
+ create mode 100644 m4/ax_pkg_check_modules.m4
+ create mode 100644 shibsp-lite.pc.in
+ create mode 100644 shibsp.pc.in
+
+diff --git a/Makefile.am b/Makefile.am
+index 5fa116d..dcf0675 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -31,6 +31,8 @@ else
+ all-local:
+ endif
+ 
++pkgconfig_DATA = shibsp.pc shibsp-lite.pc
++
+ GENFILES = @PACKAGE_NAME at .spec
+ 
+ EXTRA_DIST = $(DX_CONFIG) \
+diff --git a/configure.ac b/configure.ac
+index cdc9e89..5cc7dd2 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -6,6 +6,7 @@ AC_CONFIG_MACRO_DIR(m4)
+ AM_INIT_AUTOMAKE
+ AC_DISABLE_STATIC
+ AC_PROG_LIBTOOL
++PKG_INSTALLDIR
+ 
+ # Docygen features
+ DX_HTML_FEATURE(ON)
+@@ -32,7 +33,7 @@ else
+ fi
+ 
+ AC_CONFIG_HEADERS([config.h shibsp/config_pub.h])
+-AC_CONFIG_FILES([shibboleth.spec])
++AC_CONFIG_FILES([shibsp.pc shibsp-lite.pc shibboleth.spec])
+ 
+ AC_PROG_CC([gcc gcc3 cc])
+ AC_PROG_CXX([g++ g++3 c++ CC])
+diff --git a/m4/ax_pkg_check_modules.m4 b/m4/ax_pkg_check_modules.m4
+new file mode 100644
+index 0000000..ab8adf9
+--- /dev/null
++++ b/m4/ax_pkg_check_modules.m4
+@@ -0,0 +1,69 @@
++# ===========================================================================
++#   http://www.gnu.org/software/autoconf-archive/ax_pkg_check_modules.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PKG_CHECK_MODULES(PREFIX, PUBLIC-MODULES, PRIVATE-MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [PUBLIC-VARIABLE], [PRIVATE-VARIABLE])
++#
++# DESCRIPTION
++#
++#   A wrapper around PKG_CHECK_MODULES which splits the list of modules into
++#   public and private dependencies, and produces two variables listing the
++#   dependencies across all invocations of AX_PKG_CHECK_MODULES. These two
++#   variables are exposed via AC_SUBST, and should be used in a pkg-config
++#   file as the substituted values for Requires and Requires.private.
++#
++#   The PREFIX, PUBLIC-MODULES and PRIVATE-MODULES arguments should be
++#   specified as for PKG_CHECK_MODULES, with the concatenation of
++#   PUBLIC-MODULES and PRIVATE-MODULES equaling the LIST-OF-MODULES from
++#   PKG_CHECK_MODULES.  The ACTION-IF-FOUND and ACTION-IF-NOT-FOUND
++#   arguments are optional, and should also be specified as for
++#   PKG_CHECK_MODULES.  ACTION-IF-FOUND is evaluated if the full
++#   LIST-OF-MODULES is found; ACTION-IF-NOT-FOUND similarly.
++#
++#   PUBLIC-VARIABLE defaults to AX_PACKAGE_REQUIRES, and PRIVATE-VARIABLE
++#   defaults to AX_PACKAGE_REQUIRES_PRIVATE.  Both variables are AC_SUBST-ed
++#   by this macro.
++#
++#   For example:
++#
++#     AX_PKG_CHECK_MODULES([GLIB],[glib-2.0 gio-2.0],[gthread-2.0])
++#     AX_PKG_CHECK_MODULES([DBUS],[],[dbus-glib-1 >= 0.98 dbus-1])
++#
++#   results in the substitutions:
++#
++#     AX_PACKAGE_REQUIRES="glib-2.0 gio-2.0"
++#     AX_PACKAGE_REQUIRES_PRIVATE="gthread-2.0 dbus-glib-1 >= 0.98 dbus-1"
++#
++#   and can be used with a template pkg-config file (.pc.in) using:
++#
++#     Requires: @AX_PACKAGE_REQUIRES@
++#     Requires.private: @AX_PACKAGE_REQUIRES_PRIVATE@
++#
++# LICENSE
++#
++#   Copyright (c) 2014 Philip Withnall <philip at tecnocode.co.uk>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved.  This file is offered as-is, without any
++#   warranty.
++
++#serial 2
++
++AC_DEFUN([AX_PKG_CHECK_MODULES],[
++    m4_define([ax_package_requires],
++              [m4_default_quoted([$6],[AX_PACKAGE_REQUIRES])])
++    m4_define([ax_package_requires_private],
++              [m4_default_quoted([$7],[AX_PACKAGE_REQUIRES_PRIVATE])])
++
++    PKG_CHECK_MODULES([$1],[$2 $3],[
++        ax_package_requires="$[]ax_package_requires $2"
++        ax_package_requires_private="$[]ax_package_requires_private $3"
++        $4],[$5])
++
++    # Substitute output.
++    AC_SUBST(ax_package_requires)
++    AC_SUBST(ax_package_requires_private)
++])dnl AX_PKG_CHECK_MODULES
+diff --git a/shibsp-lite.pc.in b/shibsp-lite.pc.in
+new file mode 100644
+index 0000000..40f53bc
+--- /dev/null
++++ b/shibsp-lite.pc.in
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@ (lite version)
++Description: Shibboleth Service Provider library (lite version)
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lshibsp-lite
++Libs.private: @PTHREAD_LIBS@
++Cflags: -I${includedir} @BOOST_CPPFLAGS@ @PTHREAD_CFLAGS@
++Requires: @SHIBSP_LITE_REQUIRES@
++Requires.private: @SHIBSP_LITE_REQUIRES_PRIVATE@
+diff --git a/shibsp.pc.in b/shibsp.pc.in
+new file mode 100644
+index 0000000..236557b
+--- /dev/null
++++ b/shibsp.pc.in
+@@ -0,0 +1,13 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Shibboleth Service Provider library
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lshibsp
++Libs.private: @PTHREAD_LIBS@
++Cflags: -I${includedir} @BOOST_CPPFLAGS@ @PTHREAD_CFLAGS@
++Requires: @SHIBSP_REQUIRES@ @SHIBSP_LITE_REQUIRES@
++Requires.private: @SHIBSP_REQUIRES_PRIVATE@ @SHIBSP_LITE_REQUIRES_PRIVATE@
diff --git a/debian/patches/Localize-Boost-preprocessor-flags.patch b/debian/patches/Localize-Boost-preprocessor-flags.patch
new file mode 100644
index 0000000..7805ece
--- /dev/null
+++ b/debian/patches/Localize-Boost-preprocessor-flags.patch
@@ -0,0 +1,130 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 15:07:06 +0200
+Subject: Localize Boost preprocessor flags
+
+---
+ apache/Makefile.am     | 4 ++++
+ configure.ac           | 1 -
+ nsapi_shib/Makefile.am | 1 +
+ odbc-store/Makefile.am | 1 +
+ plugins/Makefile.am    | 1 +
+ shibsp/Makefile.am     | 2 ++
+ util/Makefile.am       | 1 +
+ 7 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/apache/Makefile.am b/apache/Makefile.am
+index 3255d71..1f0d0f7 100644
+--- a/apache/Makefile.am
++++ b/apache/Makefile.am
+@@ -7,6 +7,7 @@ mod_shib_13_la_SOURCES = mod_shib_13.cpp
+ mod_shib_13_la_CXXFLAGS = $(APXS_CFLAGS) -I$(APXS_INCLUDE)
+ mod_shib_13_la_LDFLAGS = -module -avoid-version
+ mod_shib_13_la_CPPFLAGS = \
++  $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_13_la_LIBADD = \
+@@ -22,6 +23,7 @@ mod_shib_20_la_SOURCES = mod_shib_20.cpp
+ mod_shib_20_la_CXXFLAGS = $(APXS2_CFLAGS) -I$(APXS2_INCLUDE)
+ mod_shib_20_la_LDFLAGS = -module -avoid-version
+ mod_shib_20_la_CPPFLAGS = \
++  $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_20_la_LIBADD = \
+@@ -37,6 +39,7 @@ mod_shib_22_la_SOURCES = mod_shib_22.cpp
+ mod_shib_22_la_CXXFLAGS = $(APXS22_CFLAGS) -I$(APXS22_INCLUDE)
+ mod_shib_22_la_LDFLAGS = -module -avoid-version
+ mod_shib_22_la_CPPFLAGS = \
++  $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_22_la_LIBADD = \
+@@ -52,6 +55,7 @@ mod_shib_24_la_SOURCES = mod_shib_24.cpp
+ mod_shib_24_la_CXXFLAGS = $(APXS24_CFLAGS) -I$(APXS24_INCLUDE)
+ mod_shib_24_la_LDFLAGS = -module -avoid-version
+ mod_shib_24_la_CPPFLAGS = \
++  $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_24_la_LIBADD = \
+diff --git a/configure.ac b/configure.ac
+index 8ca84a8..f15cef7 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -137,7 +137,6 @@ BOOST_POINTER_CONTAINER
+ BOOST_SMART_PTR
+ BOOST_STRING_ALGO
+ BOOST_TUPLE
+-CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS"
+ 
+ # Thank you Solaris, really.
+ AC_MSG_CHECKING(for ctime_r)
+diff --git a/nsapi_shib/Makefile.am b/nsapi_shib/Makefile.am
+index 2acd785..01c3a6c 100644
+--- a/nsapi_shib/Makefile.am
++++ b/nsapi_shib/Makefile.am
+@@ -7,6 +7,7 @@ nsapi_shib_la_SOURCES = nsapi_shib.cpp
+ nsapi_shib_la_CXXFLAGS = $(NSAPI_INCLUDE)
+ nsapi_shib_la_LDFLAGS = -module -avoid-version
+ nsapi_shib_la_CPPFLAGS = \
++  $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ nsapi_shib_la_LIBADD = \
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index c4ab5f6..ad94ecc 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -7,6 +7,7 @@ AM_CFLAGS = $(ODBC_CFLAGS)
+ AM_CXXFLAGS = $(ODBC_CFLAGS)
+ 
+ odbc_store_la_CPPFLAGS = \
++	$(BOOST_CPPFLAGS) \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 73ded4e..c360595 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -37,6 +37,7 @@ plugins_lite_la_LIBADD = \
+ plugins_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++	$(BOOST_CPPFLAGS) \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_lite_CFLAGS)
+ 
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 801a849..17d6595 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -241,6 +241,7 @@ libshibsp_la_CPPFLAGS = \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
++    $(BOOST_CPPFLAGS) \
+     $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(xmltooling_LIBS) \
+@@ -251,6 +252,7 @@ libshibsp_lite_la_LIBADD = \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(xmltooling_lite_LIBS)
+ libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++    $(BOOST_CPPFLAGS) \
+     $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(xmltooling_lite_CFLAGS)
+diff --git a/util/Makefile.am b/util/Makefile.am
+index d86fa6e..fb48aa3 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -5,6 +5,7 @@ bin_PROGRAMS = mdquery resolvertest
+ resolvertest_SOURCES = resolvertest.cpp
+ 
+ resolvertest_CPPFLAGS = \
++	$(BOOST_CPPFLAGS) \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
diff --git a/debian/patches/Localize-pthread-library-flags.patch b/debian/patches/Localize-pthread-library-flags.patch
new file mode 100644
index 0000000..c44c473
--- /dev/null
+++ b/debian/patches/Localize-pthread-library-flags.patch
@@ -0,0 +1,206 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 14:58:08 +0200
+Subject: Localize pthread library flags
+
+---
+ apache/Makefile.am         |  8 ++++++++
+ configure.ac               | 13 +++----------
+ memcache-store/Makefile.am |  2 ++
+ nsapi_shib/Makefile.am     |  2 ++
+ odbc-store/Makefile.am     |  2 ++
+ plugins/Makefile.am        |  4 ++++
+ shibd/Makefile.am          |  2 ++
+ shibsp/Makefile.am         |  4 ++++
+ 8 files changed, 27 insertions(+), 10 deletions(-)
+
+diff --git a/apache/Makefile.am b/apache/Makefile.am
+index 4f08b32..3255d71 100644
+--- a/apache/Makefile.am
++++ b/apache/Makefile.am
+@@ -7,9 +7,11 @@ mod_shib_13_la_SOURCES = mod_shib_13.cpp
+ mod_shib_13_la_CXXFLAGS = $(APXS_CFLAGS) -I$(APXS_INCLUDE)
+ mod_shib_13_la_LDFLAGS = -module -avoid-version
+ mod_shib_13_la_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_13_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -20,9 +22,11 @@ mod_shib_20_la_SOURCES = mod_shib_20.cpp
+ mod_shib_20_la_CXXFLAGS = $(APXS2_CFLAGS) -I$(APXS2_INCLUDE)
+ mod_shib_20_la_LDFLAGS = -module -avoid-version
+ mod_shib_20_la_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_20_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -33,9 +37,11 @@ mod_shib_22_la_SOURCES = mod_shib_22.cpp
+ mod_shib_22_la_CXXFLAGS = $(APXS22_CFLAGS) -I$(APXS22_INCLUDE)
+ mod_shib_22_la_LDFLAGS = -module -avoid-version
+ mod_shib_22_la_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_22_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -46,9 +52,11 @@ mod_shib_24_la_SOURCES = mod_shib_24.cpp
+ mod_shib_24_la_CXXFLAGS = $(APXS24_CFLAGS) -I$(APXS24_INCLUDE)
+ mod_shib_24_la_LDFLAGS = -module -avoid-version
+ mod_shib_24_la_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_24_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+diff --git a/configure.ac b/configure.ac
+index 9faaed5..8ca84a8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -94,16 +94,9 @@ if test "$shib_cv_sock_cloexec" = "yes"; then
+ 	AC_DEFINE([HAVE_SOCK_CLOEXEC], 1, [Define if the SOCK_CLOEXEC flag is supported])
+ fi
+ 
+-# checks for pthreads
+-ACX_PTHREAD([enable_threads="pthread"],[enable_threads="no"])
+-if test $enable_threads != "pthread"; then
+-    AC_MSG_ERROR([unable to find pthreads, currently this is required])
+-else
+-    AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])
+-    LIBS="$PTHREAD_LIBS $LIBS"
+-    CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
+-    CXXFLAGS="$PTHREAD_CFLAGS $CXXFLAGS"
+-fi
++ACX_PTHREAD(
++    [AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],
++    [AC_MSG_ERROR([unable to find pthreads, currently this is required])])
+ 
+ # OpenSSL settings
+ AC_ARG_WITH(openssl,
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 1e3d246..279bc73 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -8,8 +8,10 @@ AM_CXXFLAGS = $(MEMCACHED_INCLUDE)
+ 
+ memcache_store_la_LDFLAGS = $(MEMCACHED_LDFLAGS) -module -avoid-version
+ memcache_store_la_CPPFLAGS = \
++	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS) \
++	$(PTHREAD_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ memcache_store_la_SOURCES = \
+diff --git a/nsapi_shib/Makefile.am b/nsapi_shib/Makefile.am
+index 76d8290..2acd785 100644
+--- a/nsapi_shib/Makefile.am
++++ b/nsapi_shib/Makefile.am
+@@ -7,9 +7,11 @@ nsapi_shib_la_SOURCES = nsapi_shib.cpp
+ nsapi_shib_la_CXXFLAGS = $(NSAPI_INCLUDE)
+ nsapi_shib_la_LDFLAGS = -module -avoid-version
+ nsapi_shib_la_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ nsapi_shib_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_lite_LIBS)
+ 
+ install-data-hook:
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index 72b04c4..c4ab5f6 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -7,8 +7,10 @@ AM_CFLAGS = $(ODBC_CFLAGS)
+ AM_CXXFLAGS = $(ODBC_CFLAGS)
+ 
+ odbc_store_la_CPPFLAGS = \
++	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
++	$(PTHREAD_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ odbc_store_la_SOURCES = \
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 7d579fa..73ded4e 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -22,18 +22,22 @@ plugins_lite_la_SOURCES = \
+ 	${common_sources}
+ 
+ plugins_la_CPPFLAGS = \
++	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = $(XMLSEC_LIBS) \
+ 	$(top_builddir)/shibsp/libshibsp.la \
++	$(PTHREAD_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ plugins_lite_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp-lite.la \
++	$(PTHREAD_LIBS) \
+ 	$(xmltooling_lite_LIBS)
+ 
+ plugins_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++	$(PTHREAD_CFLAGS) \
+ 	$(xmltooling_lite_CFLAGS)
+ 
+ install-data-hook:
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 63bc5bf..87f8eb9 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -7,9 +7,11 @@ shibd_SOURCES = shibd.cpp
+ shibd_CXXFLAGS = $(SYSTEMD_CFLAGS)
+ 
+ shibd_CPPFLAGS = \
++  $(PTHREAD_CFLAGS) \
+   $(xmltooling_CFLAGS)
+ shibd_LDADD = $(XMLSEC_LIBS) \
+   $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
++  $(PTHREAD_LIBS) \
+   $(xmltooling_LIBS)
+ 
+ EXTRA_DIST = shibd_win32.cpp resource.h shibd.rc
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 6cd568a..801a849 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -237,17 +237,21 @@ libshibsp_la_SOURCES = \
+ # http://sources.redhat.com/autobook/autobook/autobook_91.html
+ libshibsp_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_la_CPPFLAGS = \
++    $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
++    $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(xmltooling_LIBS) \
+     $(XMLSEC_LIBS)
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_lite_la_LIBADD = \
++    $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(xmltooling_lite_LIBS)
+ libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++    $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(xmltooling_lite_CFLAGS)
+ 
diff --git a/debian/patches/Remove-superfluous-xmlsec-linkages.patch b/debian/patches/Remove-superfluous-xmlsec-linkages.patch
new file mode 100644
index 0000000..56ba48b
--- /dev/null
+++ b/debian/patches/Remove-superfluous-xmlsec-linkages.patch
@@ -0,0 +1,140 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Tue, 19 Jul 2016 00:02:21 +0200
+Subject: Remove superfluous xmlsec linkages
+
+---
+ adfs/Makefile.am           | 2 --
+ memcache-store/Makefile.am | 2 --
+ odbc-store/Makefile.am     | 2 --
+ plugins/Makefile.am        | 2 --
+ shibd/Makefile.am          | 2 --
+ util/Makefile.am           | 4 ----
+ 6 files changed, 14 deletions(-)
+
+diff --git a/adfs/Makefile.am b/adfs/Makefile.am
+index dc75203..5526c02 100644
+--- a/adfs/Makefile.am
++++ b/adfs/Makefile.am
+@@ -5,12 +5,10 @@ plugin_LTLIBRARIES = adfs.la adfs-lite.la
+ 
+ adfs_la_CPPFLAGS = \
+ 	$(opensaml_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ adfs_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(opensaml_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ adfs_la_SOURCES = \
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 268474b..cb2e583 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -11,14 +11,12 @@ memcache_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ memcache_store_la_LIBADD = \
+ 	$(MEMCACHED_LIBS) \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ memcache_store_la_SOURCES = \
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index aabe60b..f58780e 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -11,14 +11,12 @@ odbc_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ odbc_store_la_LIBADD = \
+ 	$(ODBC_LIBS) \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ odbc_store_la_SOURCES = \
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index b7eac7f..2ff4ab1 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -25,14 +25,12 @@ plugins_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ plugins_lite_la_LIBADD = \
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 8597649..09237b5 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -10,14 +10,12 @@ shibd_CPPFLAGS = \
+   $(PTHREAD_CFLAGS) \
+   $(opensaml_CFLAGS) \
+   $(xerces_CFLAGS) \
+-  $(xmlsec_CFLAGS) \
+   $(xmltooling_CFLAGS)
+ shibd_LDADD = \
+   $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
+   $(PTHREAD_LIBS) \
+   $(opensaml_LIBS) \
+   $(xerces_LIBS) \
+-  $(xmlsec_LIBS) \
+   $(xmltooling_LIBS)
+ 
+ EXTRA_DIST = shibd_win32.cpp resource.h shibd.rc
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 7dba8ee..c101240 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -9,14 +9,12 @@ resolvertest_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ mdquery_SOURCES = mdquery.cpp
+@@ -25,14 +23,12 @@ mdquery_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+-	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ mdquery_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ EXTRA_DIST = \
diff --git a/debian/patches/Use-pkg-config-for-GSSAPI.patch b/debian/patches/Use-pkg-config-for-GSSAPI.patch
new file mode 100644
index 0000000..62a355b
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-GSSAPI.patch
@@ -0,0 +1,386 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Tue, 19 Jul 2016 16:54:35 +0200
+Subject: Use pkg-config for GSSAPI
+
+---
+ apache/Makefile.am                     |   6 ++
+ configure.ac                           | 179 ++++-----------------------------
+ plugins/GSSAPIAttributeExtractor.cpp   |   4 +-
+ plugins/Makefile.am                    |   2 +
+ plugins/plugins.cpp                    |   4 +-
+ shibsp/Makefile.am                     |   4 +
+ shibsp/handler/impl/RemotedHandler.cpp |   6 +-
+ 7 files changed, 36 insertions(+), 169 deletions(-)
+
+diff --git a/apache/Makefile.am b/apache/Makefile.am
+index 0ac36f7..e54ad86 100644
+--- a/apache/Makefile.am
++++ b/apache/Makefile.am
+@@ -27,11 +27,13 @@ mod_shib_20_la_LDFLAGS = -module -avoid-version
+ mod_shib_20_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+   $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_20_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(gss_LIBS) $(gnu_gss_LIBS) \
+   $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+@@ -45,11 +47,13 @@ mod_shib_22_la_LDFLAGS = -module -avoid-version
+ mod_shib_22_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+   $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_22_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(gss_LIBS) $(gnu_gss_LIBS) \
+   $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+@@ -63,11 +67,13 @@ mod_shib_24_la_LDFLAGS = -module -avoid-version
+ mod_shib_24_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+   $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_24_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(gss_LIBS) $(gnu_gss_LIBS) \
+   $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+diff --git a/configure.ac b/configure.ac
+index 596e801..c2d2c07 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -947,139 +947,20 @@ if test "$have_odbc_libs" = yes ; then
+    AC_SUBST(ODBC_LIBS)
+ fi
+ 
+-# GSS-API checking
+-
+-GSSAPI_ROOT="/usr"
+-AC_ARG_WITH(gssapi-includes,
+-  AS_HELP_STRING([--with-gssapi-includes=DIR],[Specify location of GSSAPI header]),
+-  [ GSSAPI_INCS="-I$withval"
+-    want_gss="yes" ]
+-)
+-
+-AC_ARG_WITH(gssapi-libs,
+-  AS_HELP_STRING([--with-gssapi-libs=DIR],[Specify location of GSSAPI libs]),
+-  [ GSSAPI_LIB_DIR="-L$withval"
+-    want_gss="yes" ]
+-)
+-
+-AC_ARG_WITH(gssapi,
+-  AS_HELP_STRING([--with-gssapi=DIR],[Where to look for GSSAPI]),
+-  [ GSSAPI_ROOT="$withval"
+-  if test x"$GSSAPI_ROOT" != xno; then
+-    want_gss="yes"
+-    if test x"$GSSAPI_ROOT" = xyes; then
+-      dnl if yes, then use default root
+-      GSSAPI_ROOT="/usr"
+-    fi
+-  fi
+-])
+-
+-save_CPPFLAGS="$CPPFLAGS"
+-AC_MSG_CHECKING([if GSSAPI support is requested])
+-if test x"$want_gss" = xyes; then
+-  AC_MSG_RESULT(yes)
+-
+-  if test -z "$GSSAPI_INCS"; then
+-     if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+-        GSSAPI_INCS=`$GSSAPI_ROOT/bin/krb5-config --cflags gssapi`
+-     elif test "$GSSAPI_ROOT" != "yes"; then
+-        GSSAPI_INCS="-I$GSSAPI_ROOT/include"
+-     fi
+-  fi
+-
+-  CPPFLAGS="$CPPFLAGS $GSSAPI_INCS"
+-
+-  AC_CHECK_HEADER(gss.h,
+-    [
+-      dnl found in the given dirs
+-      AC_DEFINE([SHIBSP_HAVE_GSSGNU],[1],[if you have the GNU gssapi libraries])
+-      gnu_gss=yes
+-    ],
+-    [
+-      dnl not found, check Heimdal or MIT
+-      AC_CHECK_HEADERS([gssapi/gssapi.h], [], [not_mit=1])
+-      AC_CHECK_HEADERS(
+-        [gssapi/gssapi_generic.h gssapi/gssapi_krb5.h],
+-        [],
+-        [not_mit=1],
+-        [
+-AC_INCLUDES_DEFAULT
+-#ifdef HAVE_GSSAPI_GSSAPI_H
+-#include <gssapi/gssapi.h>
+-#endif
+-        ])
+-      if test "x$not_mit" = "x1"; then
+-        dnl MIT not found, check for Heimdal
+-        AC_CHECK_HEADER([gssapi.h],
+-            [
+-              dnl found
+-              AC_DEFINE([SHIBSP_HAVE_GSSHEIMDAL],[1],[if you have the Heimdal gssapi libraries])
+-            ],
+-            [
+-              dnl no header found, disabling GSS
+-              want_gss=no
+-              AC_MSG_WARN([disabling GSSAPI since no header files was found])
+-            ]
+-          )
+-      else
+-        dnl MIT found
+-        AC_DEFINE([SHIBSP_HAVE_GSSMIT],[1],[if you have the MIT gssapi libraries])
+-        dnl check if we have a really old MIT kerberos (<= 1.2)
+-        AC_MSG_CHECKING([if gssapi headers declare GSS_C_NT_HOSTBASED_SERVICE])
+-        AC_COMPILE_IFELSE([
+-          AC_LANG_PROGRAM([[
+-#include <gssapi/gssapi.h>
+-#include <gssapi/gssapi_generic.h>
+-#include <gssapi/gssapi_krb5.h>
+-          ]],[[
+-            gss_import_name(
+-                            (OM_uint32 *)0,
+-                            (gss_buffer_t)0,
+-                            GSS_C_NT_HOSTBASED_SERVICE,
+-                            (gss_name_t *)0);
+-          ]])
+-        ],[
+-          AC_MSG_RESULT([yes])
+-        ],[
+-          AC_MSG_RESULT([no])
+-          AC_DEFINE([HAVE_OLD_GSSMIT],[1],[if you have an old MIT gssapi library, lacking GSS_C_NT_HOSTBASED_SERVICE])
+-        ])
+-      fi
+-    ]
+-  )
+-else
+-  AC_MSG_RESULT(no)
+-fi
+-if test x"$want_gss" = xyes; then
+-  AC_DEFINE([SHIBSP_HAVE_GSSAPI],[1],[if you have the gssapi libraries])
+-
+-  if test -n "$gnu_gss"; then
+-    LDFLAGS="$LDFLAGS $GSSAPI_LIB_DIR"
+-    LIBS="$LIBS -lgss"
+-  else
+-    if test -z "$GSSAPI_LIB_DIR"; then
+-      GSSAPI_LIB_DIR="$GSSAPI_ROOT/lib$libsuff"
+-    fi
+-    if test "$GSSAPI_ROOT" != "yes"; then
+-       LDFLAGS="$LDFLAGS -L$GSSAPI_ROOT/lib$libsuff"
+-    fi
+-    if test -f "$GSSAPI_ROOT/bin/krb5-config"; then
+-      dnl krb5-config doesn't have --libs-only-L or similar, put everything
+-      dnl into LIBS
+-      gss_libs=`$GSSAPI_ROOT/bin/krb5-config --libs gssapi`
+-    else
+-      if test "x$not_mit" = "x1"; then
+-        gss_libs="-lgssapi"
+-      else
+-        gss_libs="-lgssapi_krb5"
+-      fi
+-    fi
+-    LIBS="$LIBS $gss_libs"
+-  fi
+-
+-  AC_MSG_CHECKING([whether GSS-API naming extensions are available])
+-  AC_COMPILE_IFELSE(
+-    [AC_LANG_PROGRAM([[
++AC_ARG_WITH([gssapi],
++  [AS_HELP_STRING([--with-gssapi],[include GSSAPI support])],,[with_gssapi=check])
++AS_IF([test "x$with_gssapi" != xno],
++  [AX_PKG_CHECK_MODULES([gss],,[krb5-gssapi],
++     [PKG_CHECK_VAR([GSS_VENDOR],[krb5-gssapi],[vendor])
++      AS_CASE(["$GSS_VENDOR"],
++        [Heimdal],[AC_DEFINE([SHIBSP_HAVE_GSSHEIMDAL],[1],[if you have the Heimdal gssapi libraries])],
++        [MIT],[AC_DEFINE([SHIBSP_HAVE_GSSMIT],[1],[if you have the MIT gssapi libraries])])],
++     [AX_PKG_CHECK_MODULES([gnu_gss],,[gss],
++        [AC_DEFINE([SHIBSP_HAVE_GSSGNU],[1],[if you have the GNU gssapi libraries])],,
++        [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])],
++     [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
++   AC_DEFINE([SHIBSP_HAVE_GSSAPI],[1],[if you have the gssapi libraries])
++   AC_CHECK_DECLS([gss_get_name_attribute,GSS_C_NT_EXPORT_NAME_COMPOSITE],,,[[
+ #ifdef SHIBSP_HAVE_GSSGNU
+ # include <gss.h>
+ #elif defined SHIBSP_HAVE_GSSMIT
+@@ -1087,35 +968,9 @@ if test x"$want_gss" = xyes; then
+ # include <gssapi/gssapi_ext.h>
+ #else
+ # include <gssapi.h>
+-#endif]],
+-    [[gss_get_name_attribute(NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);]])],
+-    [AC_MSG_RESULT([yes])AC_DEFINE([HAVE_GSSAPI_NAMINGEXTS],[1],[Define to 1 if GSS-API naming extensions are available.])],
+-    [AC_MSG_RESULT([no])])
+-
+-  AC_MSG_CHECKING([whether GSS-API composite name import is available])
+-  AC_COMPILE_IFELSE(
+-    [AC_LANG_PROGRAM([[
+-#ifdef SHIBSP_HAVE_GSSGNU
+-# include <gss.h>
+-#elif defined SHIBSP_HAVE_GSSMIT
+-# include <gssapi/gssapi.h>
+-# include <gssapi/gssapi_ext.h>
+-#else
+-# include <gssapi.h>
+-#endif]],
+-    [[
+-    OM_uint32 minor;
+-    gss_name_t srcname;
+-    gss_buffer_desc importbuf;
+-    gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME_COMPOSITE, &srcname);
+-    ]])],
+-    [AC_MSG_RESULT([yes])AC_DEFINE([HAVE_GSSAPI_COMPOSITE_NAME],[1],[Define to 1 if GSS-API composite name import is available.])],
+-    [AC_MSG_RESULT([no])])
+-    
+-else
+-  CPPFLAGS="$save_CPPFLAGS"
+-fi
+-
++#endif
++]])
++  ])
+ 
+ AC_SUBST(WANT_SUBDIRS)
+ 
+diff --git a/plugins/GSSAPIAttributeExtractor.cpp b/plugins/GSSAPIAttributeExtractor.cpp
+index a405eae..1706baf 100644
+--- a/plugins/GSSAPIAttributeExtractor.cpp
++++ b/plugins/GSSAPIAttributeExtractor.cpp
+@@ -26,7 +26,7 @@
+ 
+ #include "internal.h"
+ 
+-#ifdef HAVE_GSSAPI_NAMINGEXTS
++#if HAVE_DECL_GSS_GET_NAME_ATTRIBUTE
+ 
+ #include <shibsp/exceptions.h>
+ #include <shibsp/Application.h>
+@@ -354,7 +354,7 @@ void GSSAPIExtractor::extractAttributes(
+         importbuf.length = x;
+         importbuf.value = decoded;
+         if (XMLString::equals(xmlObject.getElementQName().getLocalPart(), _GSSAPIName)) {
+-#ifdef HAVE_GSSAPI_COMPOSITE_NAME
++#if HAVE_DECL_GSS_C_NT_EXPORT_NAME_COMPOSITE
+             major = gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME_COMPOSITE, &srcname);
+ #else
+             major = gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME, &srcname);
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 2ff4ab1..a5e9112 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -23,12 +23,14 @@ plugins_lite_la_SOURCES = \
+ 
+ plugins_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
++	$(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(PTHREAD_LIBS) \
++	$(gss_LIBS) $(gnu_gss_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp
+index e212a3d..5235e4b 100644
+--- a/plugins/plugins.cpp
++++ b/plugins/plugins.cpp
+@@ -45,7 +45,7 @@ namespace shibsp {
+     PluginManager< Handler,string,pair<const DOMElement*,const char*> >::Factory AttributeResolverHandlerFactory;
+     
+ #ifndef SHIBSP_LITE
+-# ifdef HAVE_GSSAPI_NAMINGEXTS
++# if HAVE_DECL_GSS_GET_NAME_ATTRIBUTE
+     PluginManager<AttributeExtractor,string,const DOMElement*>::Factory GSSAPIExtractorFactory;
+ # endif
+     PluginManager<AttributeResolver,string,const DOMElement*>::Factory TemplateAttributeResolverFactory;
+@@ -61,7 +61,7 @@ extern "C" int PLUGINS_EXPORTS xmltooling_extension_init(void*)
+     conf.AccessControlManager.registerFactory("Time", TimeAccessControlFactory);
+     conf.HandlerManager.registerFactory("AttributeResolver", AttributeResolverHandlerFactory);
+ #ifndef SHIBSP_LITE
+-# ifdef HAVE_GSSAPI_NAMINGEXTS
++# if HAVE_DECL_GSS_GET_NAME_ATTRIBUTE
+     conf.AttributeExtractorManager.registerFactory("GSSAPI", GSSAPIExtractorFactory);
+     static const XMLCh _GSSAPIName[] = UNICODE_LITERAL_10(G,S,S,A,P,I,N,a,m,e);
+     static const XMLCh _GSSAPIContext[] = UNICODE_LITERAL_13(G,S,S,A,P,I,C,o,n,t,e,x,t);
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 794fb67..4968c16 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -238,6 +238,7 @@ libshibsp_la_SOURCES = \
+ libshibsp_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_la_CPPFLAGS = \
+     $(PTHREAD_CFLAGS) \
++    $(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(opensaml_CFLAGS) \
+     $(xerces_CFLAGS) \
+@@ -246,6 +247,7 @@ libshibsp_la_CPPFLAGS = \
+ libshibsp_la_LIBADD = \
+     $(BOOST_CPPFLAGS) \
+     $(PTHREAD_LIBS) \
++    $(gss_LIBS) $(gnu_gss_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(opensaml_LIBS) \
+     $(xerces_LIBS) \
+@@ -254,12 +256,14 @@ libshibsp_la_LIBADD = \
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_lite_la_LIBADD = \
+     $(PTHREAD_LIBS) \
++    $(gss_LIBS) $(gnu_gss_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(xerces_LIBS) \
+     $(xmltooling_lite_LIBS)
+ libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
+     $(BOOST_CPPFLAGS) \
+     $(PTHREAD_CFLAGS) \
++    $(gss_CFLAGS) $(gnu_gss_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(xerces_CFLAGS) \
+     $(xmltooling_lite_CFLAGS)
+diff --git a/shibsp/handler/impl/RemotedHandler.cpp b/shibsp/handler/impl/RemotedHandler.cpp
+index 529682a..4d0fa18 100644
+--- a/shibsp/handler/impl/RemotedHandler.cpp
++++ b/shibsp/handler/impl/RemotedHandler.cpp
+@@ -45,7 +45,7 @@
+ # include <xsec/framework/XSECProvider.hpp>
+ #endif
+ 
+-#ifdef HAVE_GSSAPI_NAMINGEXTS
++#if HAVE_DECL_GSS_GET_NAME_ATTRIBUTE
+ # ifdef SHIBSP_HAVE_GSSMIT
+ #  include <gssapi/gssapi_ext.h>
+ # endif
+@@ -259,7 +259,7 @@ gss_name_t RemotedRequest::getGSSName() const
+             importbuf.length = x;
+             importbuf.value = decoded;
+             OM_uint32 major,minor;
+-#ifdef HAVE_GSSAPI_COMPOSITE_NAME
++#if HAVE_DECL_GSS_C_NT_EXPORT_NAME_COMPOSITE
+             major = gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME_COMPOSITE, &m_gssname);
+ #else
+             major = gss_import_name(&minor, &importbuf, GSS_C_NT_EXPORT_NAME, &m_gssname);
+@@ -443,7 +443,7 @@ DDF RemotedHandler::wrap(const SPRequest& request, const vector<string>* headers
+                 request.log(SPRequest::SPError, "error while exporting GSS context");
+             }
+         }
+-#ifdef HAVE_GSSAPI_NAMINGEXTS
++#if HAVE_DECL_GSS_GET_NAME_ATTRIBUTE
+         else {
+             gss_name_t name = gss->getGSSName();
+             if (name != GSS_C_NO_NAME) {
diff --git a/debian/patches/Use-pkg-config-for-OpenSAML.patch b/debian/patches/Use-pkg-config-for-OpenSAML.patch
new file mode 100644
index 0000000..dd677ec
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-OpenSAML.patch
@@ -0,0 +1,216 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 15:31:44 +0200
+Subject: Use pkg-config for OpenSAML
+
+---
+ adfs/Makefile.am           |  2 ++
+ configure.ac               | 53 +++-------------------------------------------
+ memcache-store/Makefile.am |  2 ++
+ odbc-store/Makefile.am     |  2 ++
+ plugins/Makefile.am        |  2 ++
+ shibd/Makefile.am          |  2 ++
+ shibsp/Makefile.am         |  2 ++
+ util/Makefile.am           |  4 ++++
+ 8 files changed, 19 insertions(+), 50 deletions(-)
+
+diff --git a/adfs/Makefile.am b/adfs/Makefile.am
+index 3512c09..2245da7 100644
+--- a/adfs/Makefile.am
++++ b/adfs/Makefile.am
+@@ -4,9 +4,11 @@ plugindir = $(libdir)/@PACKAGE_NAME@
+ plugin_LTLIBRARIES = adfs.la adfs-lite.la
+ 
+ adfs_la_CPPFLAGS = \
++	$(opensaml_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ adfs_la_LIBADD = $(XMLSEC_LIBS) \
+ 	$(top_builddir)/shibsp/libshibsp.la \
++	$(opensaml_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ adfs_la_SOURCES = \
+diff --git a/configure.ac b/configure.ac
+index f428783..a8e8832 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -221,56 +221,9 @@ DX_INCLUDE="$DX_INCLUDE $xmltooling_includedir"
+ AX_PKG_CHECK_MODULES([xmltooling_lite],,[xmltooling-lite],,,
+     [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
+ 
+-# OpenSAML settings
+-AC_ARG_WITH(saml,
+-    AS_HELP_STRING([--with-saml=PATH],[where opensaml is installed]),,
+-    [with_saml=/usr])
+-if test x_$with_saml != x_/usr; then
+-    CPPFLAGS="-I${with_saml}/include $CPPFLAGS"
+-    DX_INCLUDE="$DX_INCLUDE ${with_saml}/include"
+-    XMLSEC_LIBS="-L${with_saml}/lib -lsaml $XMLSEC_LIBS"
+-else
+-    XMLSEC_LIBS="-lsaml $XMLSEC_LIBS"
+-fi
+-
+-# save and append master libs
+-save_LIBS="$LIBS"
+-LIBS="$XMLSEC_LIBS $LIBS"
+-
+-AC_CHECK_HEADER([saml/saml2/metadata/Metadata.h],,AC_MSG_ERROR([unable to find OpenSAML header files]))
+-AC_LINK_IFELSE(
+-    [AC_LANG_PROGRAM([[#include <saml/SAMLConfig.h>
+-#include <saml/version.h>]],
+-[[#if _OPENSAML_VERSION >= 20500
+-opensaml::SAMLConfig::getConfig();
+-#else
+-#error Need OpenSAML version 2.5 or higher
+-#endif]])],
+-    ,[AC_MSG_ERROR([unable to link with OpenSAML, or version was too old])
+-	])
+-
+-# restore master libs
+-LIBS="$save_LIBS"
+-
+-# Establish location of opensaml catalogs.
+-OPENSAMLXMLDIR=""
+-if test "x$with_saml" = "x" ; then
+-    with_saml="/usr"
+-fi
+-if test -f $with_saml/share/xml/opensaml/saml20-catalog.xml ; then
+-    OPENSAMLXMLDIR="$with_saml"
+-elif test -f $with_xmltooling/share/xml/opensaml/saml20-catalog.xml ; then
+-    OPENSAMLXMLDIR="$with_xmltooling"
+-elif test -f $with_xerces/share/xml/opensaml/saml20-catalog.xml ; then
+-    OPENSAMLXMLDIR="$with_xerces"
+-elif test -f $with_log4shib/share/xml/opensaml/saml20-catalog.xml ; then
+-    OPENSAMLXMLDIR="$with_log4shib"
+-fi
+-if test "x$OPENSAMLXMLDIR" = "x" ; then
+-    AC_MSG_ERROR([opensaml XML catalogs not found, may need to use --with-saml option])
+-fi
+-OPENSAMLXMLDIR="$OPENSAMLXMLDIR/share/xml/opensaml"
+-AC_SUBST(OPENSAMLXMLDIR)
++AX_PKG_CHECK_MODULES([opensaml],,[opensaml >= 2.5],,,
++    [SHIBSP_REQUIRES],[SHIBSP_REQUIRES_PRIVATE])
++PKG_CHECK_VAR([OPENSAMLXMLDIR],[opensaml],[pkgxmldir])
+ 
+ AC_SUBST(XMLSEC_LIBS)
+ 
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 03b8c98..653a91a 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -9,10 +9,12 @@ AM_CXXFLAGS = $(MEMCACHED_INCLUDE)
+ memcache_store_la_LDFLAGS = $(MEMCACHED_LDFLAGS) -module -avoid-version
+ memcache_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
++	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS) \
+ 	$(PTHREAD_LIBS) \
++	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index 7dee04e..a216ab6 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -9,10 +9,12 @@ AM_CXXFLAGS = $(ODBC_CFLAGS)
+ odbc_store_la_CPPFLAGS = \
+ 	$(BOOST_CPPFLAGS) \
+ 	$(PTHREAD_CFLAGS) \
++	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
+ 	$(PTHREAD_LIBS) \
++	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 5ec44fe..c777ec3 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -23,11 +23,13 @@ plugins_lite_la_SOURCES = \
+ 
+ plugins_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
++	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = $(XMLSEC_LIBS) \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(PTHREAD_LIBS) \
++	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 8efd00d..5485628 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -8,11 +8,13 @@ shibd_CXXFLAGS = $(SYSTEMD_CFLAGS)
+ 
+ shibd_CPPFLAGS = \
+   $(PTHREAD_CFLAGS) \
++  $(opensaml_CFLAGS) \
+   $(xerces_CFLAGS) \
+   $(xmltooling_CFLAGS)
+ shibd_LDADD = $(XMLSEC_LIBS) \
+   $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
+   $(PTHREAD_LIBS) \
++  $(opensaml_LIBS) \
+   $(xerces_LIBS) \
+   $(xmltooling_LIBS)
+ 
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 5767fd0..39e19a4 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -239,12 +239,14 @@ libshibsp_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_la_CPPFLAGS = \
+     $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++    $(opensaml_CFLAGS) \
+     $(xerces_CFLAGS) \
+     $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
+     $(BOOST_CPPFLAGS) \
+     $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(opensaml_LIBS) \
+     $(xerces_LIBS) \
+     $(xmltooling_LIBS) \
+     $(XMLSEC_LIBS)
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 321ad02..1b79a5a 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -7,11 +7,13 @@ resolvertest_SOURCES = resolvertest.cpp
+ resolvertest_CPPFLAGS = \
+ 	$(BOOST_CPPFLAGS) \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
+@@ -20,11 +22,13 @@ mdquery_SOURCES = mdquery.cpp
+ 
+ mdquery_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ mdquery_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
diff --git a/debian/patches/Use-pkg-config-for-Xerces.patch b/debian/patches/Use-pkg-config-for-Xerces.patch
new file mode 100644
index 0000000..a37eb07
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-Xerces.patch
@@ -0,0 +1,448 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 15:23:04 +0200
+Subject: Use pkg-config for Xerces
+
+---
+ apache/Makefile.am         |  8 ++++++
+ configure.ac               | 33 ++++++---------------
+ fastcgi/Makefile.am        |  4 +++
+ m4/ax_restore_flags.m4     | 52 +++++++++++++++++++++++++++++++++
+ m4/ax_save_flags.m4        | 71 ++++++++++++++++++++++++++++++++++++++++++++++
+ memcache-store/Makefile.am |  2 ++
+ nsapi_shib/Makefile.am     |  2 ++
+ odbc-store/Makefile.am     |  2 ++
+ plugins/Makefile.am        |  4 +++
+ shibd/Makefile.am          |  2 ++
+ shibsp/Makefile.am         |  4 +++
+ util/Makefile.am           |  4 +++
+ 12 files changed, 163 insertions(+), 25 deletions(-)
+ create mode 100644 m4/ax_restore_flags.m4
+ create mode 100644 m4/ax_save_flags.m4
+
+diff --git a/apache/Makefile.am b/apache/Makefile.am
+index 1f0d0f7..0ac36f7 100644
+--- a/apache/Makefile.am
++++ b/apache/Makefile.am
+@@ -9,10 +9,12 @@ mod_shib_13_la_LDFLAGS = -module -avoid-version
+ mod_shib_13_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_13_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -25,10 +27,12 @@ mod_shib_20_la_LDFLAGS = -module -avoid-version
+ mod_shib_20_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_20_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -41,10 +45,12 @@ mod_shib_22_la_LDFLAGS = -module -avoid-version
+ mod_shib_22_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_22_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+@@ -57,10 +63,12 @@ mod_shib_24_la_LDFLAGS = -module -avoid-version
+ mod_shib_24_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ mod_shib_24_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ endif
+ 
+diff --git a/configure.ac b/configure.ac
+index cdc8aa9..f428783 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -143,31 +143,12 @@ AX_PKG_CHECK_MODULES([log4shib],,[log4shib],
+         [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])],,
+     [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
+ 
+-# Xerces settings
+-AC_ARG_WITH(xerces,
+-    AS_HELP_STRING([--with-xerces=PATH],[where xerces-c is installed]),,
+-    [with_xerces=/usr])
+-if test x_$with_xerces != x_/usr; then
+-    CPPFLAGS="-I${with_xerces}/include $CPPFLAGS"
+-    LIBS="-L${with_xerces}/lib -lxerces-c $LIBS"
+-else
+-    LIBS="-lxerces-c $LIBS"
+-fi
+-
+-AC_CHECK_HEADER([xercesc/dom/DOM.hpp],,AC_MSG_ERROR([unable to find xerces header files]))
+-AC_MSG_CHECKING([Xerces version])
+-AC_PREPROC_IFELSE(
+-    [AC_LANG_PROGRAM([#include <xercesc/util/XercesVersion.hpp>],
+-[#if  _XERCES_VERSION >= 20700
+-int i = 0;
+-#else
+-#error version 2.7.0 or above required
+-#endif])],
+-    [AC_MSG_RESULT(OK)],
+-    [AC_MSG_FAILURE([Xerces-C v2.7.0 or higher is required, v3.x preferred])])
+-AC_LINK_IFELSE(
+-    [AC_LANG_PROGRAM([[#include <xercesc/util/PlatformUtils.hpp>]],[[xercesc::XMLPlatformUtils::Initialize()]])],
+-    ,[AC_MSG_ERROR([unable to link with Xerces])])
++# Xerces-C v2.7.0 or higher is required, v3.x preferred
++AX_PKG_CHECK_MODULES([xerces],,[xerces-c != 2.7.0],,,
++    [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
++AX_SAVE_FLAGS
++CPPFLAGS="$xerces_CFLAGS $CPPFLAGS"
++LIBS="$xerces_LIBS $LIBS"
+ 
+ AC_MSG_CHECKING([whether Xerces XMLString::release(XMLByte**) exists])
+ AC_COMPILE_IFELSE(
+@@ -191,6 +172,8 @@ AC_COMPILE_IFELSE(
+     [AC_MSG_RESULT([yes])AC_DEFINE([SHIBSP_XERCESC_SHORT_ACCEPTNODE],[1],[Define to 1 if Xerces DOMNodeFilter API returns a short.])],
+     [AC_MSG_RESULT([no])])
+ 
++AX_RESTORE_FLAGS
++
+ # XML-Security settings
+ AC_ARG_WITH(xmlsec,
+     AS_HELP_STRING([--with-xmlsec=PATH],[where xmlsec is installed]),,
+diff --git a/fastcgi/Makefile.am b/fastcgi/Makefile.am
+index 44bb456..d294641 100644
+--- a/fastcgi/Makefile.am
++++ b/fastcgi/Makefile.am
+@@ -10,18 +10,22 @@ shibauthorizer_SOURCES = shibauthorizer.cpp
+ shibauthorizer_CXXFLAGS = $(FASTCGI_INCLUDE)
+ shibauthorizer_LDFLAGS = $(FASTCGI_LDFLAGS)
+ shibauthorizer_CPPFLAGS = \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ shibauthorizer_LDADD = $(FASTCGI_LIBS) \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ 
+ shibresponder_SOURCES = shibresponder.cpp
+ shibresponder_CXXFLAGS = $(FASTCGI_INCLUDE)
+ shibresponder_LDFLAGS = $(FASTCGI_LDFLAGS)
+ shibresponder_CPPFLAGS = \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ shibresponder_LDADD = $(FASTCGI_LIBS) \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ 
+ endif
+diff --git a/m4/ax_restore_flags.m4 b/m4/ax_restore_flags.m4
+new file mode 100644
+index 0000000..aafd363
+--- /dev/null
++++ b/m4/ax_restore_flags.m4
+@@ -0,0 +1,52 @@
++# ===========================================================================
++#     http://www.gnu.org/software/autoconf-archive/ax_restore_flags.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_RESTORE_FLAGS([namespace])
++#
++# DESCRIPTION
++#
++#   Restore common compilation flags from temporary variables.
++#
++#   Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS,
++#   OBJCFLAGS.
++#
++#   By default these flags are restored to a global (empty) namespace, but
++#   user could restore from specific NAMESPACE by using
++#   AX_RESTORE_FLAGS(NAMESPACE) macro.
++#
++#   Typical usage is like:
++#
++#     AX_SAVE_FLAGS(mypackage)
++#     CPPFLAGS="-Imypackagespath ${CPPFLAGS}"
++#     dnl ... do some detection ...
++#     AX_RESTORE_FLAGS(mypackage)
++#
++# LICENSE
++#
++#   Copyright (c) 2009 Filippo Giunchedi <filippo at esaurito.net>
++#   Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University
++#   Copyright (c) 2011 Russ Allbery <rra at stanford.edu>
++#   Copyright (c) 2013 Bastien ROUCARIES <roucaries.bastien+autoconf at gmail.com>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 6
++
++# save one flag in name space
++AC_DEFUN([_AX_RESTORE_ONE_FLAG],[dnl
++  AS_VAR_PUSHDEF([_ax_restore_flag_var], [$2[]_$1[]_ax_save_flags])
++  AS_VAR_COPY($2[],_ax_restore_flag_var)
++  AS_VAR_POPDEF([_ax_restore_flag_var])
++])
++
++AC_DEFUN([AX_RESTORE_FLAGS], [dnl
++   m4_foreach([FLAG], dnl
++	      [_AX_SAVE_FLAGS_LIST()], dnl
++	      [_AX_RESTORE_ONE_FLAG([$1],FLAG)])
++])
+diff --git a/m4/ax_save_flags.m4 b/m4/ax_save_flags.m4
+new file mode 100644
+index 0000000..39f45be
+--- /dev/null
++++ b/m4/ax_save_flags.m4
+@@ -0,0 +1,71 @@
++# ===========================================================================
++#       http://www.gnu.org/software/autoconf-archive/ax_save_flags.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_SAVE_FLAGS([NAMESPACE])
++#
++# DESCRIPTION
++#
++#   Save common compilation flags into temporary variables.
++#
++#   Compilation flags includes: CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, LIBS,
++#   OBJCFLAGS.
++#
++#   By default these flags are saved to a global (empty) namespace, but user
++#   could specify a specific NAMESPACE to AX_SAVE_FLAGS macro and latter
++#   restore it by using AX_RESTORE_FLAGS(NAMESPACE).
++#
++#     AX_SAVE_FLAGS(mypackage)
++#     CPPFLAGS="-Imypackagespath ${CPPFLAGS}"
++#     dnl .. do some detection ...
++#     AX_RESTORE_FLAGS(mypackage)
++#
++# LICENSE
++#
++#   Copyright (c) 2009 Filippo Giunchedi <filippo at esaurito.net>
++#   Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University
++#   Copyright (c) 2011 Russ Allbery <rra at stanford.edu>
++#   Copyright (c) 2013 Bastien ROUCARIES <roucaries.bastien+autoconf at gmail.com>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 7
++
++# list of flag to save
++AC_DEFUN([_AX_SAVE_FLAGS_LIST],[dnl
++[CCASFLAGS],dnl
++[CFLAGS],dnl
++[CPPFLAGS],dnl
++[CXXFLAGS],dnl
++[ERLCFLAGS],dnl
++[FCFLAGS],dnl
++[FCLIBS],dnl
++[FFLAGS],dnl
++[FLIBS],dnl
++[GCJFLAGS],dnl
++[JAVACFLAGS],dnl
++[LDFLAGS],dnl
++[LIBS],dnl
++[OBJCFLAGS],dnl
++[OBJCXXFLAGS],dnl
++[UPCFLAGS],dnl
++[VALAFLAGS]dnl
++])
++
++# save one flag in name space
++AC_DEFUN([_AX_SAVE_ONE_FLAG],[
++  AS_VAR_PUSHDEF([_ax_save_flag_var], [$2[]_$1[]_ax_save_flags])
++  AS_VAR_COPY(_ax_save_flag_var, $2[])
++  AS_VAR_POPDEF([_ax_save_flag_var])
++])
++
++AC_DEFUN([AX_SAVE_FLAGS],[dnl
++   m4_foreach([FLAG], dnl
++	      [_AX_SAVE_FLAGS_LIST()], dnl
++	      [_AX_SAVE_ONE_FLAG([$1],FLAG)])
++])
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 279bc73..03b8c98 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -9,9 +9,11 @@ AM_CXXFLAGS = $(MEMCACHED_INCLUDE)
+ memcache_store_la_LDFLAGS = $(MEMCACHED_LDFLAGS) -module -avoid-version
+ memcache_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS) \
+ 	$(PTHREAD_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ memcache_store_la_SOURCES = \
+diff --git a/nsapi_shib/Makefile.am b/nsapi_shib/Makefile.am
+index 01c3a6c..0ccdb0a 100644
+--- a/nsapi_shib/Makefile.am
++++ b/nsapi_shib/Makefile.am
+@@ -9,10 +9,12 @@ nsapi_shib_la_LDFLAGS = -module -avoid-version
+ nsapi_shib_la_CPPFLAGS = \
+   $(BOOST_CPPFLAGS) \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_lite_CFLAGS)
+ nsapi_shib_la_LIBADD = \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_lite_LIBS)
+ 
+ install-data-hook:
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index ad94ecc..7dee04e 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -9,9 +9,11 @@ AM_CXXFLAGS = $(ODBC_CFLAGS)
+ odbc_store_la_CPPFLAGS = \
+ 	$(BOOST_CPPFLAGS) \
+ 	$(PTHREAD_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
+ 	$(PTHREAD_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ odbc_store_la_SOURCES = \
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index c360595..5ec44fe 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -23,15 +23,18 @@ plugins_lite_la_SOURCES = \
+ 
+ plugins_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = $(XMLSEC_LIBS) \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(PTHREAD_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ plugins_lite_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp-lite.la \
+ 	$(PTHREAD_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_lite_LIBS)
+ 
+ plugins_la_LDFLAGS = -module -avoid-version
+@@ -39,6 +42,7 @@ plugins_lite_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_CPPFLAGS = -DSHIBSP_LITE \
+ 	$(BOOST_CPPFLAGS) \
+ 	$(PTHREAD_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_lite_CFLAGS)
+ 
+ install-data-hook:
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 87f8eb9..8efd00d 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -8,10 +8,12 @@ shibd_CXXFLAGS = $(SYSTEMD_CFLAGS)
+ 
+ shibd_CPPFLAGS = \
+   $(PTHREAD_CFLAGS) \
++  $(xerces_CFLAGS) \
+   $(xmltooling_CFLAGS)
+ shibd_LDADD = $(XMLSEC_LIBS) \
+   $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
+   $(PTHREAD_LIBS) \
++  $(xerces_LIBS) \
+   $(xmltooling_LIBS)
+ 
+ EXTRA_DIST = shibd_win32.cpp resource.h shibd.rc
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 17d6595..5767fd0 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -239,22 +239,26 @@ libshibsp_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_la_CPPFLAGS = \
+     $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++    $(xerces_CFLAGS) \
+     $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
+     $(BOOST_CPPFLAGS) \
+     $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(xerces_LIBS) \
+     $(xmltooling_LIBS) \
+     $(XMLSEC_LIBS)
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_lite_la_LIBADD = \
+     $(PTHREAD_LIBS) \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(xerces_LIBS) \
+     $(xmltooling_lite_LIBS)
+ libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
+     $(BOOST_CPPFLAGS) \
+     $(PTHREAD_CFLAGS) \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++    $(xerces_CFLAGS) \
+     $(xmltooling_lite_CFLAGS)
+ 
+ pkgsysconfdir = $(sysconfdir)/@PACKAGE_NAME@
+diff --git a/util/Makefile.am b/util/Makefile.am
+index fb48aa3..321ad02 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -7,10 +7,12 @@ resolvertest_SOURCES = resolvertest.cpp
+ resolvertest_CPPFLAGS = \
+ 	$(BOOST_CPPFLAGS) \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
+ 
+@@ -18,10 +20,12 @@ mdquery_SOURCES = mdquery.cpp
+ 
+ mdquery_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(xerces_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ mdquery_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(xerces_LIBS) \
+ 	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
+ 
diff --git a/debian/patches/Use-pkg-config-for-log4shib-log4cpp.patch b/debian/patches/Use-pkg-config-for-log4shib-log4cpp.patch
new file mode 100644
index 0000000..d5dc383
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-log4shib-log4cpp.patch
@@ -0,0 +1,135 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 12:29:22 +0200
+Subject: Use pkg-config for log4shib/log4cpp
+
+---
+ configure.ac       | 55 ++++++------------------------------------------------
+ shibsp/Makefile.am | 13 ++++++++++---
+ util/Makefile.am   | 23 ++++++++++++-----------
+ 3 files changed, 28 insertions(+), 63 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5cc7dd2..d633bf5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -168,55 +168,12 @@ else
+     AC_MSG_RESULT([yes, and it takes $ac_cv_ctime_args arguments])
+ fi 
+ 
+-# log4shib settings (favor this version over the log4cpp code)
+-AC_PATH_PROG(LOG4SHIB_CONFIG,log4shib-config)
+-AC_ARG_WITH(log4shib,
+-    AS_HELP_STRING([--with-log4shib=PATH],[where log4shib-config is installed]),
+-    [
+-    LOG4SHIB_CONFIG="${with_log4shib}"
+-    if ! test -f "${LOG4SHIB_CONFIG}"; then
+-        LOG4SHIB_CONFIG="${with_log4shib}/bin/log4shib-config"
+-    fi
+-    ])
+-if test -f "${LOG4SHIB_CONFIG}" ; then
+-    LIBS="`${LOG4SHIB_CONFIG} --libs` $LIBS"
+-    CPPFLAGS="`${LOG4SHIB_CONFIG} --cflags` $CPPFLAGS"
+-    AC_CHECK_HEADER([log4shib/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4shib header files]))
+-    AC_LINK_IFELSE(
+-        [AC_LANG_PROGRAM([[#include <log4shib/Category.hh>
+-#include <log4shib/CategoryStream.hh>]],
+-            [[log4shib::Category::getInstance("foo").errorStream() << log4shib::eol]])],
+-        [AC_DEFINE([SHIBSP_LOG4SHIB],[1],[Define to 1 if log4shib library is used.])],
+-        [AC_MSG_ERROR([unable to link with log4shib])])
+-else
+-    AC_MSG_WARN([log4shib-config not found, may need to use --with-log4shib option])
+-    AC_MSG_WARN([will look for original log4cpp library])
+-    
+-    # log4cpp settings
+-    AC_PATH_PROG(LOG4CPP_CONFIG,log4cpp-config)
+-    AC_ARG_WITH(log4cpp,
+-        AS_HELP_STRING([--with-log4cpp=PATH],[where log4cpp-config is installed]),
+-        [
+-        LOG4CPP_CONFIG="${with_log4cpp}"
+-        if ! test -f "${LOG4CPP_CONFIG}"; then
+-            LOG4CPP_CONFIG="${with_log4cpp}/bin/log4cpp-config"
+-        fi
+-        ])
+-    if test -f "${LOG4CPP_CONFIG}"; then
+-        AC_MSG_WARN([will try to use log4cpp, note that most non-Internet2 supplied versions are not thread-safe])
+-        LIBS="`${LOG4CPP_CONFIG} --libs` $LIBS"
+-        CPPFLAGS="`${LOG4CPP_CONFIG} --cflags` $CPPFLAGS"
+-        AC_CHECK_HEADER([log4cpp/CategoryStream.hh],,AC_MSG_ERROR([unable to find log4cpp header files]))
+-        AC_LINK_IFELSE(
+-            [AC_LANG_PROGRAM([[#include <log4cpp/Category.hh>
+-#include <log4cpp/CategoryStream.hh>]],
+-                [[log4cpp::Category::getInstance("foo").errorStream() << log4cpp::eol]])],
+-            [AC_DEFINE([SHIBSP_LOG4CPP],[1],[Define to 1 if log4cpp library is used.])],
+-            [AC_MSG_ERROR([unable to link with log4cpp, need version 1.0 or later])])
+-    else
+-        AC_MSG_ERROR([log4cpp-config not found, may need to use --with-log4cpp option])
+-    fi
+-fi
++AX_PKG_CHECK_MODULES([log4shib],,[log4shib],
++    [AC_DEFINE([SHIBSP_LOG4SHIB],[1],[Define to 1 if log4shib library is used.])],
++    [AX_PKG_CHECK_MODULES([log4cpp],,[log4cpp],
++        [AC_DEFINE([SHIBSP_LOG4CPP],[1],[Define to 1 if log4cpp library is used.])],,
++        [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])],,
++    [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
+ 
+ # Xerces settings
+ AC_ARG_WITH(xerces,
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index fb8b6fc..c1d2ff3 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -236,10 +236,17 @@ libshibsp_la_SOURCES = \
+ # this is different from the project version
+ # http://sources.redhat.com/autobook/autobook/autobook_91.html
+ libshibsp_la_LDFLAGS = -version-info 7:0:0
+-libshibsp_la_LIBADD = $(XMLSEC_LIBS)
++libshibsp_la_CPPFLAGS = \
++    $(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++libshibsp_la_LIBADD = \
++    $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(XMLSEC_LIBS)
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+-libshibsp_lite_la_LIBADD = $(LITE_LIBS)
+-libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE
++libshibsp_lite_la_LIBADD = \
++    $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(LITE_LIBS)
++libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++    $(log4shib_CFLAGS) $(log4cpp_CFLAGS)
+ 
+ pkgsysconfdir = $(sysconfdir)/@PACKAGE_NAME@
+ pkgxmldir = $(datadir)/xml/@PACKAGE_NAME@
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 1306a7b..2a66f40 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -4,17 +4,18 @@ bin_PROGRAMS = mdquery resolvertest
+ 
+ resolvertest_SOURCES = resolvertest.cpp
+ 
+-resolvertest_LDADD = $(XMLSEC_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp.la
++resolvertest_CPPFLAGS = \
++	$(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++resolvertest_LDADD = \
++	$(top_builddir)/shibsp/libshibsp.la \
++	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(XMLSEC_LIBS)
+ 
+ mdquery_SOURCES = mdquery.cpp
+ 
+-mdquery_LDADD = $(XMLSEC_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp.la
+-
+-EXTRA_DIST = \
+-	resource.h \
+-	mdquery.rc \
+-	resolvertest.rc \
+-	messageResource.rc \
+-	message.mc
++mdquery_CPPFLAGS = \
++	$(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++mdquery_LDADD = \
++	$(top_builddir)/shibsp/libshibsp.la \
++	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(XMLSEC_LIBS)
diff --git a/debian/patches/Use-pkg-config-for-xmlsec.patch b/debian/patches/Use-pkg-config-for-xmlsec.patch
new file mode 100644
index 0000000..41160c5
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-xmlsec.patch
@@ -0,0 +1,239 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 15:41:43 +0200
+Subject: Use pkg-config for xmlsec
+
+---
+ adfs/Makefile.am           |  4 +++-
+ configure.ac               | 40 ++++++----------------------------------
+ memcache-store/Makefile.am |  5 ++++-
+ odbc-store/Makefile.am     |  5 ++++-
+ plugins/Makefile.am        |  4 +++-
+ shibd/Makefile.am          |  4 +++-
+ shibsp/Makefile.am         |  5 +++--
+ util/Makefile.am           | 10 ++++++----
+ 8 files changed, 32 insertions(+), 45 deletions(-)
+
+diff --git a/adfs/Makefile.am b/adfs/Makefile.am
+index 2245da7..dc75203 100644
+--- a/adfs/Makefile.am
++++ b/adfs/Makefile.am
+@@ -5,10 +5,12 @@ plugin_LTLIBRARIES = adfs.la adfs-lite.la
+ 
+ adfs_la_CPPFLAGS = \
+ 	$(opensaml_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+-adfs_la_LIBADD = $(XMLSEC_LIBS) \
++adfs_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(opensaml_LIBS) \
++	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ adfs_la_SOURCES = \
+diff --git a/configure.ac b/configure.ac
+index a8e8832..596e801 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -174,43 +174,17 @@ AC_COMPILE_IFELSE(
+ 
+ AX_RESTORE_FLAGS
+ 
+-# XML-Security settings
+-AC_ARG_WITH(xmlsec,
+-    AS_HELP_STRING([--with-xmlsec=PATH],[where xmlsec is installed]),,
+-    [with_xmlsec=/usr])
+-if test x_$with_xmlsec != x_/usr; then
+-    CPPFLAGS="-I${with_xmlsec}/include $CPPFLAGS"
+-    XMLSEC_LIBS="-L${with_xmlsec}/lib -lxml-security-c $XMLSEC_LIBS"
+-else
+-    XMLSEC_LIBS="-lxml-security-c $XMLSEC_LIBS"
+-fi
+-
+-# save and append master libs
+-save_LIBS="$LIBS"
+-LIBS="$XMLSEC_LIBS $LIBS"
+-
+-AC_CHECK_HEADER([xsec/utils/XSECPlatformUtils.hpp],,AC_MSG_ERROR([unable to find XML-Security-C header files]))
+-AC_MSG_CHECKING([XML-Security-C version])
+-AC_PREPROC_IFELSE(
+-    [AC_LANG_PROGRAM([#include <xsec/utils/XSECPlatformUtils.hpp>],
+-    [#if XSEC_VERSION_MAJOR > 1 || (XSEC_VERSION_MAJOR == 1 && XSEC_VERSION_MEDIUM > 3)
+-int i = 0;
+-#else
+-#error need version 1.4.0 or later
+-#endif])],
+-    [AC_MSG_RESULT(OK)],
+-    [AC_MSG_FAILURE([XML-Security-C version 1.4.0 or greater is required.])])
+-AC_LINK_IFELSE(
+-    [AC_LANG_PROGRAM([[#include <xsec/utils/XSECPlatformUtils.hpp>]],
+-        [[XSECPlatformUtils::Initialise()]])],,
+-    [AC_MSG_ERROR([unable to link with XML-Security])])
++AX_PKG_CHECK_MODULES([xmlsec],,[xml-security-c >= 1.4],,,
++    [SHIBSP_REQUIRES],[SHIBSP_REQUIRES_PRIVATE])
++AX_SAVE_FLAGS
++CPPFLAGS="$xmlsec_CFLAGS $CPPFLAGS"
++LIBS="$xmlsec_LIBS $LIBS"
+ 
+ AC_MSG_CHECKING([whether XML-Security-C supports white/blacklisting of algorithms])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xsec/framework/XSECAlgorithmMapper.hpp>]], [[XSECAlgorithmMapper* mapper; mapper->whitelistAlgorithm(NULL);]])],[AC_MSG_RESULT([yes])
+       AC_DEFINE([SHIBSP_XMLSEC_WHITELISTING],[1],[Define to 1 if XML-Security-C supports white/blacklisting algorithms.])],[AC_MSG_RESULT([no])])
+ 
+-# restore master libs
+-LIBS="$save_LIBS"
++AX_RESTORE_FLAGS
+ 
+ AX_PKG_CHECK_MODULES([xmltooling],,[xmltooling >= 1.5.0],,,
+     [SHIBSP_REQUIRES],[SHIBSP_REQUIRES_PRIVATE])
+@@ -225,8 +199,6 @@ AX_PKG_CHECK_MODULES([opensaml],,[opensaml >= 2.5],,,
+     [SHIBSP_REQUIRES],[SHIBSP_REQUIRES_PRIVATE])
+ PKG_CHECK_VAR([OPENSAMLXMLDIR],[opensaml],[pkgxmldir])
+ 
+-AC_SUBST(XMLSEC_LIBS)
+-
+ # output the underlying makefiles
+ WANT_SUBDIRS="doc schemas configs shibsp plugins shibd util"
+ AC_CONFIG_FILES([Makefile doc/Makefile schemas/Makefile \
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 653a91a..268474b 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -11,11 +11,14 @@ memcache_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+-memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS) \
++memcache_store_la_LIBADD = \
++	$(MEMCACHED_LIBS) \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
++	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ memcache_store_la_SOURCES = \
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index a216ab6..aabe60b 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -11,11 +11,14 @@ odbc_store_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+-odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
++odbc_store_la_LIBADD = \
++	$(ODBC_LIBS) \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
++	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ odbc_store_la_SOURCES = \
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index c777ec3..b7eac7f 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -25,12 +25,14 @@ plugins_la_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+-plugins_la_LIBADD = $(XMLSEC_LIBS) \
++plugins_la_LIBADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(PTHREAD_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
++	$(xmlsec_LIBS) \
+ 	$(xmltooling_LIBS)
+ 
+ plugins_lite_la_LIBADD = \
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 5485628..8597649 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -10,12 +10,14 @@ shibd_CPPFLAGS = \
+   $(PTHREAD_CFLAGS) \
+   $(opensaml_CFLAGS) \
+   $(xerces_CFLAGS) \
++  $(xmlsec_CFLAGS) \
+   $(xmltooling_CFLAGS)
+-shibd_LDADD = $(XMLSEC_LIBS) \
++shibd_LDADD = \
+   $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
+   $(PTHREAD_LIBS) \
+   $(opensaml_LIBS) \
+   $(xerces_LIBS) \
++  $(xmlsec_LIBS) \
+   $(xmltooling_LIBS)
+ 
+ EXTRA_DIST = shibd_win32.cpp resource.h shibd.rc
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index 39e19a4..794fb67 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -241,6 +241,7 @@ libshibsp_la_CPPFLAGS = \
+     $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+     $(opensaml_CFLAGS) \
+     $(xerces_CFLAGS) \
++    $(xmlsec_CFLAGS) \
+     $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
+     $(BOOST_CPPFLAGS) \
+@@ -248,8 +249,8 @@ libshibsp_la_LIBADD = \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+     $(opensaml_LIBS) \
+     $(xerces_LIBS) \
+-    $(xmltooling_LIBS) \
+-    $(XMLSEC_LIBS)
++    $(xmlsec_LIBS) \
++    $(xmltooling_LIBS)
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_lite_la_LIBADD = \
+     $(PTHREAD_LIBS) \
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 1b79a5a..7dba8ee 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -9,14 +9,15 @@ resolvertest_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmltooling_LIBS) \
+-	$(XMLSEC_LIBS)
++	$(xmlsec_LIBS) \
++	$(xmltooling_LIBS)
+ 
+ mdquery_SOURCES = mdquery.cpp
+ 
+@@ -24,14 +25,15 @@ mdquery_CPPFLAGS = \
+ 	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
+ 	$(opensaml_CFLAGS) \
+ 	$(xerces_CFLAGS) \
++	$(xmlsec_CFLAGS) \
+ 	$(xmltooling_CFLAGS)
+ mdquery_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
+ 	$(opensaml_LIBS) \
+ 	$(xerces_LIBS) \
+-	$(xmltooling_LIBS) \
+-	$(XMLSEC_LIBS)
++	$(xmlsec_LIBS) \
++	$(xmltooling_LIBS)
+ 
+ EXTRA_DIST = \
+ 	resource.h \
diff --git a/debian/patches/Use-pkg-config-for-xmltooling.patch b/debian/patches/Use-pkg-config-for-xmltooling.patch
new file mode 100644
index 0000000..79afa78
--- /dev/null
+++ b/debian/patches/Use-pkg-config-for-xmltooling.patch
@@ -0,0 +1,372 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 13:41:18 +0200
+Subject: Use pkg-config for xmltooling
+
+---
+ adfs/Makefile.am           | 13 +++++++----
+ apache/Makefile.am         | 28 ++++++++++++++++-------
+ configure.ac               | 57 ++++++----------------------------------------
+ fastcgi/Makefile.am        |  8 +++++--
+ memcache-store/Makefile.am |  5 +++-
+ nsapi_shib/Makefile.am     |  7 ++++--
+ odbc-store/Makefile.am     |  5 +++-
+ plugins/Makefile.am        | 13 +++++++----
+ shibd/Makefile.am          |  5 +++-
+ shibsp/Makefile.am         |  9 +++++---
+ util/Makefile.am           | 15 ++++++++++--
+ 11 files changed, 86 insertions(+), 79 deletions(-)
+
+diff --git a/adfs/Makefile.am b/adfs/Makefile.am
+index c9f3b2f..3512c09 100644
+--- a/adfs/Makefile.am
++++ b/adfs/Makefile.am
+@@ -3,21 +3,24 @@ AUTOMAKE_OPTIONS = foreign
+ plugindir = $(libdir)/@PACKAGE_NAME@
+ plugin_LTLIBRARIES = adfs.la adfs-lite.la
+ 
++adfs_la_CPPFLAGS = \
++	$(xmltooling_CFLAGS)
+ adfs_la_LIBADD = $(XMLSEC_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp.la
++	$(top_builddir)/shibsp/libshibsp.la \
++	$(xmltooling_LIBS)
+ 
+ adfs_la_SOURCES = \
+ 	adfs.cpp
+ 
+-adfs_lite_la_LIBADD = $(LITE_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp-lite.la
+-
+ adfs_lite_la_SOURCES = \
+ 	adfs.cpp
+ 
+ adfs_la_LDFLAGS = -module -avoid-version
+ adfs_lite_la_LDFLAGS = -module -avoid-version
+-adfs_lite_la_CPPFLAGS = -DSHIBSP_LITE
++adfs_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++	$(xmltooling_lite_CFLAGS)
++adfs_lite_la_LIBADD = $(top_builddir)/shibsp/libshibsp-lite.la \
++	$(xmltooling_lite_LIBS)
+ 
+ install-data-hook:
+ 	for la in $(plugin_LTLIBRARIES) ; do rm -f $(DESTDIR)$(plugindir)/$$la ; done
+diff --git a/apache/Makefile.am b/apache/Makefile.am
+index a694c8a..4f08b32 100644
+--- a/apache/Makefile.am
++++ b/apache/Makefile.am
+@@ -6,8 +6,11 @@ modshib13_LTLIBRARIES = mod_shib_13.la
+ mod_shib_13_la_SOURCES = mod_shib_13.cpp
+ mod_shib_13_la_CXXFLAGS = $(APXS_CFLAGS) -I$(APXS_INCLUDE)
+ mod_shib_13_la_LDFLAGS = -module -avoid-version
+-mod_shib_13_la_LIBADD = $(LITE_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp-lite.la
++mod_shib_13_la_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
++mod_shib_13_la_LIBADD = \
++  $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xmltooling_lite_LIBS)
+ endif
+ 
+ if BUILD_AP20
+@@ -16,8 +19,11 @@ modshib20_LTLIBRARIES = mod_shib_20.la
+ mod_shib_20_la_SOURCES = mod_shib_20.cpp
+ mod_shib_20_la_CXXFLAGS = $(APXS2_CFLAGS) -I$(APXS2_INCLUDE)
+ mod_shib_20_la_LDFLAGS = -module -avoid-version
+-mod_shib_20_la_LIBADD = $(LITE_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp-lite.la
++mod_shib_20_la_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
++mod_shib_20_la_LIBADD = \
++  $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xmltooling_lite_LIBS)
+ endif
+ 
+ if BUILD_AP22
+@@ -26,8 +32,11 @@ modshib22_LTLIBRARIES = mod_shib_22.la
+ mod_shib_22_la_SOURCES = mod_shib_22.cpp
+ mod_shib_22_la_CXXFLAGS = $(APXS22_CFLAGS) -I$(APXS22_INCLUDE)
+ mod_shib_22_la_LDFLAGS = -module -avoid-version
+-mod_shib_22_la_LIBADD = $(LITE_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp-lite.la
++mod_shib_22_la_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
++mod_shib_22_la_LIBADD = \
++  $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xmltooling_lite_LIBS)
+ endif
+ 
+ if BUILD_AP24
+@@ -36,8 +45,11 @@ modshib24_LTLIBRARIES = mod_shib_24.la
+ mod_shib_24_la_SOURCES = mod_shib_24.cpp
+ mod_shib_24_la_CXXFLAGS = $(APXS24_CFLAGS) -I$(APXS24_INCLUDE)
+ mod_shib_24_la_LDFLAGS = -module -avoid-version
+-mod_shib_24_la_LIBADD = $(LITE_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp-lite.la
++mod_shib_24_la_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
++mod_shib_24_la_LIBADD = \
++  $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xmltooling_lite_LIBS)
+ endif
+ 
+ install-data-hook:
+diff --git a/configure.ac b/configure.ac
+index d633bf5..9faaed5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -261,56 +261,14 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <xsec/framework/XSECAlgorithmMappe
+ # restore master libs
+ LIBS="$save_LIBS"
+ 
+-#XML-Tooling settings
+-AC_ARG_WITH(xmltooling,
+-    AS_HELP_STRING([--with-xmltooling=PATH],[where xmltooling is installed]),,
+-    [with_xmltooling=/usr])
+-if test x_$with_xmltooling != x_/usr; then
+-    CPPFLAGS="-I${with_xmltooling}/include $CPPFLAGS"
+-    DX_INCLUDE="${with_xmltooling}/include"
+-    LITE_LIBS="-L${with_xmltooling}/lib -lxmltooling-lite"
+-    XMLSEC_LIBS="-L${with_xmltooling}/lib -lxmltooling $XMLSEC_LIBS"
+-else
+-    LITE_LIBS="-lxmltooling-lite"
+-    XMLSEC_LIBS="-lxmltooling $XMLSEC_LIBS"
+-fi
+-
+-AC_CHECK_HEADER([xmltooling/base.h],,AC_MSG_ERROR([unable to find xmltooling header files]))
+-
+-# save and append master libs
+-save_LIBS="$LIBS"
+-LIBS="$XMLSEC_LIBS $LIBS"
+-
+-AC_LINK_IFELSE(
+-    [AC_LANG_PROGRAM([[#include <xmltooling/XMLToolingConfig.h>
+-#include <xmltooling/version.h>]],
+-        [[#if _XMLTOOLING_VERSION >= 10500
+-xmltooling::XMLToolingConfig::getConfig();
+-#else
+-#error Need XMLTooling version 1.5 or higher
+-#endif]])],
+-    ,[AC_MSG_ERROR([unable to link with XMLTooling, or version was too old])])
+-
+-# restore master libs
+-LIBS="$save_LIBS"
++AX_PKG_CHECK_MODULES([xmltooling],,[xmltooling >= 1.5.0],,,
++    [SHIBSP_REQUIRES],[SHIBSP_REQUIRES_PRIVATE])
++PKG_CHECK_VAR([xmltooling_includedir],[xmltooling],[includedir])
++PKG_CHECK_VAR([XMLTOOLINGXMLDIR],[xmltooling],[pkgxmldir])
++DX_INCLUDE="$DX_INCLUDE $xmltooling_includedir"
+ 
+-# Establish location of xmltooling catalog.
+-XMLTOOLINGXMLDIR=""
+-if test "x$with_xmltooling" = "x" ; then
+-   with_xmltooling="/usr"
+-fi
+-if test -f $with_xmltooling/share/xml/xmltooling/catalog.xml ; then
+-    XMLTOOLINGXMLDIR="$with_xmltooling"
+-elif test -f $with_xerces/share/xml/xmltooling/catalog.xml ; then
+-    XMLTOOLINGXMLDIR="$with_xerces"
+-elif test -f $with_log4shib/share/xml/xmltooling/catalog.xml ; then
+-    XMLTOOLINGXMLDIR="$with_log4shib"
+-fi
+-if test "x$XMLTOOLINGXMLDIR" = "x" ; then
+-    AC_MSG_ERROR([xmltooling XML catalog not found, may need to use --with-xmltooling option])
+-fi
+-XMLTOOLINGXMLDIR="$XMLTOOLINGXMLDIR/share/xml/xmltooling"
+-AC_SUBST(XMLTOOLINGXMLDIR)
++AX_PKG_CHECK_MODULES([xmltooling_lite],,[xmltooling-lite],,,
++    [SHIBSP_LITE_REQUIRES],[SHIBSP_LITE_REQUIRES_PRIVATE])
+ 
+ # OpenSAML settings
+ AC_ARG_WITH(saml,
+@@ -363,7 +321,6 @@ fi
+ OPENSAMLXMLDIR="$OPENSAMLXMLDIR/share/xml/opensaml"
+ AC_SUBST(OPENSAMLXMLDIR)
+ 
+-AC_SUBST(LITE_LIBS)
+ AC_SUBST(XMLSEC_LIBS)
+ 
+ # output the underlying makefiles
+diff --git a/fastcgi/Makefile.am b/fastcgi/Makefile.am
+index e56b7c2..44bb456 100644
+--- a/fastcgi/Makefile.am
++++ b/fastcgi/Makefile.am
+@@ -9,16 +9,20 @@ fastcgi_PROGRAMS = shibauthorizer shibresponder
+ shibauthorizer_SOURCES = shibauthorizer.cpp
+ shibauthorizer_CXXFLAGS = $(FASTCGI_INCLUDE)
+ shibauthorizer_LDFLAGS = $(FASTCGI_LDFLAGS)
++shibauthorizer_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
+ shibauthorizer_LDADD = $(FASTCGI_LIBS) \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+-  $(LITE_LIBS)
++  $(xmltooling_lite_LIBS)
+ 
+ shibresponder_SOURCES = shibresponder.cpp
+ shibresponder_CXXFLAGS = $(FASTCGI_INCLUDE)
+ shibresponder_LDFLAGS = $(FASTCGI_LDFLAGS)
++shibresponder_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
+ shibresponder_LDADD = $(FASTCGI_LIBS) \
+   $(top_builddir)/shibsp/libshibsp-lite.la \
+-  $(LITE_LIBS)
++  $(xmltooling_lite_LIBS)
+ 
+ endif
+ 
+diff --git a/memcache-store/Makefile.am b/memcache-store/Makefile.am
+index 6f286be..1e3d246 100644
+--- a/memcache-store/Makefile.am
++++ b/memcache-store/Makefile.am
+@@ -7,7 +7,10 @@ AM_CFLAGS = $(MEMCACHED_INCLUDE)
+ AM_CXXFLAGS = $(MEMCACHED_INCLUDE)
+ 
+ memcache_store_la_LDFLAGS = $(MEMCACHED_LDFLAGS) -module -avoid-version
+-memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS)
++memcache_store_la_CPPFLAGS = \
++	$(xmltooling_CFLAGS)
++memcache_store_la_LIBADD = $(XMLSEC_LIBS) $(MEMCACHED_LIBS) \
++	$(xmltooling_LIBS)
+ 
+ memcache_store_la_SOURCES = \
+ 	memcache-store.cpp
+diff --git a/nsapi_shib/Makefile.am b/nsapi_shib/Makefile.am
+index 1447a75..76d8290 100644
+--- a/nsapi_shib/Makefile.am
++++ b/nsapi_shib/Makefile.am
+@@ -6,8 +6,11 @@ nsapi_shib_LTLIBRARIES = nsapi_shib.la
+ nsapi_shib_la_SOURCES = nsapi_shib.cpp
+ nsapi_shib_la_CXXFLAGS = $(NSAPI_INCLUDE)
+ nsapi_shib_la_LDFLAGS = -module -avoid-version
+-nsapi_shib_la_LIBADD = $(LITE_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp-lite.la
++nsapi_shib_la_CPPFLAGS = \
++  $(xmltooling_lite_CFLAGS)
++nsapi_shib_la_LIBADD = \
++  $(top_builddir)/shibsp/libshibsp-lite.la \
++  $(xmltooling_lite_LIBS)
+ 
+ install-data-hook:
+ 	for la in $(nsapi_shib_LTLIBRARIES) ; do rm -f $(DESTDIR)$(nsapi_shibdir)/$$la ; done
+diff --git a/odbc-store/Makefile.am b/odbc-store/Makefile.am
+index 008096f..72b04c4 100644
+--- a/odbc-store/Makefile.am
++++ b/odbc-store/Makefile.am
+@@ -6,7 +6,10 @@ plugin_LTLIBRARIES = odbc-store.la
+ AM_CFLAGS = $(ODBC_CFLAGS)
+ AM_CXXFLAGS = $(ODBC_CFLAGS)
+ 
+-odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS)
++odbc_store_la_CPPFLAGS = \
++	$(xmltooling_CFLAGS)
++odbc_store_la_LIBADD = $(XMLSEC_LIBS) $(ODBC_LIBS) \
++	$(xmltooling_LIBS)
+ 
+ odbc_store_la_SOURCES = \
+ 	odbc-store.cpp
+diff --git a/plugins/Makefile.am b/plugins/Makefile.am
+index 52c3c08..7d579fa 100644
+--- a/plugins/Makefile.am
++++ b/plugins/Makefile.am
+@@ -21,15 +21,20 @@ plugins_la_SOURCES = \
+ plugins_lite_la_SOURCES = \
+ 	${common_sources}
+ 
++plugins_la_CPPFLAGS = \
++	$(xmltooling_CFLAGS)
+ plugins_la_LIBADD = $(XMLSEC_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp.la
++	$(top_builddir)/shibsp/libshibsp.la \
++	$(xmltooling_LIBS)
+ 
+-plugins_lite_la_LIBADD = $(LITE_LIBS) \
+-	$(top_builddir)/shibsp/libshibsp-lite.la
++plugins_lite_la_LIBADD = \
++	$(top_builddir)/shibsp/libshibsp-lite.la \
++	$(xmltooling_lite_LIBS)
+ 
+ plugins_la_LDFLAGS = -module -avoid-version
+ plugins_lite_la_LDFLAGS = -module -avoid-version
+-plugins_lite_la_CPPFLAGS = -DSHIBSP_LITE
++plugins_lite_la_CPPFLAGS = -DSHIBSP_LITE \
++	$(xmltooling_lite_CFLAGS)
+ 
+ install-data-hook:
+ 	for la in $(plugin_LTLIBRARIES) ; do rm -f $(DESTDIR)$(plugindir)/$$la ; done
+diff --git a/shibd/Makefile.am b/shibd/Makefile.am
+index 7a7d5de..63bc5bf 100644
+--- a/shibd/Makefile.am
++++ b/shibd/Makefile.am
+@@ -6,7 +6,10 @@ shibd_SOURCES = shibd.cpp
+ 
+ shibd_CXXFLAGS = $(SYSTEMD_CFLAGS)
+ 
++shibd_CPPFLAGS = \
++  $(xmltooling_CFLAGS)
+ shibd_LDADD = $(XMLSEC_LIBS) \
+-  $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS)
++  $(top_builddir)/shibsp/libshibsp.la $(SYSTEMD_LIBS) \
++  $(xmltooling_LIBS)
+ 
+ EXTRA_DIST = shibd_win32.cpp resource.h shibd.rc
+diff --git a/shibsp/Makefile.am b/shibsp/Makefile.am
+index c1d2ff3..6cd568a 100644
+--- a/shibsp/Makefile.am
++++ b/shibsp/Makefile.am
+@@ -237,16 +237,19 @@ libshibsp_la_SOURCES = \
+ # http://sources.redhat.com/autobook/autobook/autobook_91.html
+ libshibsp_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_la_CPPFLAGS = \
+-    $(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++    $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++    $(xmltooling_CFLAGS)
+ libshibsp_la_LIBADD = \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
++    $(xmltooling_LIBS) \
+     $(XMLSEC_LIBS)
+ libshibsp_lite_la_LDFLAGS = -version-info 7:0:0
+ libshibsp_lite_la_LIBADD = \
+     $(log4shib_LIBS) $(log4cpp_LIBS) \
+-    $(LITE_LIBS)
++    $(xmltooling_lite_LIBS)
+ libshibsp_lite_la_CPPFLAGS = -DSHIBSP_LITE \
+-    $(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++    $(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++    $(xmltooling_lite_CFLAGS)
+ 
+ pkgsysconfdir = $(sysconfdir)/@PACKAGE_NAME@
+ pkgxmldir = $(datadir)/xml/@PACKAGE_NAME@
+diff --git a/util/Makefile.am b/util/Makefile.am
+index 2a66f40..d86fa6e 100644
+--- a/util/Makefile.am
++++ b/util/Makefile.am
+@@ -5,17 +5,28 @@ bin_PROGRAMS = mdquery resolvertest
+ resolvertest_SOURCES = resolvertest.cpp
+ 
+ resolvertest_CPPFLAGS = \
+-	$(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(xmltooling_CFLAGS)
+ resolvertest_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
+ 
+ mdquery_SOURCES = mdquery.cpp
+ 
+ mdquery_CPPFLAGS = \
+-	$(log4shib_CFLAGS) $(log4cpp_CFLAGS)
++	$(log4shib_CFLAGS) $(log4cpp_CFLAGS) \
++	$(xmltooling_CFLAGS)
+ mdquery_LDADD = \
+ 	$(top_builddir)/shibsp/libshibsp.la \
+ 	$(log4shib_LIBS) $(log4cpp_LIBS) \
++	$(xmltooling_LIBS) \
+ 	$(XMLSEC_LIBS)
++
++EXTRA_DIST = \
++	resource.h \
++	mdquery.rc \
++	resolvertest.rc \
++	messageResource.rc \
++	message.mc
diff --git a/debian/patches/We-don-t-use-OpenSSL-directly.patch b/debian/patches/We-don-t-use-OpenSSL-directly.patch
new file mode 100644
index 0000000..65aadd6
--- /dev/null
+++ b/debian/patches/We-don-t-use-OpenSSL-directly.patch
@@ -0,0 +1,43 @@
+From: =?utf-8?q?Ferenc_W=C3=A1gner?= <wferi at niif.hu>
+Date: Thu, 14 Jul 2016 15:13:01 +0200
+Subject: We don't use OpenSSL directly
+
+---
+ configure.ac | 24 ------------------------
+ 1 file changed, 24 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index f15cef7..cdc8aa9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -98,30 +98,6 @@ ACX_PTHREAD(
+     [AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],
+     [AC_MSG_ERROR([unable to find pthreads, currently this is required])])
+ 
+-# OpenSSL settings
+-AC_ARG_WITH(openssl,
+-    AS_HELP_STRING([--with-openssl=PATH],[where openssl is installed]),
+-    [if test x_$with_openssl != x_/usr; then
+-        SSLFLAGS="-I${with_openssl}/include"
+-    fi])
+-
+-if test "x$with_openssl" = "x" ; then
+-    AC_PATH_PROG(PKG_CONFIG, pkg-config)
+-    if test "x$PKG_CONFIG" != x && test "x$PKG_CONFIG" != "xno" ; then
+-        if pkg-config openssl ; then
+-            SSLFLAGS="`$PKG_CONFIG --cflags openssl`"
+-        else
+-            AC_MSG_WARN([OpenSSL not supported by pkg-config, try --with-openssl instead])
+-        fi
+-    fi
+-fi
+-
+-AC_MSG_CHECKING(for OpenSSL cflags)
+-AC_MSG_RESULT($SSLFLAGS)
+-CPPFLAGS="$SSLFLAGS $CPPFLAGS"
+-
+-AC_CHECK_HEADER([openssl/x509.h],,AC_MSG_ERROR([unable to find openssl header files]))
+-
+ AC_LANG([C++])
+ AC_FUNC_STRERROR_R
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 2f86e1a..204e191 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,14 @@ Debianize-the-systemd-service-file-of-shibd.patch
 Search-for-libsystemd-instead-of-libsystemd-daemon.patch
 Add-Documentation-key-to-shibd-service-file.patch
 Check-for-strerror_r-with-C-language-selected.patch
+Add-pkg-config-files-for-libshibsp-and-libshibsp-lit.patch
+Use-pkg-config-for-log4shib-log4cpp.patch
+Use-pkg-config-for-xmltooling.patch
+Localize-pthread-library-flags.patch
+Localize-Boost-preprocessor-flags.patch
+We-don-t-use-OpenSSL-directly.patch
+Use-pkg-config-for-Xerces.patch
+Use-pkg-config-for-OpenSAML.patch
+Use-pkg-config-for-xmlsec.patch
+Remove-superfluous-xmlsec-linkages.patch
+Use-pkg-config-for-GSSAPI.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-shibboleth/shibboleth-sp2.git



More information about the Pkg-shibboleth-devel mailing list