utils: introduce sipe_strcase_equal()
[siplcs.git] / configure.ac
blob6ca1d97fb37d10530cc4ea46cb0569fc36b67580
1 dnl ensure recent enough version of Autoconf
2 AC_PREREQ([2.50])
4 dnl Use `VERSION' files to get version.
5 m4_define([SIPE_VERSION_DATA], m4_include([VERSION]))
7 dnl Strip off newline characters.
8 m4_define([SIPE_VERSION],
9           m4_substr(SIPE_VERSION_DATA,
10                     [0], m4_decr(m4_len(SIPE_VERSION_DATA))))
12 dnl homepage
13 m4_define([SIPE_HOMEPAGE], [http://sipe.sourceforge.net/])
15 dnl initialize package name, version, bugtracker & homepage
16 AC_INIT([pidgin-sipe], SIPE_VERSION,
17         [https://sourceforge.net/tracker/?atid=949931&group_id=194563], [],
18         SIPE_HOMEPAGE)
20 dnl setup automake and require recent enough version
21 AM_INIT_AUTOMAKE([1.9 dist-bzip2 no-define tar-ustar])
23 dnl set PACKAGE_URL for autoconf < 2.64
24 if test "x${PACKAGE_URL}" = "x"; then
25         AC_MSG_NOTICE([set PACKAGE_URL for autoconf < 2.64])
26         AC_DEFINE(PACKAGE_URL, "SIPE_HOMEPAGE",
27                   [Define to the home page for this package.])
30 dnl set programming language
31 AC_LANG(C)
32 AM_PROG_CC_C_O
33 AC_HEADER_STDC
35 dnl setup shared library generation
36 LT_INIT([disable-static])
38 dnl checks for tools
39 IT_PROG_INTLTOOL([0.35.0])
40 AC_PROG_INSTALL
41 AC_PROG_RANLIB
43 dnl checks for library functions
44 AC_CHECK_FUNCS([setenv unsetenv])
46 dnl tell pkgconfig to look in the same prefix where we're installing this to,
47 dnl as that is likely where libpurple will be found if it is not in the default
48 dnl pkgconfig path
49 PREFIX=$ac_default_prefix
50 if test "$prefix" != "NONE"; then
51         PREFIX=$prefix
54 PKG_CONFIG_PATH="$PKG_CONFIG_PATH":"$PREFIX/lib/pkgconfig"
55 export PKG_CONFIG_PATH
57 dnl debug mode
58 AC_ARG_ENABLE(debug,
59         [AS_HELP_STRING([--enable-debug],
60                         [compile with debugging support [default=no]])],
61         ,
62         enable_debug="no")
64 if test "$enable_debug" = yes; then
65    AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
68 DEBUG_CFLAGS="${DEBUG_CFLAGS}"
69 AC_SUBST(DEBUG_CFLAGS)
71 dnl quality check mode
72 dnl For people who are interested in finding bugs and not hiding them
73 AC_ARG_ENABLE(quality-check,
74         [AS_HELP_STRING([--enable-quality-check],
75                         [compile with compiler checks enabled [default=yes]])],
76         ,
77         enable_quality_check="yes")
79 if test "$enable_quality_check" = yes; then
80         QUALITY_CFLAGS="${QUALITY_CFLAGS} -Werror -Wall -Wextra"
81 else
82         QUALITY_CFLAGS="${QUALITY_CFLAGS}"
84 AC_SUBST(QUALITY_CFLAGS)
86 dnl Check for pkg-config before using it
87 PKG_PROG_PKG_CONFIG
89 AC_ARG_WITH([krb5],
90         [AC_HELP_STRING([--with-krb5=PREFIX],
91                 [compile sipe plugin with Kerberos 5 support @<:@default=no@:>@])],
92         [test "$withval" = "no" || kerberos="$withval"],
93         [kerberos="no"])
95 dnl check for Kerberos
96 AC_SUBST(KRB5_CFLAGS)
97 AC_SUBST(KRB5_LDFLAGS)
98 AC_SUBST(KRB5_LIBS)
100 AM_CONDITIONAL(SIP_SEC_KRB5, test "$kerberos" != "no")
101 if test "$kerberos" != "no" ; then
102         if test "$kerberos" != "yes" ; then
103                 KRB5_CFLAGS="-I${kerberos}/include"
104                 KRB5_LDFLAGS="-L${kerberos}/lib"
105         fi
106         orig_LDFLAGS="$LDFLAGS"
107         LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
108         AC_CHECK_LIB(krb5, krb5_rd_req,
109                         [KRB5_LIBS="-lkrb5"],
110                         [AC_CHECK_LIB(krb5, krb5_rd_req,
111                                 [KRB5_LIBS="-lkrb5"],
112                                 [AC_ERROR(Kerberos 5 libraries not found)],
113                                 )],
114                         -lkrb5)
115         AC_CHECK_LIB(gssapi_krb5, gss_krb5_export_lucid_sec_context,
116                         [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"],
117                         [AC_CHECK_LIB(gssapi, gss_krb5_export_lucid_sec_context,
118                                 [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5"],
119                                 [AC_ERROR(GSSAPI libraries not found)],
120                                 )],
121                         -lgssapi_krb5)
122         savedLIBS="$LIBS"
123         LIBS="$KRB5_LIBS $LIBS"
124         AC_CHECK_FUNCS([krb5_get_error_message])
125         LIBS="$savedLIBS"
126         AC_DEFINE(HAVE_KERBEROS, 1, [Define if kerberos should be used in sipe.])
129 dnl check for glib
130 PKG_CHECK_MODULES(GLIB, [glib-2.0])
132 dnl check for libxml2
133 PKG_CHECK_MODULES(LIBXML2, [libxml-2.0])
135 dnl assumption check: sizof(uuid_t) must be 16 (see uuid.c)
136 AC_MSG_CHECKING([that sizeof(uuid_t) is 16])
137 ac_save_CFLAGS=$CFLAGS
138 CFLAGS="$GLIB_CFLAGS -Werror -Wall -Wextra"
139 dnl note the [[[ quoting: our code contains []!
140 AC_RUN_IFELSE(
141         AC_LANG_PROGRAM(
142                 [[[
143 #include <glib.h>
144 #include <stdio.h>
146 /* Copied from uuid.c */
147 typedef struct {
148    guint32 time_low;
149    guint16 time_mid;
150    guint16 time_hi_and_version;
151    guint8  clock_seq_hi_and_reserved;
152    guint8  clock_seq_low;
153    guint8  node[6];
154 } uuid_t;
155                 ]]],
156                 [return(sizeof(uuid_t) == 16 ? 0 : 1);]),
157         [AC_MSG_RESULT(yes)],
158         [AC_MSG_RESULT(failed)
159          AC_ERROR(sizeof(uuid_t) is not 16
161 Please notify the SIPE developers and provide the following information:
163  host:     $host
164  build:    $build
165  compiler: $CC
167 CFLAGS=$ac_save_CFLAGS
169 dnl check for libpurple
170 purple="yes"
171 AC_ARG_WITH([purple],
172         [AC_HELP_STRING([--with-purple],
173                 [compile sipe plugin for libpurple clients @<:@default=autodetect@:>@])],
174         [test "$withval" = "yes" || purple="no"],
175         [])
176 if test "$purple" != "no"; then
177         PKG_CHECK_MODULES(PURPLE, [purple >= 2.4.0],
178                 [],
179                 [purple="no"])
182 dnl support for libpurple plugin
183 AM_CONDITIONAL(SIPE_INCLUDE_PURPLE, test "$purple" != "no")
184 if test "$purple" != "no"; then
186         dnl unfortunately PURPLE_MAJOR_VERSION is not exported by purple.m4
187         PURPLE_MAJOR_VERSION=`$PKG_CONFIG --modversion purple | cut -d. -f 1`
188         AC_SUBST(PURPLE_MAJOR_VERSION)
190         dnl let user now if he has a 32- and 64-bit header conflict...
191         AC_MSG_CHECKING([for 32- and 64-bit header conflicts])
192         ac_save_CFLAGS=$CFLAGS
193         CFLAGS="$PURPLE_CFLAGS -Werror -Wall -Wextra"
194         AC_COMPILE_IFELSE(
195                 AC_LANG_PROGRAM(
196                         [
197 #include <glib.h>
198 #include <cipher.h>
200 /* Compile some code that has caused trouble in the past */
201 void testfunc(unsigned long len)
203   PurpleCipherContext *rc4 = NULL;
204   purple_cipher_context_set_option(rc4, "key_len", GUINT_TO_POINTER(len));
206                         ],
207                         [testfunc(16);]),
208                 [AC_MSG_RESULT(none)],
209                 [AC_MSG_RESULT(failed)
210                  AC_ERROR(conflicts found.
212 Check that you have the correct glib/libpurple headers installed for
213 your architecture or set PURPLE_CFLAGS to override the system defaults.
215         CFLAGS=$ac_save_CFLAGS
218 dnl check for telepathy
219 telepathy="yes"
220 AC_ARG_WITH([telepathy],
221         [AC_HELP_STRING([--with-telepathy],
222                 [compile sipe plugin for telepathy clients @<:@default=autodetect@:>@])],
223         [test "$withval" = "yes" || telepathy="no"],
224         [])
225 if test "$telepathy" != "no"; then
226         PKG_CHECK_MODULES(TELEPATHY, [telepathy-glib],
227                 [],
228                 [telepathy="no"])
231 dnl support for telepathy plugin
232 AM_CONDITIONAL(SIPE_INCLUDE_TELEPATHY, test "$telepathy" != "no")
233 dnl NOTHING IMPLEMENTED YET!!!
234 dnl if test "$telepathy" != "no"; then
235 dnl fi
237 dnl sanity check
238 AS_IF([test "$purple" = "no" -a "$telepathy" = "no"],
239         [AC_ERROR(at least one plugin must be selected
241 If you didn't use a --without option then please check that you have
242 the headers for the packages "purple" or "telepathy-glib" installed.
244         [])
246 dnl i18n
247 AC_MSG_CHECKING([locale_CPPFLAGS])
248 LOCALE_CPPFLAGS='-DLOCALEDIR=\"$(prefix)/$(DATADIRNAME)/locale\"'
249 AC_SUBST([LOCALE_CPPFLAGS])
250 AC_MSG_RESULT([$LOCALE_CPPFLAGS])
251 AM_GLIB_GNU_GETTEXT
252 AC_SUBST(GETTEXT_PACKAGE, "${PACKAGE_NAME}")
254 dnl codeset
255 AM_LANGINFO_CODESET
257 dnl substitutions and generated files
258 AC_CONFIG_HEADERS([config.h])
259 AC_CONFIG_FILES([
260         Makefile
261         pixmaps/Makefile
262         m4macros/Makefile
263         po/Makefile.in
264         pixmaps/16/Makefile
265         pixmaps/22/Makefile
266         pixmaps/48/Makefile
267         src/Makefile
268         src/core/Makefile
269         src/api/Makefile
270         src/purple/Makefile
271         src/telepathy/Makefile
272         ])
274 dnl generate files
275 AC_OUTPUT()
277 dnl additional info for the user
278 echo
279 if test "$purple" != "no" ; then
280         echo "Compiling libpurple plugin"
281         echo "PURPLE_CFLAGS  : $PURPLE_CFLAGS"
282         echo "PURPLE_LIBS    : $PURPLE_LIBS"
283 else
284         echo "Skipping libpurple plugin"
287 echo
288 if test "$telepathy" != "no" ; then
289         echo "Compiling telepathy plugin"
290         echo
291         echo "NOTHING IMPLEMENTED YET!!!"
292         echo
293         echo "TELEPATHY_CFLAGS: $TELEPATHY_CFLAGS"
294         echo "TELEPATHY_LIBS  : $TELEPATHY_LIBS"
295 else
296         echo "Skipping telepathy plugin"
298 if test "$kerberos" != "no" ; then
299         echo
300         echo "Compiling with kerberos 5 support"
301         echo "KRB5_CFLAGS    : $KRB5_CFLAGS"
302         echo "KRB5_LDFLAGS   : $KRB5_LDFLAGS"
303         echo "KRB5_LIBS      : $KRB5_LIBS"
306 if test "$enable_debug" != "no"; then
307         echo
308         echo "Compiling with debugging enabled"
309         echo "DEBUG_CFLAGS   : $DEBUG_CFLAGS"
312 if test -n "${QUALITY_CFLAGS}"; then
313         echo
314         echo "Compiling with compiler checks enabled"
315         echo "QUALITY_CFLAGS : $QUALITY_CFLAGS"
318 echo
319 echo "configure complete, now run 'make'"
320 echo
322 dnl The End.