add support for getting session key
[idra/gss-ntlmssp.git] / configure.ac
1 AC_PREREQ(2.59)
2
3 m4_include([version.m4])
4 AC_INIT([gssntlmssp],
5         VERSION_NUMBER,
6         [simo@samba.org])
7
8 m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
9     [AC_USE_SYSTEM_EXTENSIONS],
10     [AC_GNU_SOURCE])
11
12 CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
13
14 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
15 AM_PROG_CC_C_O
16 AM_PROG_AR
17 AC_PROG_INSTALL
18 LT_INIT([disable-static])
19
20 AC_SUBST([PRERELEASE_VERSION],
21          PRERELEASE_VERSION_NUMBER)
22
23 AC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
24           [Prerelease version number of package])
25
26 AM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
27
28 m4_pattern_allow([AM_SILENT_RULES])
29 AM_SILENT_RULES
30
31 AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
32
33 AC_CHECK_HEADERS(stdint.h dlfcn.h)
34 AC_CONFIG_HEADER(config.h)
35
36 AC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
37
38 m4_include([build_macros.m4])
39 BUILD_WITH_SHARED_BUILD_DIR
40
41 AC_COMPILE_IFELSE(
42     [AC_LANG_PROGRAM([[#include <pthread.h>]],
43         [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
44     [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])],
45     [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
46
47 #Include here cause WITH_INIT_DIR requires $osname set in platform.m4
48 m4_include([external/platform.m4])
49
50 m4_include(conf_macros.m4)
51 WITH_DISTRO_VERSION
52 WITH_TEST_DIR
53 WITH_MANPAGES
54 WITH_XML_CATALOG
55 WITH_WBCLIENT
56
57 m4_include([external/pkg.m4])
58 m4_include([external/docbook.m4])
59 m4_include([external/sizes.m4])
60 m4_include([external/ax_pthread.m4])
61 m4_include([external/m4_ax_check_openssl.m4])
62 m4_include([external/ax_check_zlib.m4])
63 m4_include([external/wbclient.m4])
64
65 AX_PTHREAD(,[AC_MSG_ERROR([Could not find Pthreads support])])
66
67 LIBS="$PTHREAD_LIBS $LIBS"
68 LIBS="$PTHREAD_CFLAGS $CFLAGS"
69 CC="$PTHREAD_CC"
70
71 AC_CHECK_HEADERS([gssapi/gssapi.h],,[AC_MSG_ERROR([Could not find GSSAPI headers])])
72 AC_PATH_PROG(KRB5_CONFIG, krb5-config, failed)
73 if test x$KRB5_CONFIG = xfailed; then
74     AC_MSG_ERROR([Could not find GSSAPI development libraries])
75 else
76     GSSAPI_CFLAGS="`$KRB5_CONFIG --cflags gssapi`"
77     GSSAPI_LIBS="`$KRB5_CONFIG --libs gssapi`"
78 fi
79 AC_CHECK_LIB(gssapi_krb5, gss_import_cred,,
80              [AC_MSG_ERROR([GSSAPI library does not support gss_import_cred])],
81              [$GSSAPI_LIBS])
82 AC_CHECK_LIB(gssapi_krb5, gss_export_cred,,
83              [AC_MSG_ERROR([GSSAPI library does not support gss_export_cred])],
84              [$GSSAPI_LIBS])
85
86 AC_SUBST([GSSAPI_CFLAGS])
87 AC_SUBST([GSSAPI_LIBS])
88
89 AC_CHECK_HEADERS([unicase.h uniconv.h],,
90                  [AC_MSG_ERROR([Could not find libunistring headers])])
91 UNISTRING_LIBS="-lunistring"
92 AC_CHECK_LIB(unistring, u8_toupper,,
93              [AC_MSG_ERROR([libunistring does not support u8_toupper])],
94              [$UNISTRING_LIBS])
95
96 AX_CHECK_OPENSSL(,[AC_MSG_ERROR([Could not find OpenSSL support])])
97
98 CRYPTO_LIBS="$OPENSSL_LIBS"
99 AC_SUBST([CRYPTO_LIBS])
100
101 AX_CHECK_ZLIB(,[AC_MSG_ERROR([Could not find Zlib support])])
102
103 if test x$HAVE_WBCLIENT != x; then
104     AM_CHECK_WBCLIENT
105 fi
106
107 if test x$HAVE_NLS != x; then
108     AC_CHECK_FUNC(dgettext, [],
109                   AC_CHECK_LIB(intl, dgettext, [],
110                                AC_ERROR([Could not find dgettext() function])))
111     AC_PATH_PROG(MSGFMT, msgfmt)
112     if test x$MSGFMT = x; then
113         AC_ERROR([Could not find msgfmt])
114     fi
115 fi
116 RAWLINGUAS=`sed -e "/^#/d" -e "s/#.*//" "${srcdir}/po/LINGUAS"`
117 # Remove newlines
118 LINGUAS=`echo $RAWLINGUAS`
119 AC_SUBST(LINGUAS)
120
121 if test x$HAVE_MANPAGES != x; then
122     CHECK_XML_TOOLS
123     CHECK_STYLESHEET([$SGML_CATALOG_FILES],
124                      [http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
125                      [Docbook XSL templates])
126     AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
127 fi
128 AM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
129 AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
130
131 AC_PATH_PROG([DOXYGEN], [doxygen], [false])
132 AM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
133
134 abs_build_dir=`pwd`
135 AC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory])
136 AC_SUBST([abs_builddir], $abs_build_dir)
137
138 AC_CONFIG_FILES([Makefile man/Makefile po/Makefile
139                  contrib/gssntlmssp.spec examples/mech.ntlmssp])
140 AC_OUTPUT