Initial release, version 0.0.0.
[gsasl.git] / configure.ac
blob4049e03c77a411751f5f2d4dd7d9a73adf7d7b92
1 dnl Process this file with autoconf to produce a configure script.
2 AC_PREREQ(2.50)
3 AC_INIT(libgsasl, 0.0.0, bug-libgsasl@josefsson.org)
5 # Interfaces removed:    CURRENT++, AGE=0, REVISION=0
6 # Interfaces added:      CURRENT++, AGE++, REVISION=0
7 # No interfaces changed:                   REVISION++
8 LT_CURRENT=0
9 LT_AGE=0
10 LT_REVISION=0
11 AC_SUBST(LT_CURRENT)
12 AC_SUBST(LT_AGE)
13 AC_SUBST(LT_REVISION)
15 AM_INIT_AUTOMAKE
16 AM_CONFIG_HEADER(config.h)
18 # Checks for programs.
19 AM_GNU_GETTEXT(use-libtool)
20 AC_PROG_LIBTOOL
21 AC_PROG_CC
22 AC_PROG_CXX
23 AC_PROG_CPP
24 AC_PROG_INSTALL
25 AC_PROG_LN_S
26 AC_PROG_RANLIB
27 AM_MISSING_PROG(PERL, perl, $missing_dir)
28 AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
29 AM_MISSING_PROG(TEXI2PDF, texi2pdf, $missing_dir)
30 AM_MISSING_PROG(DOCBOOK2TXT, docbook2txt, $missing_dir)
31 AM_MISSING_PROG(DOCBOOK2HTML, docbook2html, $missing_dir)
32 AM_MISSING_PROG(DOCBOOK2PS, docbook2ps, $missing_dir)
33 AM_MISSING_PROG(DOCBOOK2PDF, docbook2pdf, $missing_dir)
35 # ANONYMOUS
36 AC_ARG_ENABLE(anonymous,
37   AC_HELP_STRING([--disable-anonymous], [don't use the ANONYMOUS mechanism]),
38   anonymous=$enableval)
39 if test "$anonymous" != "no" ; then
40         anonymous=yes
41         AC_DEFINE(USE_ANONYMOUS, 1, [Define to 1 if you want ANONYMOUS.])
43 AC_MSG_CHECKING([if ANONYMOUS should be used])
44 AC_MSG_RESULT($anonymous)
46 # EXTERNAL
47 AC_ARG_ENABLE(external,
48   AC_HELP_STRING([--disable-external], [don't use the EXTERNAL mechanism]),
49   external=$enableval)
50 if test "$external" != "no" ; then
51         external=yes
52         AC_DEFINE(USE_EXTERNAL, 1, [Define to 1 if you want EXTERNAL.])
54 AC_MSG_CHECKING([if EXTERNAL should be used])
55 AC_MSG_RESULT($external)
57 # PLAIN
58 AC_ARG_ENABLE(plain,
59   AC_HELP_STRING([--disable-plain], [don't use the PLAIN mechanism]),
60   plain=$enableval)
61 if test "$plain" != "no" ; then
62         plain=yes
63         AC_DEFINE(USE_PLAIN, 1, [Define to 1 if you want PLAIN.])
65 AC_MSG_CHECKING([if PLAIN should be used])
66 AC_MSG_RESULT($plain)
68 # LOGIN
69 AC_ARG_ENABLE(login,
70   AC_HELP_STRING([--disable-login], [don't use the LOGIN mechanism]),
71   login=$enableval)
72 if test "$login" != "no" ; then
73         login=yes
74         AC_DEFINE(USE_LOGIN, 1, [Define to 1 if you want LOGIN.])
76 AC_MSG_CHECKING([if LOGIN should be used])
77 AC_MSG_RESULT($login)
79 # SECURID
80 AC_ARG_ENABLE(securid,
81   AC_HELP_STRING([--disable-securid], [don't use the SECURID mechanism]),
82   securid=$enableval)
83 if test "$securid" != "no" ; then
84         securid=yes
85         AC_DEFINE(USE_SECURID, 1, [Define to 1 if you want SECURID.])
87 AC_MSG_CHECKING([if SECURID should be used])
88 AC_MSG_RESULT($securid)
90 # NTLM
91 AM_PATH_LIBNTLM(0.3.0, [have_ntlm=yes])
92 AC_ARG_ENABLE(ntlm,
93   AC_HELP_STRING([--disable-ntlm], [don't use the NTLM mechanism]),
94   ntlm=$enableval)
95 if test "$ntlm" != "no" ; then
96         if test "$have_ntlm" != "yes" ; then
97                 ntlm=no
98                 AC_MSG_WARN([libntlm not found, disabling NTLM])
99         else
100                 ntlm=yes
101                 AC_DEFINE(USE_NTLM, 1, [Define to 1 if you want NTLM.])
102         fi
104 AC_MSG_CHECKING([if NTLM should be used])
105 AC_MSG_RESULT($ntlm)
107 # CRAM-MD5
108 AC_ARG_ENABLE(cram-md5,
109   AC_HELP_STRING([--disable-cram-md5], [don't use the CRAM-MD5 mechanism]),
110   cram_md5=$enableval)
111 AM_PATH_LIBGCRYPT(1.1.7, [have_gcrypt=yes])
112 if test "$cram_md5" != "no" ; then
113         if test "$have_gcrypt" != "yes" ; then
114                 cram_md5=no
115                 AC_MSG_WARN([libgcrypt not found, disabling CRAM-MD5])
116         else
117                 cram_md5=yes
118                 AC_DEFINE(USE_CRAM_MD5, 1, [Define to 1 if you want CRAM-MD5.])
119         fi
121 AC_MSG_CHECKING([if CRAM-MD5 should be used])
122 AC_MSG_RESULT($cram_md5)
124 # DIGEST-MD5
125 AC_ARG_ENABLE(digest-md5,
126   AC_HELP_STRING([--disable-digest-md5], [don't use the DIGEST-MD5 mechanism]),
127   digest_md5=$enableval)
128 if test "$digest_md5" != "no" ; then
129         if test "$have_gcrypt" != "yes" ; then
130                 digest_md5=no
131                 AC_MSG_WARN([libgcrypt not found, disabling DIGEST-MD5])
132         else
133                 digest_md5=yes
134                 AC_DEFINE(USE_DIGEST_MD5, 1, [Define to 1 if you want DIGEST-MD5.])
135         fi
137 AC_MSG_CHECKING([if DIGEST-MD5 should be used])
138 AC_MSG_RESULT($digest_md5)
140 # SRP
141 #AC_ARG_ENABLE(srp,
142 #  AC_HELP_STRING([--disable-srp], [don't use the SRP mechanism]),
143 #  srp=$enableval)
144 #if test "$srp" != "no" ; then
145 #       if test "$have_gcrypt" != "yes" ; then
146 #               srp=no
147 #               AC_MSG_WARN([libgcrypt not found, disabling SRP])
148 #       else
149 #               srp=yes
150 #               AC_DEFINE(USE_SRP, 1, [Define to 1 if you want SRP.])
151 #       fi
153 #AC_MSG_CHECKING([if SRP should be used])
154 #AC_MSG_RESULT($srp)
156 # GSSAPI (tests partially stolen from mailutils and fetchmail)
157 AC_ARG_ENABLE(gssapi,
158   AC_HELP_STRING([--disable-gssapi], [don't use the GSSAPI mechanism]),
159   gssapi=$enableval)
160 if test "$gssapi" != "no" ; then
161         AC_PATH_PROG(KRB5_CONFIG, krb5-config, no)
162         if test "$KRB5_CONFIG" != "no" ; then
163                 GSSAPI_CFLAGS=`$KRB5_CONFIG --cflags`
164                 GSSAPI_LIBS=`$KRB5_CONFIG --libs gssapi`
165                 save_CPPFLAGS=$CPPFLAGS
166                 CPPFLAGS=$GSSAPI_CFLAGS
167                 AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h gssapi/gssapi_generic.h)
168                 CPPFLAGS=$save_CPPFLAGS
169                 if test "$ac_cv_header_gssapi_h" = "yes"; then
170                         AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi.h, AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE, 1, [Define to 1 if you have GSS_C_NT_HOSTBASED_SERVICE.]))
171                 else
172                         AC_EGREP_HEADER(GSS_C_NT_HOSTBASED_SERVICE, gssapi/gssapi.h, AC_DEFINE(HAVE_GSS_C_NT_HOSTBASED_SERVICE, 1, [Define to 1 if you have GSS_C_NT_HOSTBASED_SERVICE.]))
173                 fi
174                 AC_SUBST(GSSAPI_CFLAGS)
175                 AC_SUBST(GSSAPI_LIBS)
176                 gssapi=yes
177                 AC_DEFINE(USE_GSSAPI, 1, [Define to 1 if you want GSSAPI.])
178         else
179                 gssapi=no
180                 AC_MSG_WARN([krb5-config not found, disabling GSSAPI])
181         fi
183 AC_MSG_CHECKING([if GSSAPI should be used])
184 AC_MSG_RESULT($gssapi)
186 # Checks for header files.
187 AC_HEADER_STDC
188 AC_CHECK_HEADERS([stdlib.h string.h strings.h sys/socket.h unistd.h])
190 # Checks for typedefs, structures, and compiler characteristics.
191 AC_C_CONST
192 AC_C_INLINE
193 AC_C_BIGENDIAN
194 AC_PROG_GCC_TRADITIONAL
195 AC_TYPE_SIZE_T
196 AC_TYPE_UID_T
197 AC_HEADER_TIME
198 AC_HEADER_STDC
199 AC_CHECK_HEADERS(getopt.h unistd.h strings.h netdb.h math.h)
200 AC_CHECK_HEADERS(sys/poll.h sys/time.h sys/types.h sys/select.h sys/socket.h)
201 AC_CHECK_HEADERS(argp.h netinet/in.h iconv.h)
203 # Checks for library functions.
204 AC_CHECK_FUNCS(gethostname \
205                 memmove memset \
206                 bcopy bzero \
207                 select \
208                 strchr strdup \
209                 strerror getsubopt)
210 AC_SEARCH_LIBS(gethostbyname, xnet)
212 # Test if the libc includes a good enough argp.
213 AC_ARG_WITH(system-argp,
214   AC_HELP_STRING([--without-system-argp], [don't use the system's argp]),,
215   [with_system_argp=yes])
216 if test x$with_system_argp = xyes ; then
217   AC_LIB_ARGP(,with_system_argp=no)
219 LIBARGP=""
220 if test x$with_system_argp = xno ; then
221   LIBARGP="\$(top_builddir)/argp/libargp.a"
223 AC_SUBST(LIBARGP)
224 AC_CONFIG_SUBDIRS(argp)
226 # Generate src/libgsasl-config.in
227 LIBGSASL_CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS $LIBNTLM_CFLAGS $GSSAPI_CFLAGS -I${includedir}"
228 LIBGSASL_LIBS="$LIBS $LIBGCRYPT_LIBS $LIBNTLM_LIBS $GSSAPI_LIBS -L${libdir} -lgsasl"
229 AC_SUBST(LIBGSASL_LIBS)
230 AC_SUBST(LIBGSASL_CFLAGS)
231 AC_CONFIG_COMMANDS([chmod],[[chmod +x src/libgsasl-config]])
233 AC_CONFIG_FILES(Makefile po/Makefile.in m4/Makefile intl/Makefile \
234                 doc/Makefile lib/gsasl.h lib/Makefile \
235                 src/libgsasl-config src/libcharset/Makefile src/Makefile \
236                 tests/Makefile)
238 AC_OUTPUT