Codebase list shibboleth-resolver / HEAD configure.ac
HEAD

Tree @HEAD (Download .tar.gz)

configure.ac @HEADraw · history · blame

AC_PREREQ([2.50])
AC_INIT([shibboleth-resolver], [3.1.0], [MOONSHOT-COMMUNITY@JISCMAIL.AC.UK], [shibboleth-resolver])
AC_CONFIG_SRCDIR(src)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_MACRO_DIR(m4)
AM_INIT_AUTOMAKE
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
PKG_INSTALLDIR

AC_ARG_ENABLE(debug,
    AS_HELP_STRING([--enable-debug],[Have GCC compile with symbols (Default = no)]),
    enable_debug=$enableval, enable_debug=no)

if test "$enable_debug" = "yes" ; then
    GCC_CFLAGS="$CFLAGS -g -D_DEBUG"
    GCC_CXXFLAGS="$CXXFLAGS -g -D_DEBUG"
else
    GCC_CFLAGS="$CFLAGS -O2 -DNDEBUG"
    GCC_CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG"
fi

AC_CONFIG_HEADERS([config.h src/shibresolver/config_pub.h])
AC_CONFIG_FILES([resolver.spec shibresolver.pc shibresolver-lite.pc])
AC_CONFIG_FILES([Makefile doc/Makefile src/Makefile])

AC_PROG_CC([gcc gcc3 cc])
AC_PROG_CXX([g++ g++3 c++ CC])
AC_CANONICAL_HOST

if test "$GCC" = "yes" ; then
#    AC_HAVE_GCC_VERSION(4,0,0,0,
#        [
#        AC_DEFINE(GCC_HASCLASSVISIBILITY,1,
#            [Define to enable class visibility control in gcc.])
#        GCC_CFLAGS="$GCC_CFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
#        GCC_CXXFLAGS="$GCC_CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
#        ])
    CFLAGS="-Wall $GCC_CFLAGS"
    CXXFLAGS="-Wall $GCC_CXXFLAGS"
fi

# Fix for Sun Workshop compiler in debug mode, may be Sun case #6360993
# Also enables POSIX semantics for some functions.
case "${host_cpu}-${host_os}" in
    *solaris*)
	CFLAGS="$CFLAGS -D_POSIX_PTHREAD_SEMANTICS"
	CXXFLAGS="$CXXFLAGS -D_POSIX_PTHREAD_SEMANTICS"
	if test "$CXX" = "CC" ; then
		CXXFLAGS="$CXXFLAGS -Qoption ccfe -stabs=no%dfltlit+no%dflthlp"
	fi
    ;;
esac

AC_LANG(C)

# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_STRUCT_TM

# Checks for library functions.
AC_CHECK_FUNCS([strcasecmp])

AX_PTHREAD(,[AC_MSG_ERROR([unable to find pthreads, currently this is required])])

AC_LANG(C++)

# C++ requirements
AC_CXX_NAMESPACES
AC_CXX_REQUIRE_STL

AX_PKG_CHECK_MODULES([log4shib],,[log4shib],
    [AC_DEFINE([SHIBRESOLVER_LOG4SHIB],[1],[Define to 1 if log4shib library is used.])],
    [AX_PKG_CHECK_MODULES([log4cpp],,[log4cpp],
        [AC_DEFINE([SHIBRESOLVER_LOG4CPP],[1],[Define to 1 if log4cpp library is used.])],,
        [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])],,
    [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([xerces],,[xerces-c >= 3.2],,,
    [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([xmlsec],,[xml-security-c >= 2],,,
    [SHIBRESOLVER_REQUIRES],[SHIBRESOLVER_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([xmltooling],,[xmltooling >= 3],,,
    [SHIBRESOLVER_REQUIRES],[SHIBRESOLVER_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([xmltooling_lite],,[xmltooling-lite >= 3],,,
    [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([opensaml],,[opensaml >= 3],,,
    [SHIBRESOLVER_REQUIRES],[SHIBRESOLVER_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([shibsp],,[shibsp >= 3],,,
    [SHIBRESOLVER_REQUIRES],[SHIBRESOLVER_REQUIRES_PRIVATE])

AX_PKG_CHECK_MODULES([shibsp_lite],,[shibsp-lite >= 3],,,
    [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])

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([SHIBRESOLVER_HAVE_GSSHEIMDAL],[1],[if you have the Heimdal gssapi libraries])],
        [MIT],[AC_DEFINE([SHIBRESOLVER_HAVE_GSSMIT],[1],[if you have the MIT gssapi libraries])])],
     [AX_PKG_CHECK_MODULES([gnu_gss],,[gss],
        [AC_DEFINE([SHIBRESOLVER_HAVE_GSSGNU],[1],[if you have the GNU gssapi libraries])],
        [with_gssapi=no],
        [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])],
     [SHIBRESOLVER_LITE_REQUIRES],[SHIBRESOLVER_LITE_REQUIRES_PRIVATE])
   AS_IF([test "x$with_gssapi" != xno],
     [AC_DEFINE([SHIBRESOLVER_HAVE_GSSAPI],[1],[if you have the gssapi libraries])
      AX_SAVE_FLAGS
        CXXFLAGS="$gss_CFLAGS $gnu_gss_CFLAGS $CXXFLAGS"
        LIBS="$gss_LIBS $gnu_gss_LIBS $LIBS"
      AC_CHECK_DECLS([gss_get_name_attribute,GSS_C_NT_EXPORT_NAME_COMPOSITE],,,[[
#ifdef SHIBRESOLVER_HAVE_GSSGNU
# include <gss.h>
#elif defined SHIBRESOLVER_HAVE_GSSMIT
# include <gssapi/gssapi.h>
# include <gssapi/gssapi_ext.h>
#else
# include <gssapi.h>
#endif
]])
      AX_RESTORE_FLAGS
     ])
  ])

AS_IF([test "x$ac_cv_have_decl_gss_get_name_attribute" = xyes],
    [AC_DEFINE([SHIBRESOLVER_HAVE_GSSAPI_NAMINGEXTS],[1],[Define to 1 if GSS-API naming extensions are available.])])

AC_OUTPUT