Add support for both strerror_r variants
[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 AC_CONFIG_SRCDIR([BUILD.txt])
15 AC_CONFIG_AUX_DIR([build])
16
17 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects tar-pax])
18 AM_PROG_CC_C_O
19 AM_PROG_AR
20 AC_PROG_INSTALL
21 LT_INIT([disable-static])
22 AC_CONFIG_MACRO_DIR([m4])
23
24 AC_SUBST([PRERELEASE_VERSION],
25          PRERELEASE_VERSION_NUMBER)
26
27 AC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
28           [Prerelease version number of package])
29
30 AM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
31
32 m4_pattern_allow([AM_SILENT_RULES])
33 AM_SILENT_RULES
34
35 AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
36
37 AC_CHECK_HEADERS(stdint.h dlfcn.h)
38 AC_CONFIG_HEADER(config.h)
39
40 AC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
41
42 m4_include([build_macros.m4])
43 BUILD_WITH_SHARED_BUILD_DIR
44
45 AC_COMPILE_IFELSE(
46     [AC_LANG_PROGRAM([[#include <pthread.h>]],
47         [[pthread_mutex_t m = PTHREAD_MUTEX_INITIALIZER;]])],
48     [AC_DEFINE([HAVE_PTHREAD], [1], [Pthread mutexes available.])],
49     [AC_MSG_WARN([Pthread library not found! Clients will not be thread safe...])])
50
51 #Include here cause WITH_INIT_DIR requires $osname set in platform.m4
52 m4_include([external/platform.m4])
53
54 m4_include(conf_macros.m4)
55 WITH_DISTRO_VERSION
56 WITH_TEST_DIR
57 WITH_MANPAGES
58 WITH_XML_CATALOG
59
60 m4_include([external/pkg.m4])
61 m4_include([external/docbook.m4])
62 m4_include([external/sizes.m4])
63 m4_include([external/ax_pthread.m4])
64 m4_include([external/m4_ax_check_openssl.m4])
65 m4_include([external/ax_check_zlib.m4])
66
67 AX_PTHREAD(,[AC_MSG_ERROR([Could not find Pthreads support])])
68
69 LIBS="$PTHREAD_LIBS $LIBS"
70 LIBS="$PTHREAD_CFLAGS $CFLAGS"
71 CC="$PTHREAD_CC"
72
73 AC_CHECK_HEADERS([gssapi/gssapi.h],,[AC_MSG_ERROR([Could not find GSSAPI headers])])
74 AC_PATH_PROG(KRB5_CONFIG, krb5-config, failed)
75 if test x$KRB5_CONFIG = xfailed; then
76     AC_MSG_ERROR([Could not find GSSAPI development libraries])
77 else
78     GSSAPI_CFLAGS="`$KRB5_CONFIG --cflags gssapi`"
79     GSSAPI_LIBS="`$KRB5_CONFIG --libs gssapi`"
80 fi
81 AC_CHECK_LIB(gssapi_krb5, gss_import_cred,,
82              [AC_MSG_ERROR([GSSAPI library does not support gss_import_cred])],
83              [$GSSAPI_LIBS])
84 AC_CHECK_LIB(gssapi_krb5, gss_export_cred,,
85              [AC_MSG_ERROR([GSSAPI library does not support gss_export_cred])],
86              [$GSSAPI_LIBS])
87
88 AC_SUBST([GSSAPI_CFLAGS])
89 AC_SUBST([GSSAPI_LIBS])
90
91 AC_CHECK_HEADERS([unicase.h uniconv.h],,
92                  [AC_MSG_ERROR([Could not find libunistring headers])])
93 UNISTRING_LIBS="-lunistring"
94 AC_CHECK_LIB(unistring, u8_toupper,,
95              [AC_MSG_ERROR([libunistring does not support u8_toupper])],
96              [$UNISTRING_LIBS])
97
98 AX_CHECK_OPENSSL(,[AC_MSG_ERROR([Could not find OpenSSL support])])
99
100 CRYPTO_LIBS="$OPENSSL_LIBS"
101 AC_SUBST([CRYPTO_LIBS])
102
103 AX_CHECK_ZLIB(,[AC_MSG_ERROR([Could not find Zlib support])])
104
105 PKG_CHECK_MODULES(WBC, wbclient,
106                   [AC_DEFINE([HAVE_WBCLIENT], [1],
107                              [Wbclient support is available])],
108                   AC_MSG_WARN("Samba's wbclient headers are not available"))
109 AC_SUBST(WBC_CFLAGS)
110 AC_SUBST(WBC_LIBS)
111
112
113 if test x$HAVE_MANPAGES != x; then
114     CHECK_XML_TOOLS
115     CHECK_STYLESHEET([$SGML_CATALOG_FILES],
116                      [http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
117                      [Docbook XSL templates])
118     AC_CHECK_PROG([PO4A],[po4a],[po4a],[no])
119 fi
120 AM_CONDITIONAL([HAVE_MANPAGES], [test "x$HAVE_MANPAGES" != "x"])
121 AM_CONDITIONAL([HAVE_PO4A], [test "x$PO4A" != "xno"])
122
123 AC_PATH_PROG([DOXYGEN], [doxygen], [false])
124 AM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
125
126 abs_build_dir=`pwd`
127 AC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory])
128 AC_SUBST([abs_builddir], $abs_build_dir)
129
130 AC_CONFIG_FILES([Makefile man/Makefile
131                  contrib/gssntlmssp.spec examples/mech.ntlmssp])
132 AC_OUTPUT