1 dnl Process this file with autoconf to produce a configure script.
4 # UPDATING VERSION NUMBERS FOR RELEASES
6 # purple_micro_version += 1
8 # If any functions have been added to libpurple, Pidgin, or Finch:
9 # purple_micro_version = 0
10 # purple_minor_version += 1
11 # purple_lt_current += 1
13 # If backwards compatibility has been broken in libpurple, Pidgin, or Finch:
14 # purple_micro_version = 0
15 # purple_minor_version = 0
16 # purple_major_version += 1;
17 # purple_lt_current += 1
19 # purple_version_suffix should be similar to one of the following:
20 # For beta releases: [beta2]
21 # For code under development: [devel]
22 # For production releases: []
25 # If any code has changed in libgnt:
26 # gnt_micro_version += 1
28 # If any functions have been added to libgnt:
29 # gnt_micro_version = 0
30 # gnt_minor_version += 1
33 # If backwards compatibility has been broken in libgnt:
34 # gnt_micro_version = 0
35 # gnt_minor_version = 0
36 # gnt_major_version += 1;
39 # gnt_version_suffix should be similar to one of the following:
40 # For beta releases: [beta2]
41 # For code under development: [devel]
42 # For production releases: []
44 # Make sure to update finch/libgnt/configure.ac with libgnt version changes.
46 m4_define([purple_lt_current], [20])
47 m4_define([purple_major_version], [3])
48 m4_define([purple_minor_version], [0])
49 m4_define([purple_micro_version], [0])
50 m4_define([purple_version_suffix], [devel])
51 m4_define([purple_version],
52 [purple_major_version.purple_minor_version.purple_micro_version])
53 m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix]))
55 # the last version for Finch 2 was 2.8.10,
56 # the first version for Finch 3 was 2.9.0
57 m4_define([gnt_lt_current], [9])
58 m4_define([gnt_major_version], [2])
59 m4_define([gnt_minor_version], [9])
60 m4_define([gnt_micro_version], [0])
61 m4_define([gnt_version_suffix], [devel])
62 m4_define([gnt_version],
63 [gnt_major_version.gnt_minor_version.gnt_micro_version])
64 m4_define([gnt_display_version], gnt_version[]m4_ifdef([gnt_version_suffix],[gnt_version_suffix]))
67 AC_INIT([pidgin], [purple_display_version], [devel@pidgin.im])
69 if test `pwd | wc -w` -ne 1; then
71 You are attempting to build in a path that contains spaces. This
72 will fail. Relocate this source tree to a path that does not contain
73 spaces and run configure again.
78 AC_CONFIG_HEADERS([config.h])
79 AC_CONFIG_MACRO_DIR([m4macros])
80 AM_INIT_AUTOMAKE([1.11 -Wno-portability dist-bzip2 subdir-objects])
81 AM_SILENT_RULES([yes])
83 PURPLE_MAJOR_VERSION=purple_major_version
84 PURPLE_MINOR_VERSION=purple_minor_version
85 PURPLE_MICRO_VERSION=purple_micro_version
86 PURPLE_VERSION=purple_display_version
87 PURPLE_API_VERSION=$((purple_lt_current - purple_minor_version))
88 AC_SUBST(PURPLE_MAJOR_VERSION)
89 AC_SUBST(PURPLE_MINOR_VERSION)
90 AC_SUBST(PURPLE_MICRO_VERSION)
91 AC_SUBST(PURPLE_VERSION)
92 AC_SUBST(PURPLE_API_VERSION)
94 PURPLE_LT_VERSION_INFO="purple_lt_current:purple_micro_version:purple_minor_version"
95 AC_SUBST(PURPLE_LT_VERSION_INFO)
97 GNT_MAJOR_VERSION=gnt_major_version
98 GNT_MINOR_VERSION=gnt_minor_version
99 GNT_MICRO_VERSION=gnt_micro_version
100 GNT_VERSION=gnt_display_version
101 GNT_API_VERSION=$((gnt_lt_current - gnt_minor_version))
102 AC_SUBST(GNT_MAJOR_VERSION)
103 AC_SUBST(GNT_MINOR_VERSION)
104 AC_SUBST(GNT_MICRO_VERSION)
105 AC_SUBST(GNT_VERSION)
106 AC_SUBST(GNT_API_VERSION)
108 GNT_LT_VERSION_INFO="gnt_lt_current:gnt_micro_version:gnt_minor_version"
109 AC_SUBST(GNT_LT_VERSION_INFO)
111 AC_PATH_PROG(sedpath, sed)
112 AC_PATH_PROG(xxdpath, xxd)
114 dnl Storing configure arguments
115 AC_DEFINE_UNQUOTED(CONFIG_ARGS, "$ac_configure_args", [configure arguments])
117 dnl Checks for programs.
122 LT_INIT([disable-static])
127 dnl Check for Sun compiler
128 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
132 *-*-mingw* | *-*-cygwin*)
135 LIBS="$LIBS -lws2_32"
136 DNSAPI_LIBS="-ldnsapi"
137 PLUGIN_LDFLAGS="-avoid-version -no-undefined"
138 AC_SUBST(DNSAPI_LIBS)
139 AC_CHECK_TOOL(WINDRES, windres)
140 AC_DEFINE(IS_WIN32_CROSS_COMPILED, 1,
141 [Define to 1, when building with autotools (not necessarily
142 cross-compiling) for windows. It's a temporary hack to remain
143 non-autotools win32 build working. Drop it when we fully
144 switch our win32 build to autotools.])
145 AC_DEFINE(WIN32_LEAN_AND_MEAN, 1,
146 [Define to 1, to build faster for win32.])
151 PLUGIN_LDFLAGS="-avoid-version"
154 AM_CONDITIONAL(IS_WIN32, test "x$is_win32" = "xyes")
155 AC_SUBST([PLUGIN_LDFLAGS])
158 PURPLE_LIBS="\$(top_builddir)/libpurple/libpurple.la \$(GLIB_LIBS) \$(GPLUGIN_LIBS)"
159 PIDGIN_LIBS="\$(top_builddir)/pidgin/libpidgin.la \$(GTK_LIBS) \$(PURPLE_LIBS) \$(WEBKIT_LIBS)"
160 FINCH_LIBS="\$(top_builddir)/finch/libfinch.la \$(top_builddir)/finch/libgnt/libgnt.la \$(PURPLE_LIBS)"
161 AC_SUBST(PURPLE_LIBS)
162 AC_SUBST(PIDGIN_LIBS)
165 dnl Checks for header files.
167 AC_CHECK_HEADERS(fcntl.h unistd.h stdint.h)
169 dnl Checks for typedefs, structures, and compiler characteristics.
170 AC_CHECK_SIZEOF(time_t, ,[
176 AC_ARG_WITH(win32-dirs, [AS_HELP_STRING([--with-win32-dirs=<classic|fhs>],
177 [use win32 classic (Program Files-like) or FHS (unix-like) directory structure (default: classic)])], [
178 if test "x$withval" != "xclassic" -a "x$withval" != "xfhs" ; then
179 AC_MSG_ERROR([Unsupported win32-dirs option. Please choose "classic" or "fhs".])
181 with_win32_dirs="$withval"
182 ], with_win32_dirs="classic")
183 if test "x$is_win32" = "xyes" -a "x$with_win32_dirs" = "xfhs" ; then
184 AC_DEFINE(USE_WIN32_FHS, 1, [Define to 1, to use FHS on win32.])
187 dnl Check for directories
188 if test "x$is_win32" = "xyes" ; then
189 if test "x$with_win32_dirs" = "xfhs" ; then
190 AS_AC_EXPAND(win32_fhs_bindir, "$bindir")
191 AC_DEFINE_UNQUOTED([WIN32_FHS_BINDIR], ["$win32_fhs_bindir"],
192 [bindir, as defined by configure])
193 AS_AC_EXPAND(win32_fhs_libdir, "$libdir")
194 AC_DEFINE_UNQUOTED([WIN32_FHS_LIBDIR], ["$win32_fhs_libdir"],
195 [libdir, as defined by configure])
196 AS_AC_EXPAND(win32_fhs_datadir, "$datadir")
197 AC_DEFINE_UNQUOTED([WIN32_FHS_DATADIR], ["$win32_fhs_datadir"],
198 [datadir, as defined by configure])
199 AS_AC_EXPAND(win32_fhs_sysconfdir, "$sysconfdir")
200 AC_DEFINE_UNQUOTED([WIN32_FHS_SYSCONFDIR], ["$win32_fhs_sysconfdir"],
201 [sysconfdir, as defined by configure])
202 AS_AC_EXPAND(win32_fhs_localedir, "$localedir")
203 AC_DEFINE_UNQUOTED([WIN32_FHS_LOCALEDIR], ["$win32_fhs_localedir"],
204 [localedir, as defined by configure])
206 purple_libdir="wpurple_lib_dir(\"purple-$PURPLE_MAJOR_VERSION\")"
207 pidgin_libdir="wpurple_lib_dir(\"pidgin-$PURPLE_MAJOR_VERSION\")"
208 finch_libdir="wpurple_lib_dir(\"finch-$PURPLE_MAJOR_VERSION\")"
210 purple_libdir="wpurple_lib_dir(NULL)"
211 pidgin_libdir="wpurple_lib_dir(NULL)"
212 finch_libdir="wpurple_lib_dir(NULL)"
215 purple_datadir="wpurple_data_dir()"
216 purple_sysconfdir="wpurple_sysconf_dir()"
217 purple_localedir="wpurple_locale_dir()"
219 AS_AC_EXPAND(purple_datadir, "$datadir")
220 purple_datadir="\"$purple_datadir\""
221 AS_AC_EXPAND(purple_sysconfdir, "$sysconfdir")
222 purple_sysconfdir="\"$purple_sysconfdir\""
223 AS_AC_EXPAND(purple_localedir, "$localedir")
224 purple_localedir="\"$purple_localedir\""
226 AS_AC_EXPAND(common_libdir, "$libdir")
227 purple_libdir="\"$common_libdir/purple-$PURPLE_MAJOR_VERSION\""
228 pidgin_libdir="\"$common_libdir/pidgin-$PURPLE_MAJOR_VERSION\""
229 finch_libdir="\"$common_libdir/finch-$PURPLE_MAJOR_VERSION\""
231 AC_DEFINE_UNQUOTED([PURPLE_DATADIR], [$purple_datadir],
232 [datadir to use, may expand into a function call that returns const char *])
233 AC_DEFINE_UNQUOTED([PURPLE_LIBDIR], [$purple_libdir],
234 [libdir to use for libpurple, may expand into a function call that returns const char *])
235 AC_DEFINE_UNQUOTED([PIDGIN_LIBDIR], [$pidgin_libdir],
236 [libdir to use for Pidgin, may expand into a function call that returns const char *])
237 AC_DEFINE_UNQUOTED([FINCH_LIBDIR], [$finch_libdir],
238 [libdir to use for Finch, may expand into a function call that returns const char *])
239 AC_DEFINE_UNQUOTED([PURPLE_SYSCONFDIR], [$purple_sysconfdir],
240 [sysconfdir to use, may expand into a function call that returns const char *])
241 AC_DEFINE_UNQUOTED([PURPLE_LOCALEDIR], [$purple_localedir],
242 [localedir to use, may expand into a function call that returns const char *])
244 PURPLE_PLUGINDIR="\$(libdir)/purple-$PURPLE_MAJOR_VERSION"
245 AC_SUBST([PURPLE_PLUGINDIR])
246 PIDGIN_PLUGINDIR="\$(libdir)/pidgin-$PURPLE_MAJOR_VERSION"
247 AC_SUBST([PIDGIN_PLUGINDIR])
248 FINCH_PLUGINDIR="\$(libdir)/finch-$PURPLE_MAJOR_VERSION"
249 AC_SUBST([FINCH_PLUGINDIR])
251 dnl Checks for library functions.
252 AC_CHECK_FUNCS(strdup)
253 dnl Checks for getopt in standard library
254 AC_CHECK_FUNCS(getopt_long,,
260 dnl Check for inet_aton
261 if test "x$is_win32" != "xyes" ; then
262 AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
263 [AC_MSG_ERROR([inet_aton not found])])])
265 AC_CHECK_LIB(resolv, __res_query)
266 AC_CHECK_LIB(nsl, gethostent)
267 if test "x$is_win32" = "xyes" ; then
268 AC_DEFINE(HAVE_GETADDRINFO, 1, [Define to 1 if you have the getaddrinfo function.])
269 AC_DEFINE(HAVE_INET_NTOP, 1, [Define to 1 if you have the `inet_ntop' function.])
271 AC_CHECK_FUNC(socket, , [AC_CHECK_LIB(socket, socket, ,
272 [AC_MSG_ERROR([socket not found])])])
273 dnl If all goes well, by this point the previous two checks will have
274 dnl pulled in -lsocket and -lnsl if we need them.
275 AC_CHECK_FUNC(getaddrinfo,
276 [AC_DEFINE([HAVE_GETADDRINFO], [1],
277 [Define to 1 if you have the getaddrinfo function.])],
278 [AC_CHECK_LIB(socket, getaddrinfo,
279 [AC_DEFINE([HAVE_GETADDRINFO]) LIBS="-lsocket -lnsl $LIBS"], , -lnsl)])
280 AC_CHECK_FUNCS(inet_ntop)
282 AC_CHECK_FUNCS(getifaddrs)
283 dnl Check for socklen_t (in Unix98)
284 AC_MSG_CHECKING(for socklen_t)
285 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
286 #include <sys/types.h>
288 # include <ws2tcpip.h>
290 # include <sys/socket.h>
296 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
297 #include <sys/types.h>
299 # include <ws2tcpip.h>
301 # include <sys/socket.h>
303 int accept(int, struct sockaddr *, size_t *);
305 AC_MSG_RESULT(size_t)
306 AC_DEFINE(socklen_t, size_t, [socklen_t size])
309 AC_DEFINE(socklen_t, int, [socklen_t size])
313 dnl Some systems do not have sa_len field for struct sockaddr.
314 AC_CHECK_MEMBER([struct sockaddr.sa_len],
315 [AC_DEFINE([HAVE_STRUCT_SOCKADDR_SA_LEN],[1],
316 [Define if struct sockaddr has an sa_len member])],[:],
319 # include <ws2tcpip.h>
321 # include <sys/socket.h>
325 dnl Check for v6-only sockets
326 AC_CHECK_DECL([IPV6_V6ONLY],
327 [AC_DEFINE([HAVE_IPV6_V6ONLY],[1],
328 [Define if the IPV6_V6ONLY setsockopt option exists])],
331 # include <ws2tcpip.h>
333 # include <netinet/in.h>
337 dnl to prevent the g_stat()/g_unlink() crash,
338 dnl (09:50:07) Robot101: LSchiere2: it's easy. +LC_SYS_LARGEFILE somewhere in configure.ac
341 dnl FreeBSD doesn't have libdl, dlopen is provided by libc
342 AC_CHECK_FUNC(dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
344 dnl Windows and Haiku do not use libm for the math functions, they are part
346 AC_SEARCH_LIBS([ceil], [m], [], [
347 AC_MSG_ERROR([unable to find the ceil() function])
350 AC_MSG_CHECKING([for fileno()])
351 AC_RUN_IFELSE([AC_LANG_SOURCE([[
354 int main(int argc, char *argv[])
364 AC_DEFINE([HAVE_FILENO], [1],
365 [Define to 1 if your stdio has int fileno(FILE *).])
369 # Fallback for Cross Compiling...
370 # This will enable the compatibility code.
374 AC_MSG_CHECKING([for the %z format string in strftime()])
375 AC_RUN_IFELSE([AC_LANG_SOURCE([[
382 time_t t = time(NULL);
384 if (strftime(buf, sizeof(buf), "%z", localtime(&t)) != 5)
387 fprintf(stderr, "strftime(\"%%z\") yields: \"%s\"\n", buf);
389 return !((buf[0] == '-' || buf[0] == '+') &&
390 (buf[1] >= '0' && buf[1] <= '9') &&
391 (buf[2] >= '0' && buf[2] <= '9') &&
392 (buf[3] >= '0' && buf[3] <= '9') &&
393 (buf[4] >= '0' && buf[4] <= '9')
398 AC_DEFINE([HAVE_STRFTIME_Z_FORMAT], [1],
399 [Define to 1 if you have a strftime() that supports the %z format string.])
403 # Fallback for Cross Compiling...
404 # This will enable the compatibility code.
408 # before gettexting, in case iconv matters
411 AC_CHECK_LIB(resolv, res_query)
413 AC_CHECK_HEADER(CoreFoundation/CoreFoundation.h, [
414 AC_CHECK_HEADER(IOKit/IOKitLib.h, [
415 AC_DEFINE(HAVE_IOKIT, 1, [Define if we have IOKit])
416 LIBS="$LIBS -framework IOKit -framework CoreFoundation"
420 AC_MSG_CHECKING([for fink])
422 AC_MSG_RESULT([found, adding /sw to search paths])
423 CPPFLAGS="$CPPFLAGS -I/sw/include"
424 LDFLAGS="$LDFLAGS -L/sw/lib"
426 AC_MSG_RESULT([not found])
433 dnl #######################################################################
434 dnl # Disable creation and installation of translation files
435 dnl #######################################################################
436 AC_ARG_ENABLE(nls, AS_HELP_STRING([--disable-nls], [disable installation of translation files]), enable_i18n="$enableval", enable_i18n=yes)
438 if test x$enable_i18n = xyes; then
440 GETTEXT_PACKAGE=pidgin
441 AC_SUBST(GETTEXT_PACKAGE)
443 ALL_LINGUAS="af am ar as ast az be@latin bg bn_IN bn br brx bs ca ca@valencia cs da de dz el en_AU en_CA en_GB eo es_AR es et eu fa fi fr ga gl gu he hi hr hu id it ja ka kk km kn ko ks ku_IQ ku lt lv mai mhr mk ml mn mr ms_MY my_MM nb ne nl nn oc or pa pl ps pt_BR pt ro ru sd si sk sl sq sr@latin sr sv sw ta te th tr tt uk ur uz vi xh zh_CN zh_HK zh_TW"
446 dnl If we don't have msgfmt, then po/ is going to fail -- ensure that
447 dnl AM_GLIB_GNU_GETTEXT found it.
449 if test x$MSGFMT = xno -o x$MSGFMT$GMSGFMT$INTLTOOL_MSGFMT = x
453 The msgfmt command is required to build libpurple. If it is installed
454 on your system, ensure that it is in your path. If it is not, install
455 GNU gettext to continue.
457 If you have msgfmt installed, but for some reason this error message
458 is still displayed, you have encountered what appears to be a bug in
459 third-party configure macros. Try setting the MSGFMT environment
460 variable to the absolute path to your msgfmt binary and trying
461 configure again, like this:
463 MSGFMT=/path/to/msgfmt ./configure ...
468 AM_CONDITIONAL(INSTALL_I18N, test "x$enable_i18n" = "xyes")
470 dnl #######################################################################
471 dnl # Check for GLib 2.36 (required)
472 dnl #######################################################################
473 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.36.0 gio-2.0 gobject-2.0 gthread-2.0], , [
477 You must have GLib 2.36.0 or newer development headers installed to build.
479 If you have these installed already you may need to install pkg-config so
482 AC_SUBST(GLIB_CFLAGS)
485 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
486 AC_SUBST(GLIB_GENMARSHAL)
488 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
489 AC_SUBST(GLIB_MKENUMS)
491 AC_PATH_PROG(GTESTER, gtester)
494 AC_ARG_WITH([extraversion],
495 AS_HELP_STRING([--with-extraversion=STRING],
496 [extra version number to be displayed in Help->About and --help (for packagers)]),
497 EXTRA_VERSION=$withval)
499 if test x"$EXTRA_VERSION" != "x" ; then
500 AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$VERSION-$EXTRA_VERSION", [display version info])
502 AC_DEFINE_UNQUOTED(DISPLAY_VERSION, "$VERSION", [display version info])
505 AC_ARG_ENABLE(missing-dependencies, [AS_HELP_STRING([--disable-missing-dependencies],
506 [skip missing dependencies instead of aborting configure])],
507 force_deps="$enableval", force_deps="yes")
510 with_x="$withval", with_x="$is_not_win32")
511 AC_ARG_ENABLE(gtkui, [AS_HELP_STRING([--disable-gtkui],
512 [compile without GTK+ user interface])],
513 enable_gtkui="$enableval", enable_gtkui="yes")
514 AC_ARG_ENABLE(consoleui, [AS_HELP_STRING([--disable-consoleui],
515 [compile without console user interface])],
516 [enable_consoleui=$enableval force_finch=$enableval], [enable_consoleui=yes force_finch=no])
518 dnl #######################################################################
519 dnl # Check for GTK+ 2.18 and other things used by the GTK UI
520 dnl #######################################################################
521 AC_ARG_ENABLE(screensaver,
522 [AS_HELP_STRING([--disable-screensaver],
523 [compile without X screensaver extension (used to detect idleness)])],
524 enable_screensaver="$enableval", enable_screensaver="yes")
526 [AS_HELP_STRING([--disable-sm],
527 [compile without X session management support])],
528 enable_sm="$enableval", enable_sm="yes")
529 AC_ARG_ENABLE(startup-notification,
530 [AS_HELP_STRING([--disable-startup-notification],
531 [compile without startup notification support])],
532 enable_startup_notification="$enableval", enable_startup_notification="yes")
533 AC_ARG_ENABLE(enchant,
534 [AS_HELP_STRING([--disable-enchant],
535 [compile without Enchant spell checking support])],
536 enable_enchant="$enableval", enable_enchant="yes")
537 AC_ARG_ENABLE(gevolution,
538 [AS_HELP_STRING([--enable-gevolution],
539 [compile with the Evolution plugin])],
540 enable_gevolution="$enableval", enable_gevolution="no")
542 [AS_HELP_STRING([--enable-cap],
543 [compile with Contact Availability Prediction plugin])],
544 enable_cap="$enableval", enable_cap="no")
545 AC_ARG_ENABLE(gestures,
546 [AS_HELP_STRING([--disable-gestures],
547 [compile without the gestures plugin])],
548 enable_gestures="$enableval", enable_gestures="yes")
550 [AS_HELP_STRING([--enable-gcr],
551 [compile with GCR certificate widgets])],
552 enable_gcr="$enableval", enable_gcr="no")
555 # We can't assume that $x_libraries will be set, because autoconf does not
556 # set it in the case when the X libraries are in a standard place.
557 # Ditto for $x_includes
558 if test X"$x_libraries" = X"" || test X"$x_libraries" = XNONE; then
561 x_libpath_add="-L$x_libraries"
563 if test X"$x_includes" = X"" || test X"$x_includes" = XNONE; then
566 x_incpath_add="-I$x_includes"
569 dnl #######################################################################
570 dnl Check Pidgin dependencies
571 dnl #######################################################################
572 if test "x$enable_gtkui" = "xyes" ; then
573 PKG_CHECK_MODULES(GTK, [gtk+-3.0 >= 3.4.2], , [
576 You must have GTK+ 3.4.2 or newer development headers installed to compile
577 Pidgin. If you want to build only Finch then specify --disable-gtkui when
583 dnl We only really need Pango >= 1.4 for decent RTL support
584 PKG_CHECK_MODULES(PANGO, [pango >= 1.4.0],
585 AC_DEFINE(HAVE_PANGO14, 1, [Define if we have Pango 1.4 or newer.]),:)
588 PKG_CHECK_MODULES(WEBKIT, ["webkitgtk-3.0" >= $WEBKIT_VERSION], , [
591 You must have WebKit for GTK+3 $WEBKIT_VERSION or newer development headers
592 installed to compile Pidgin. If you want to build only Finch then specify
593 --disable-gtkui when running configure.
595 AC_SUBST(WEBKIT_CFLAGS)
596 AC_SUBST(WEBKIT_LIBS)
598 dnl #######################################################################
599 dnl # Check if we should compile with enchant support
600 dnl #######################################################################
601 dnl We need enchant for spell checking dictionary enumeration,
602 dnl because webkit1 doesn't have this.
604 if test "x$enable_enchant" = "xyes" ; then
606 PKG_CHECK_MODULES(ENCHANT, enchant, , [
610 if test "x$force_deps" = "xyes" -a "x$use_enchant" = "xno"; then
612 Enchant development headers not found.
613 Use --disable-enchant if you do not need it.
616 if test "x$use_enchant" = "xyes" ; then
617 AC_DEFINE(USE_ENCHANT, 1, [Define if we're using enchant])
618 AC_SUBST(ENCHANT_CFLAGS)
619 AC_SUBST(ENCHANT_LIBS)
623 dnl #######################################################################
624 dnl # Check if we should compile with X support
625 dnl #######################################################################
626 if test "x$with_x" = "xyes" ; then
627 PKG_CHECK_MODULES(X11, x11,
628 [AC_DEFINE(HAVE_X11, 1, [Define to 1 if you have X11])],
630 if test "x$x_incpath_add" != "x" -a "x$x_libpath_add" != "x"; then
631 X11_LIBS="$x_libpath_add"
632 X11_CFLAGS="$x_incpath_add"
635 if test "x$force_deps" = "xyes" ; then
637 X11 development headers not found.
638 Use --without-x if you do not need X11 support.
646 enable_screensaver=no
651 dnl #######################################################################
652 dnl # Check for XScreenSaver
653 dnl #######################################################################
654 if test "x$enable_screensaver" = "xyes" ; then
655 if test "x$with_x" = "xyes" ; then
657 LIBS="$LIBS $GTK_LIBS $x_libpath_add"
660 AC_CHECK_LIB(Xext, XScreenSaverRegister,[XSS_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXext $X_EXTRA_LIBS"],[],[-lX11 -lXext -lm])
661 AC_CHECK_LIB(Xss, XScreenSaverRegister,[XSS_LIBS="$X_LIBS $X_PRE_LIBS -lX11 -lXext $X_LIBS $X_EXTRA_LIBS -lXss"],[],[-lX11 -lXext -lm])
662 if test "x$XSS_LIBS" != "x"; then
663 oldCPPFLAGS="$CPPFLAGS"
664 CPPFLAGS="$CPPFLAGS $x_incpath_add"
665 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
666 #include <X11/Xlib.h>
667 #include <X11/extensions/scrnsaver.h>
668 ]], [[]])], [], [enable_screensaver=no])
669 CPPFLAGS="$oldCPPFLAGS"
671 enable_screensaver=no
675 if test "x$enable_screensaver" = "xyes" ; then
676 AC_DEFINE(USE_SCREENSAVER, 1, [Define if we're using XScreenSaver.])
679 if test "x$force_deps" = "xyes" ; then
681 XScreenSaver extension development headers (libXScrnSaver-devel or libxss-dev) not found.
682 Use --disable-screensaver if you do not need XScreenSaver extension support,
683 this is required for detecting idle time by mouse and keyboard usage.
688 AC_MSG_ERROR([X support is required to build with XScreenSaver extensions])
692 dnl #######################################################################
693 dnl # Check for X session management libs
694 dnl #######################################################################
695 if test "x$enable_sm" = "xyes"; then
696 if test "x$with_x" = "xyes" ; then
698 AC_CHECK_LIB(SM, SmcSaveYourselfDone, found_sm_lib=true, , [$x_libpath_add -lICE])
699 if test "x$found_sm_lib" = "xtrue"; then
700 oldCPPFLAGS="$CPPFLAGS"
701 CPPFLAGS="$CPPFLAGS $x_incpath_add"
702 AC_CHECK_HEADERS(X11/SM/SMlib.h, SM_LIBS="$x_libpath_add -lSM -lICE" enable_sm=yes)
703 CPPFLAGS="$oldCPPFLAGS"
706 if test "x$enable_sm" = "xyes"; then
707 AC_DEFINE(USE_SM, 1, [Define if we're using X Session Management.])
710 if test "x$force_deps" = "xyes" ; then
712 X session management development headers not found.
713 Use --disable-sm if you do not need session management support.
718 AC_MSG_ERROR([X support is required to build with X session management support])
722 dnl #######################################################################
723 dnl # Check for X11 to allow the gestures plugin
724 dnl #######################################################################
725 if test "x$enable_gestures" = "xyes"; then
726 if test "x$with_x" = "xno" ; then
731 dnl #######################################################################
732 dnl # Check for stuff needed by the Evolution integration plugin.
733 dnl #######################################################################
734 if test "x$enable_gevolution" = "xyes"; then
735 evo_deps="libebook-1.2 libedata-book-1.2 evolution-data-server-1.2 >= 3.6"
736 PKG_CHECK_MODULES(EVOLUTION_ADDRESSBOOK, $evo_deps, , [
737 enable_gevolution="no"
739 if test "x$enable_gevolution" = "xyes"; then
740 AC_DEFINE(HAVE_EVOLUTION_ADDRESSBOOK, 1, [Define if we're using evolution addressbook.])
741 AC_SUBST(EVOLUTION_ADDRESSBOOK_CFLAGS)
742 AC_SUBST(EVOLUTION_ADDRESSBOOK_LIBS)
744 if test "x$force_deps" = "xyes" ; then
746 Evolution development headers not found (libebook, libedata-book, evolution-data-server >= 3.6).
747 Use --disable-gevolution if you do not need it.
753 dnl #######################################################################
754 dnl # Check for libsqlite3 (for the Contact Availability Prediction plugin)
755 dnl #######################################################################
756 if test "x$enable_cap" = "xyes"; then
757 PKG_CHECK_MODULES(SQLITE3, sqlite3 >= 3.3,,[
760 if test "x$force_deps" = "xyes" ; then
762 sqlite3 development headers not found.
763 Use --disable-cap if you do not need the Contact Availability Prediction plugin.
768 dnl #######################################################################
769 dnl # Check for GCR for its certificate widgets
770 dnl #######################################################################
771 if test "x$enable_gcr" = "xyes"; then
772 PKG_CHECK_MODULES(GCR, gcr-3, [
773 AC_DEFINE(ENABLE_GCR, 1, [Define to 1 if GCR is found.])], [
776 if test "x$force_deps" = "xyes" ; then
778 GCR for GTK+3 development headers not found.
779 Use --disable-gcr if you do not need GCR certificate widgets.
789 enable_screensaver=no
791 enable_startup_notification=no
794 AM_CONDITIONAL(ENABLE_GTK, test "x$enable_gtkui" = "xyes")
795 AM_CONDITIONAL(BUILD_GEVOLUTION, test "x$enable_gevolution" = "xyes")
796 AM_CONDITIONAL(ENABLE_CAP, test "x$enable_cap" = "xyes")
797 AM_CONDITIONAL(ENABLE_GESTURES, test "x$enable_gestures" = "xyes")
798 AM_CONDITIONAL(ENABLE_GCR, test "x$enable_gcr" = "xyes")
801 dnl #######################################################################
802 dnl # Check for ncurses and other things used by the console UI
803 dnl #######################################################################
806 AC_ARG_WITH(ncurses-headers, [AS_HELP_STRING([--with-ncurses-headers=DIR],
807 [compile finch against the ncurses includes in DIR])],
808 [ac_ncurses_includes="$withval"], [ac_ncurses_includes=""])
809 if test "x$enable_consoleui" = "xyes"; then
810 AC_CHECK_LIB(ncursesw, initscr, [GNT_LIBS="-lncursesw"], [enable_consoleui=no])
811 AC_CHECK_LIB(panelw, update_panels, [GNT_LIBS="$GNT_LIBS -lpanelw"],
812 [enable_consoleui=no], [$GNT_LIBS])
814 if test "x$is_win32" = "xyes" ; then
815 ncurses_sys_prefix="/usr/$host/sys-root/mingw"
817 ncurses_sys_prefix="/usr"
820 ncurses_sys_dirs="$ncurses_sys_prefix/include/ncursesw $ncurses_sys_prefix/include"
822 if test "x$enable_consoleui" = "xyes"; then
823 dnl # Some distros put the headers in ncursesw/, some don't
825 for location in $ac_ncurses_includes $NCURSES_HEADERS $ncurses_sys_dirs
827 f="$location/ncurses.h"
828 orig_CFLAGS="$CFLAGS"
829 orig_CPPFLAGS="$CPPFLAGS"
830 CFLAGS="$CFLAGS -I$location"
831 CPPFLAGS="$CPPFLAGS -I$location"
833 AC_MSG_CHECKING([if $f supports wide characters])
834 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
835 #define _XOPEN_SOURCE_EXTENDED
839 # error get_wch not found!
843 if test x"$dir" != x"." ; then
850 CFLAGS="$orig_CFLAGS"
851 CPPFLAGS="$orig_CPPFLAGS"
855 CFLAGS="$orig_CFLAGS"
856 CPPFLAGS="$orig_CPPFLAGS"
862 if test x"$found_ncurses_h" = x"no" ; then
868 # ncursesw was not found. Look for plain old ncurses
870 AC_CHECK_LIB(ncurses, initscr, [GNT_LIBS="-lncurses"], [enable_consoleui=no])
871 AC_CHECK_LIB(panel, update_panels, [GNT_LIBS="$GNT_LIBS -lpanel"],
872 [enable_consoleui=no], [$GNT_LIBS])
873 AC_DEFINE(NO_WIDECHAR, 1, [Define to 1 if you don't have wide-character support.])
874 if test x"$ac_ncurses_includes" != "x"; then
875 GNT_CFLAGS="-I$ac_ncurses_includes"
877 if test x"$NCURSES_HEADERS" != "x"; then
878 GNT_CFLAGS="-I$NCURSES_HEADERS"
884 if test "x$force_finch" = "xyes" -a "x$enable_consoleui" != "xyes"; then
887 Finch will not be built. You need to install ncursesw (or ncurses) and its development headers.
894 AM_CONDITIONAL(ENABLE_GNT, test "x$enable_consoleui" = "xyes")
896 #AC_CHECK_FUNC(wcwidth, [AC_DEFINE([HAVE_WCWIDTH], [1], [Define to 1 if you have wcwidth function.])])
898 dnl #######################################################################
899 dnl # Check for LibXML2 (required)
900 dnl #######################################################################
901 PKG_CHECK_MODULES(LIBXML, [libxml-2.0 >= 2.6.0], , [
904 You must have libxml2 >= 2.6.0 development headers installed to build.
906 PKG_CHECK_EXISTS([libxml-2.0 >= 2.6.18], , [
908 Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.
911 AC_SUBST(LIBXML_CFLAGS)
912 AC_SUBST(LIBXML_LIBS)
914 dnl #######################################################################
915 dnl # Check for JSON-GLib (required)
916 dnl #######################################################################
918 PKG_CHECK_MODULES([JSON], [json-glib-1.0 >= 0.14.0], , [
921 You must have JSON-GLib >= 0.14.0 development headers installed to build.
924 AC_SUBST(JSON_CFLAGS)
927 dnl #######################################################################
928 dnl # Check for zlib (required)
929 dnl #######################################################################
931 PKG_CHECK_MODULES(ZLIB, [zlib >= 1.2.0], , [
932 AC_SEARCH_LIBS([deflate], [z], [], AC_MSG_ERROR([You must have zlib >= 1.2.0 development headers installed to build.]), [])
935 AC_SUBST(ZLIB_CFLAGS)
938 dnl #######################################################################
939 dnl # Check for GStreamer
940 dnl #######################################################################
941 AC_ARG_ENABLE(gstreamer,
942 [AS_HELP_STRING([--disable-gstreamer], [compile without GStreamer audio support])],
943 enable_gst="$enableval", enable_gst="yes")
945 if test x"$enable_gst" != "xno"; then
946 PKG_CHECK_MODULES(GSTREAMER, [gstreamer-1.0], [
947 AC_DEFINE(USE_GSTREAMER, 1, [Use GStreamer for playing sounds])
948 AC_SUBST(GSTREAMER_CFLAGS)
949 AC_SUBST(GSTREAMER_LIBS)
953 if test "x$force_deps" = "xyes" ; then
955 GStreamer development headers not found.
956 Use --disable-gstreamer if you do not need GStreamer (sound) support.
962 dnl #######################################################################
963 dnl # Check for GStreamer Video
964 dnl #######################################################################
965 if test "x$enable_gst" != "xno"; then
966 AC_ARG_ENABLE(gstreamer-video,
967 [AS_HELP_STRING([--disable-gstreamer-video], [compile without GStreamer 1.0 Video Overlay support])],
968 enable_gstvideo="$enableval", enable_gstvideo="yes")
969 if test "x$enable_gstvideo" != "xno"; then
970 PKG_CHECK_MODULES(GSTVIDEO, [gstreamer-video-1.0], [
971 AC_DEFINE(USE_GSTVIDEO, 1, [Use GStreamer Video Overlay support])
972 AC_SUBST(GSTVIDEO_CFLAGS)
973 AC_SUBST(GSTVIDEO_LIBS)
982 dnl #######################################################################
983 dnl # Check for Farstream
984 dnl #######################################################################
985 AC_ARG_ENABLE(farstream,
986 [AS_HELP_STRING([--disable-farstream], [compile without farstream support])],
987 enable_farstream="$enableval", enable_farstream="yes")
988 if test "x$enable_farstream" != "xno"; then
989 PKG_CHECK_MODULES(FARSTREAM, [farstream-0.2 >= 0.2.7], [
990 AC_SUBST(FARSTREAM_CFLAGS)
991 AC_SUBST(FARSTREAM_LIBS)
993 enable_farstream="no"
997 dnl #######################################################################
998 dnl # Check for Voice and Video support
999 dnl #######################################################################
1001 [AS_HELP_STRING([--disable-vv], [compile without voice and video support])],
1002 enable_vv="$enableval", enable_vv="yes")
1003 if test "x$enable_vv" != "xno"; then
1004 if test "x$enable_gst" != "xno" -a "x$enable_gstvideo" != "xno" -a "x$enable_farstream" != "xno"; then
1005 AC_DEFINE(USE_VV, 1, [Use voice and video])
1008 if test "x$force_deps" = "xyes"; then
1010 Dependencies for voice/video were not met.
1011 Install the necessary gstreamer and farstream packages first.
1012 Or use --disable-vv if you do not need voice/video support.
1017 AM_CONDITIONAL(USE_VV, test "x$enable_vv" != "xno")
1019 dnl #######################################################################
1020 dnl # Check for Raw data streams support in Farstream
1021 dnl #######################################################################
1022 if test "x$enable_vv" != "xno"; then
1023 PKG_CHECK_MODULES(GSTAPP, [gstreamer-app-1.0], [
1024 AC_DEFINE(USE_GSTAPP, 1, [Use GStreamer Video Overlay support])
1025 AC_SUBST(GSTAPP_CFLAGS)
1026 AC_SUBST(GSTAPP_LIBS)
1027 AC_DEFINE(HAVE_MEDIA_APPLICATION, 1, [Define if we have support for application media type.])
1031 dnl #######################################################################
1032 dnl # Check for Internationalized Domain Name support
1033 dnl #######################################################################
1036 [AS_HELP_STRING([--disable-idn], [compile without IDN support])],
1037 [enable_idn="$enableval" force_idn=$enableval], [enable_idn="yes" force_idn=no])
1038 if test "x$enable_idn" != "xno"; then
1039 PKG_CHECK_MODULES(IDN, libidn >= 0.0.0, [
1040 AC_DEFINE(USE_IDN, 1, [Use GNU Libidn for stringprep and IDN])
1041 AC_SUBST(IDN_CFLAGS)
1046 if test "x$force_deps" = "xyes" ; then
1048 GNU Libidn development headers not found.
1049 Use --disable-idn if you do not need it.
1055 dnl #######################################################################
1056 dnl # Check for Meanwhile headers (for Sametime)
1057 dnl #######################################################################
1058 AC_ARG_ENABLE(meanwhile,
1059 [AS_HELP_STRING([--disable-meanwhile],
1060 [compile without meanwhile (required for Sametime support)])],
1061 enable_meanwhile="$enableval", enable_meanwhile="yes")
1062 if test "x$enable_meanwhile" = "xyes"; then
1063 PKG_CHECK_MODULES(MEANWHILE, [meanwhile >= 1.0.0 meanwhile < 2.0.0], [
1064 have_meanwhile="yes"
1067 if test "x$force_deps" = "xyes" ; then
1069 Meanwhile development headers not found.
1070 Use --disable-meanwhile if you do not need meanwhile (Sametime) support.
1074 AC_SUBST(MEANWHILE_CFLAGS)
1075 AC_SUBST(MEANWHILE_LIBS)
1077 dnl #######################################################################
1078 dnl # Check for Native Avahi headers (for Bonjour)
1079 dnl #######################################################################
1080 AC_ARG_ENABLE(avahi,
1081 [AS_HELP_STRING([--disable-avahi],
1082 [compile without avahi (required for Bonjour support)])],
1083 enable_avahi="$enableval", enable_avahi="yes")
1085 if test "x$enable_avahi" = "xyes" -a "x$is_win32" = "xyes" ; then
1088 elif test "x$enable_avahi" = "xyes"; then
1089 AC_ARG_WITH(avahi-client-includes, [AS_HELP_STRING([--with-avahi-client-includes=DIR], [compile the Bonjour plugin against the Avahi Client includes in DIR])], [ac_avahi_client_includes="$withval"], [ac_avahi_client_includes="no"])
1090 AC_ARG_WITH(avahi-client-libs, [AS_HELP_STRING([--with-avahi-client-libs=DIR], [compile the Bonjour plugin against the Avahi Client libs in DIR])], [ac_avahi_client_libs="$withval"], [ac_avahi_client_libs="no"])
1094 dnl Attempt to autodetect Avahi
1095 PKG_CHECK_MODULES(AVAHI, [avahi-client avahi-glib], [
1103 dnl Override AVAHI_CFLAGS if the user specified an include dir
1104 if test "$ac_avahi_client_includes" != "no"; then
1105 AVAHI_CFLAGS="-I$ac_avahi_client_includes"
1107 CPPFLAGS_save="$CPPFLAGS"
1108 CPPFLAGS="$CPPFLAGS $AVAHI_CFLAGS"
1109 AC_CHECK_HEADER(avahi-client/client.h, [avahiincludes=yes], [avahiincludes=no])
1110 CPPFLAGS="$CPPFLAGS $AVAHI_CFLAGS $GLIB_CFLAGS"
1111 AC_CHECK_HEADER(avahi-glib/glib-malloc.h, [avahiincludes=yes], [avahiincludes=no])
1112 CPPFLAGS="$CPPFLAGS_save"
1114 dnl Override AVAHI_LIBS if the user specified a libs dir
1115 if test "$ac_avahi_client_libs" != "no"; then
1116 AVAHI_LIBS="-L$ac_avahi_client_libs -lavahi-common -lavahi-client -lavahi-glib "
1118 AC_CHECK_LIB(avahi-client, avahi_client_new, [avahilibs=yes], [avahilibs=no], $AVAHI_LIBS)
1121 if test "x$enable_avahi" = "xyes" -a \( "x$avahiincludes" = "xno" -o "x$avahilibs" = "xno" \); then
1123 if test "x$force_deps" = "xyes"; then
1125 avahi development headers not found.
1126 Use --disable-avahi if you do not need avahi (Bonjour) support.
1130 AC_SUBST(AVAHI_CFLAGS)
1131 AC_SUBST(AVAHI_LIBS)
1134 dnl #######################################################################
1135 dnl # Check for SILC client includes and libraries
1136 dnl #######################################################################
1137 AC_ARG_WITH(silc-includes, [AS_HELP_STRING([--with-silc-includes=DIR], [compile the SILC plugin against includes in DIR])], [ac_silc_includes="$withval"], [ac_silc_includes="no"])
1138 AC_ARG_WITH(silc-libs, [AS_HELP_STRING([--with-silc-libs=DIR], [compile the SILC plugin against the SILC libs in DIR])], [ac_silc_libs="$withval"], [ac_silc_libs="no"])
1142 if test -n "$with_silc_includes" || test -n "$with_silc_libs"; then
1143 silc_manual_check="yes"
1145 silc_manual_check="no"
1147 if test "x$silc_manual_check" = "xno"; then
1148 PKG_CHECK_MODULES(SILC, [silcclient >= 1.1], [
1156 if test "$ac_silc_includes" != "no"; then
1157 SILC_CFLAGS="-I$ac_silc_includes"
1159 CPPFLAGS_save="$CPPFLAGS"
1160 CPPFLAGS="$CPPFLAGS $SILC_CFLAGS"
1161 AC_CHECK_HEADER(silc.h, [silcincludes=yes])
1162 CPPFLAGS="$CPPFLAGS_save"
1164 if test "$ac_silc_libs" != "no"; then
1165 SILC_LIBS="-L$ac_silc_libs"
1167 SILC_LIBS="$SILC_LIBS -lsilc -lsilcclient -lpthread $LIBDL"
1168 AC_CHECK_LIB(silcclient, silc_client_init, [silcclient=yes], , $SILC_LIBS)
1170 if test "x$silcincludes" = "xyes" -a "x$silcclient" = "xyes"; then
1175 AC_SUBST(SILC_CFLAGS)
1176 dnl SILC Toolkit >= 1.0.1 has a new MIME API
1177 if test "x$silcclient" = "xyes"; then
1178 AC_DEFINE(HAVE_SILCMIME_H, 1, [Define if we have silcmime.h])
1181 dnl #######################################################################
1182 dnl # Check for Gadu-Gadu protocol library (libgadu)
1183 dnl #######################################################################
1184 AC_ARG_ENABLE(libgadu,
1185 [AS_HELP_STRING([--disable-libgadu],
1186 [compile without libgadu (required for GaduGadu support)])],
1187 enable_libgadu="$enableval", enable_libgadu="yes")
1189 if test "x$enable_libgadu" = "xyes"; then
1190 PKG_CHECK_MODULES(LIBGADU, [libgadu >= 1.12.0], [
1192 AC_CHECK_LIB(gadu, gg_is_gpl_compliant, , [
1196 if test "x$force_deps" = "xyes" ; then
1198 libgadu is not compatible with the GPL when compiled with OpenSSL support.
1200 To link against libgadu, please recompile it using:
1201 ./configure --with-openssl=no
1202 Then rerun this ./configure
1210 if test "x$have_libgadu" != "xyes" -a "x$force_deps" = "xyes" ; then
1212 Libgadu development headers not found.
1213 Use --disable-libgadu if you do not need GG (GaduGadu) support.
1218 AC_SUBST(LIBGADU_LIBS)
1219 AC_SUBST(LIBGADU_CFLAGS)
1222 AC_ARG_ENABLE(distrib,,,enable_distrib=no)
1223 AM_CONDITIONAL(DISTRIB, test "x$enable_distrib" = "xyes")
1225 AC_ARG_WITH(static-prpls, [AS_HELP_STRING([--with-static-prpls], [Link to certain protocols statically])], [STATIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`], [STATIC_PRPLS=""])
1226 if test "x$STATIC_PRPLS" != "x" -a "x$DYNAMIC_PRPLS" = "xall"; then
1230 if test "x$STATIC_PRPLS" = "xall" ; then
1231 STATIC_PRPLS="bonjour facebook gg irc jabber msn mxit novell oscar sametime silc simple yahoo zephyr"
1233 if test "x$have_meanwhile" != "xyes" ; then
1234 STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/sametime//'`
1236 if test "x$avahiincludes" != "xyes" -o "x$avahilibs" != "xyes"; then
1237 STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/bonjour//'`
1239 if test "x$silcincludes" != "xyes" -o "x$silcclient" != "xyes"; then
1240 STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/silc//'`
1242 if test "x$have_libgadu" != "xyes" ; then
1243 STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/gg//'`
1245 if test "x$is_win32" = "xyes" ; then
1246 STATIC_PRPLS=`echo $STATIC_PRPLS | $sedpath 's/zephyr//'`
1248 AC_SUBST(STATIC_PRPLS)
1254 for i in $STATIC_PRPLS ; do
1255 dnl Ugly special case for "libsilcpurple.la":
1256 if test "x$i" = "xsilc"; then
1257 STATIC_LINK_LIBS="$STATIC_LINK_LIBS \$(top_builddir)/libpurple/protocols/$i/lib${i}purple.la"
1259 STATIC_LINK_LIBS="$STATIC_LINK_LIBS \$(top_builddir)/libpurple/protocols/$i/lib$i.la"
1261 extern_load="$extern_load extern gboolean ${i}_plugin_load();"
1262 load_proto="$load_proto ${i}_plugin_load();"
1263 extern_unload="$extern_unload extern gboolean ${i}_plugin_unload();"
1264 unload_proto="$unload_proto ${i}_plugin_unload();"
1267 bonjour) static_bonjour=yes ;;
1268 facebook) static_facebook=yes ;;
1269 gg) static_gg=yes ;;
1270 irc) static_irc=yes ;;
1271 jabber) static_jabber=yes ;;
1272 msn) static_msn=yes ;;
1273 mxit) static_mxit=yes ;;
1274 novell) static_novell=yes ;;
1275 oscar) static_oscar=yes ;;
1276 aim) static_oscar=yes ;;
1277 icq) static_oscar=yes ;;
1278 sametime) static_sametime=yes ;;
1279 silc) static_silc=yes ;;
1280 simple) static_simple=yes ;;
1281 yahoo) static_yahoo=yes ;;
1282 zephyr) static_zephyr=yes ;;
1283 *) echo "Invalid static protocol $i!!" ; exit 1 ;;
1286 AM_CONDITIONAL(STATIC_BONJOUR, test "x$static_bonjour" = "xyes")
1287 AM_CONDITIONAL(STATIC_FACEBOOK, test "x$static_facebook" = "xyes")
1288 AM_CONDITIONAL(STATIC_GG, test "x$static_gg" = "xyes")
1289 AM_CONDITIONAL(STATIC_IRC, test "x$static_irc" = "xyes")
1290 AM_CONDITIONAL(STATIC_JABBER, test "x$static_jabber" = "xyes")
1291 AM_CONDITIONAL(STATIC_MSN, test "x$static_msn" = "xyes")
1292 AM_CONDITIONAL(STATIC_MXIT, test "x$static_mxit" = "xyes")
1293 AM_CONDITIONAL(STATIC_NOVELL, test "x$static_novell" = "xyes")
1294 AM_CONDITIONAL(STATIC_OSCAR, test "x$static_oscar" = "xyes")
1295 AM_CONDITIONAL(STATIC_SAMETIME, test "x$static_sametime" = "xyes" -a "x$have_meanwhile" = "xyes")
1296 AM_CONDITIONAL(STATIC_SILC, test "x$static_silc" = "xyes" -a "x$have_silc" = "xyes")
1297 AM_CONDITIONAL(STATIC_SIMPLE, test "x$static_simple" = "xyes")
1298 AM_CONDITIONAL(STATIC_YAHOO, test "x$static_yahoo" = "xyes")
1299 AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes")
1300 AC_SUBST(STATIC_LINK_LIBS)
1301 AC_DEFINE_UNQUOTED(STATIC_PROTO_LOAD, $extern_load static void static_proto_load(void) { $load_proto },
1302 [Loads protocols from static protocol plugin modules.])
1303 AC_DEFINE_UNQUOTED(STATIC_PROTO_UNLOAD, $extern_unload static void static_proto_unload(void) { $unload_proto },
1304 [Unloads protocols from static protocol plugin modules.])
1306 AC_ARG_WITH(dynamic_prpls, [AS_HELP_STRING([--with-dynamic-prpls], [specify which protocols to build dynamically])], [DYNAMIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`])
1307 if test "x$DYNAMIC_PRPLS" = "xall" ; then
1308 DYNAMIC_PRPLS="bonjour facebook gg irc jabber msn mxit novell oscar sametime silc simple yahoo zephyr"
1310 if test "x$have_meanwhile" != "xyes"; then
1311 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/sametime//'`
1313 if test "x$avahiincludes" != "xyes" -o "x$avahilibs" != "xyes"; then
1314 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/bonjour//'`
1316 if test "x$silcincludes" != "xyes" -o "x$silcclient" != "xyes"; then
1317 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/silc//'`
1319 if test "x$have_libgadu" != "xyes"; then
1320 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/gg//'`
1322 if test "x$is_win32" = "xyes" ; then
1323 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/zephyr//'`
1325 AC_SUBST(DYNAMIC_PRPLS)
1326 for i in $DYNAMIC_PRPLS ; do
1328 bonjour) dynamic_bonjour=yes ;;
1329 facebook) dynamic_facebook=yes ;;
1330 gg) dynamic_gg=yes ;;
1331 irc) dynamic_irc=yes ;;
1332 jabber) dynamic_jabber=yes ;;
1333 msn) dynamic_msn=yes ;;
1334 mxit) dynamic_mxit=yes ;;
1335 novell) dynamic_novell=yes ;;
1336 null) dynamic_null=yes ;;
1337 oscar) dynamic_oscar=yes ;;
1338 aim) dynamic_oscar=yes ;;
1339 icq) dynamic_oscar=yes ;;
1340 sametime) dynamic_sametime=yes ;;
1341 silc) dynamic_silc=yes ;;
1342 simple) dynamic_simple=yes ;;
1343 yahoo) dynamic_yahoo=yes ;;
1344 zephyr) dynamic_zephyr=yes ;;
1345 *) echo "Invalid dynamic protocol $i!!" ; exit 1 ;;
1349 AC_ARG_ENABLE(plugins, [AS_HELP_STRING([--disable-plugins], [compile without plugin support])], , enable_plugins=yes)
1350 AC_ARG_WITH(krb4, [AS_HELP_STRING([--with-krb4=PREFIX], [compile Zephyr plugin with Kerberos 4 support])], kerberos="$withval", kerberos="no")
1351 AC_ARG_WITH(zephyr, [AS_HELP_STRING([--with-zephyr=PREFIX], [compile Zephyr plugin against external libzephyr])], zephyr="$withval", zephyr="no")
1352 AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno")
1354 AC_CHECK_HEADERS(sys/utsname.h)
1355 AC_CHECK_FUNC(uname)
1357 AC_ARG_ENABLE(fortify, [AS_HELP_STRING([--disable-fortify], [compile without FORTIFY_SOURCE support])], , enable_fortify=yes)
1359 DEBUG_CFLAGS="$DEBUG_CFLAGS -DPURPLE_DISABLE_DEPRECATED -DPIDGIN_DISABLE_DEPRECATED -DFINCH_DISABLE_DEPRECATED -DGNT_DISABLE_DEPRECATED"
1360 if test "x$GCC" = "xyes"; then
1361 dnl We enable -Wall later.
1362 dnl If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags.
1363 dnl This leads to warnings we don't want.
1364 CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
1366 dnl ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE
1368 dnl Future Possibilities
1370 dnl Consider adding -Wbad-function-cast.
1371 dnl This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call.
1372 dnl We'd need an intermediate variable.
1375 "-Waggregate-return" \
1377 "-Wdeclaration-after-statement" \
1379 "-Werror-implicit-function-declaration" \
1380 "-Wextra -Wno-unused-parameter" \
1381 "-Wformat-security" \
1382 "-Werror=format-security" \
1384 "-Wmissing-declarations" \
1385 "-Wmissing-noreturn" \
1386 "-Wmissing-prototypes" \
1391 orig_CFLAGS="$CFLAGS"
1392 CFLAGS="$CFLAGS $newflag"
1393 AC_MSG_CHECKING(for $newflag option to gcc)
1394 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], [
1396 CFLAGS="$orig_CFLAGS"
1397 DEBUG_CFLAGS="$DEBUG_CFLAGS $newflag"
1400 CFLAGS="$orig_CFLAGS"
1404 if test "x$enable_fortify" = "xyes"; then
1405 AC_MSG_CHECKING(for FORTIFY_SOURCE support)
1406 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[
1407 #if !(__GNUC_PREREQ (4, 1) \
1408 || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (4, 0)) \
1409 || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (3, 4) \
1410 && __GNUC_MINOR__ == 4 \
1411 && (__GNUC_PATCHLEVEL__ > 2 \
1412 || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8))))
1413 #error No FORTIFY_SOURCE support
1418 DEBUG_CFLAGS="$DEBUG_CFLAGS -Wp,-D_FORTIFY_SOURCE=2"
1424 DEBUG_CFLAGS="-Wall $DEBUG_CFLAGS"
1427 DEBUG_CPPFLAGS=`echo "$DEBUG_CFLAGS" | $sedpath 's/-Wdeclaration-after-statement//' | $sedpath 's/-Wmissing-prototypes//' | $sedpath 's/-Waggregate-return//'`
1429 if test "x$SUNCC" = "xyes"; then
1430 CFLAGS="$CFLAGS -features=extensions"
1434 AC_PATH_PROG(pidginpath, pidgin)
1436 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
1437 #if !defined(__clang__)
1440 ])], have_clang=yes, have_clang=no)
1442 AC_ARG_ENABLE(clang-address-sanitizer,
1443 [AS_HELP_STRING([--enable-clang-address-sanitizer],
1444 [compile with the Clang's address sanitizer enabled])],
1445 enable_clang_address_sanitizer="$enableval", enable_clang_address_sanitizer="no")
1447 if test "x$enable_clang_address_sanitizer" = "xyes" -a "x$have_clang" = "xno"; then
1449 Clang address sanitizer requested, but we don't compile with Clang.
1450 Disable the sanitizer or run configure script with CC and CCX set to clang binaries.
1454 if test "x$have_clang" = "xyes"; then
1455 GLIB_LIBS=`echo $GLIB_LIBS | $sedpath 's/-pthread/-lpthread/'`
1458 if test "x$enable_clang_address_sanitizer" = "xyes"; then
1459 CFLAGS="$CFLAGS -faddress-sanitizer -g -fno-omit-frame-pointer -fno-inline -fno-optimize-sibling-calls"
1463 AC_ARG_ENABLE(glib-errors-trace, [AS_HELP_STRING([--enable-glib-errors-trace], [print backtraces for glib errors])], enable_glibtrace="$enableval", enable_glibtrace="no")
1464 if test "x$enable_glibtrace" = "xyes"; then
1465 if test "x$have_clang" = "xyes"; then
1466 AC_MSG_ERROR([--enable-glib-errors-trace doesn't work with clang])
1468 AC_DEFINE(ENABLE_GLIBTRACE, 1, [Define if backtraces should be printed for glib errors.])
1469 dnl CFLAGS="$CFLAGS -rdynamic"
1470 CFLAGS="$CFLAGS -rdynamic"
1473 dnl #######################################################################
1474 dnl # Check for D-Bus libraries
1475 dnl #######################################################################
1477 # dbus doesn't compile for win32 at the moment
1479 [AS_HELP_STRING([--disable-dbus], [disable D-Bus support])], ,
1480 enable_dbus="$is_not_win32")
1482 if test "x$enable_dbus" = "xyes" ; then
1483 AC_CHECK_PROG(enable_dbus, dbus-binding-tool, yes, no)
1486 if test "x$enable_dbus" = "xyes" ; then
1487 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60 dbus-glib-1 >= 0.60], [
1488 AC_SUBST(DBUS_CFLAGS)
1493 if test "x$force_deps" = "xyes" ; then
1495 D-Bus development headers not found.
1496 Use --disable-dbus if you do not need D-Bus support.
1501 dnl #######################################################################
1502 dnl # Check for Unity and Messaging Menu
1503 dnl #######################################################################
1504 AC_ARG_ENABLE(unity, [AC_HELP_STRING([--enable-unity],
1505 [compile with support for unity integration plugin])], enable_unity="$enableval", enable_unity="no")
1506 if test "$enable_unity" = yes; then
1507 PKG_CHECK_MODULES(UNITY, [unity >= 6.8 messaging-menu >= 12.10], , [
1510 You must have libunity9 >= 6.8 and libmessaging-menu >= 12.10 to build the unity integration plugin.
1512 USES_MM_CHAT_SECTION="X-MessagingMenu-UsesChatSection=true"
1513 AC_SUBST(UNITY_CFLAGS)
1514 AC_SUBST(UNITY_LIBS)
1515 AC_SUBST(USES_MM_CHAT_SECTION)
1519 AM_CONDITIONAL(ENABLE_UNITY, [test "x$enable_unity" = "xyes"])
1521 dnl #######################################################################
1522 dnl # Check for Secret Service headers
1523 dnl #######################################################################
1525 AC_ARG_ENABLE(libsecret,
1526 [AC_HELP_STRING([--disable-libsecret], [enable Secret Service support])],
1527 enable_secret_service="$enableval", enable_secret_service="$is_not_win32")
1529 if test "x$enable_secret_service" = "xyes" ; then
1530 PKG_CHECK_MODULES(SECRETSERVICE, [libsecret-1], [
1531 AC_SUBST(SECRETSERVICE_CFLAGS)
1532 AC_SUBST(SECRETSERVICE_LIBS)
1533 AC_DEFINE(HAVE_SECRETSERVICE, 1, [Define if we have Secret Service.])
1536 enable_secret_service="no"
1537 if test "x$force_deps" = "xyes" ; then
1539 Libsecret development headers not found
1540 Use --disable-libsecret if you do not need it.
1547 AM_CONDITIONAL(ENABLE_SECRETSERVICE, test "x$enable_secret_service" = "xyes")
1549 dnl #######################################################################
1550 dnl # Check for GNOME Keyring headers
1551 dnl #######################################################################
1553 AC_ARG_ENABLE(gnome-keyring,
1554 [AC_HELP_STRING([--disable-gnome-keyring], [disable GNOME Keyring support])],
1555 enable_gnome_keyring="$enableval", enable_gnome_keyring="$is_not_win32")
1557 if test "x$enable_gnome_keyring" = "xyes" ; then
1558 PKG_CHECK_MODULES(GNOMEKEYRING, [gnome-keyring-1], [
1559 AC_SUBST(GNOMEKEYRING_CFLAGS)
1560 AC_SUBST(GNOMEKEYRING_LIBS)
1561 AC_DEFINE(HAVE_GNOMEKEYRING, 1, [Define if we have GNOME Keyring.])
1564 enable_gnome_keyring="no"
1565 if test "x$force_deps" = "xyes" ; then
1567 GNOME Keyring development headers not found
1568 Use --disable-gnome-keyring if you do not need it.
1574 AM_CONDITIONAL(ENABLE_GNOMEKEYRING, test "x$enable_gnome_keyring" = "xyes")
1576 dnl #######################################################################
1577 dnl # Check for KWallet headers
1578 dnl #######################################################################
1580 AC_ARG_ENABLE(kwallet,
1581 [AC_HELP_STRING([--disable-kwallet], [disable KWallet support])],
1582 enable_kwallet="$enableval", enable_kwallet="$is_not_win32")
1583 AC_ARG_WITH(kwallet-includes, [AC_HELP_STRING([--with-kwallet-includes=DIR], [compile the KWallet plugin against includes in DIR])], [ac_kwallet_includes="$withval"], [ac_kwallet_includes="no"])
1584 AC_ARG_WITH(kwallet-libs, [AC_HELP_STRING([--with-kwallet-libs=DIR], [compile the KWallet plugin against the KWallet libs in DIR])], [ac_kwallet_libs="$withval"], [ac_kwallet_libs="no"])
1586 if test "x$enable_kwallet" = "xyes"; then
1587 dnl Ensure C++ compiler works
1588 AC_CHECK_PROG(CXXTEST, [$CXX], [$CXX])
1589 if test "x$CXXTEST" = "x"; then
1591 if test "x$force_deps" = "xyes"; then
1593 A C++ compiler was not found.
1594 Use --disable-kwallet if you do not need KWallet support.
1601 CPPFLAGS_save="$CPPFLAGS"
1604 if test "x$enable_kwallet" = "xyes"; then
1605 PKG_CHECK_MODULES(QT4, [QtCore], [
1606 AC_SUBST(QT4_CFLAGS)
1611 if test "x$force_deps" = "xyes"; then
1613 Qt4 development headers not found.
1614 Use --disable-kwallet if you do not need KWallet support.
1620 if test "x$enable_kwallet" = "xyes"; then
1621 AC_MSG_CHECKING([for metaobject compiler])
1622 MOC=`$PKG_CONFIG --variable=moc_location QtCore`
1624 AC_MSG_RESULT([$MOC])
1628 if test -z "$with_kwallet_includes" || test -z "$with_kwallet_libs"; then
1629 AC_CHECK_PROG(KDE4_CONFIG, kde4-config, kde4-config, no)
1630 if test "x$KDE4_CONFIG" = "xno"; then
1632 if test "x$force_deps" = "xyes"; then
1634 kde4-config not found. $KDE4_CONFIG
1635 Use --disable-kwallet if you do not need KWallet support.
1636 Use --with-kwallet-includes and --with-kwallet-libs to set up includes manually.
1643 if test "x$enable_kwallet" = "xyes"; then
1644 if test "$ac_kwallet_includes" != "no"; then
1645 KWALLET_CXXFLAGS="-I$ac_kwallet_includes"
1646 elif test "x$KDE4_CONFIG" != "xno"; then
1647 KWALLET_CXXFLAGS="$QT4_CFLAGS -I`$KDE4_CONFIG --path include`"
1649 CPPFLAGS="$CPPFLAGS $KWALLET_CXXFLAGS"
1650 AC_CHECK_HEADER([kwallet.h], , [
1652 if test "x$force_deps" = "xyes"; then
1654 KWallet development headers not found.
1655 Use --disable-kwallet if you do not need KWallet support.
1661 if test "x$enable_kwallet" = "xyes"; then
1662 AC_MSG_CHECKING([for KWallet libraries])
1663 if test "$ac_kwallet_libs" != "no"; then
1664 KWALLET_LIBS="-L$ac_kwallet_libs -lkdeui"
1665 elif test "x$KDE4_CONFIG" != "xno"; then
1666 KWALLET_LIBS="-L`$KDE4_CONFIG --install lib`/kde4/devel -lkdeui"
1668 KWALLET_LIBS="-lkdeui"
1670 KWALLET_LIBS="$KWALLET_LIBS"
1671 LIBS="$LIBS $KWALLET_LIBS $QT4_LIBS"
1672 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <kwallet.h>],
1673 [KWallet::Wallet::LocalWallet();])], [AC_MSG_RESULT([yes])],
1677 if test "x$force_deps" = "xyes"; then
1679 KWallet development libraries not found.
1680 Use --disable-kwallet if you do not need KWallet support.
1686 CPPFLAGS="$CPPFLAGS_save"
1690 AC_SUBST(KWALLET_CXXFLAGS)
1691 AC_SUBST(KWALLET_LIBS)
1693 AM_CONDITIONAL(ENABLE_KWALLET, test "x$enable_kwallet" = "xyes")
1695 dnl #######################################################################
1696 dnl # Check for GPlugin 0.0.17
1697 dnl #######################################################################
1698 if test "x$enable_plugins" = "xyes" ; then
1699 PKG_CHECK_MODULES(GPLUGIN, [gplugin >= 0.0.17 gmodule-2.0], [
1700 dnl # GPLUGIN_REQ sets pkg-config requirements in the .pc file
1701 GPLUGIN_REQ=[", gplugin"]
1705 GPlugin 0.0.17 development headers not found, which are required if you wish to
1707 Use --disable-plugins if you want to disable plugins.
1709 AC_SUBST(GPLUGIN_REQ)
1710 AC_SUBST(GPLUGIN_CFLAGS)
1711 AC_SUBST(GPLUGIN_LIBS)
1713 enable_introspection=no
1716 dnl # Check for gobject introspection
1717 GOBJECT_INTROSPECTION_CHECK([1.30.0])
1719 if test "x$enable_introspection" = "xyes" ; then
1720 AC_DEFINE(ENABLE_INTROSPECTION, 1, [Define if GObject introspection is enabled.])
1723 dnl #######################################################################
1724 dnl # Check for Python
1725 dnl #######################################################################
1727 dnl Python scripts are used to auto-generate about 3000 lines of C
1728 dnl and XML code that wraps (part of) the existing API so that
1729 dnl it is now accessible through D-Bus.
1731 dnl Python is only required if --enable-dbus is used, and only for
1732 dnl the build process to generate the code, not for running pidgin.
1733 dnl This autogenerated code is system-independent, so in principle we
1734 dnl can generate all of it before shipping. But I thought adding
1735 dnl auto-generated stuff to the repository is inelegant.
1736 dnl Alternatively, these python scripts could be rewritten
1737 dnl in C (brrrr ...).
1739 AC_ARG_WITH([python],
1740 AS_HELP_STRING([--with-python=PATH],
1741 [which python interpreter to use for dbus code generation]),
1744 if test "x$enable_dbus" = "xyes" || test "x$enable_consoleui" = "xyes" ; then
1745 if test -z "$PYTHON" -a "x$is_win32" = "xyes" ; then
1746 dnl there are problems with include files when cross compiling
1747 dnl feel free to fix it, if you want
1749 elif test -z "$PYTHON" -o "x$PYTHON" = "xyes"; then
1750 AC_PATH_PROG([PYTHON], [python], [no])
1753 if test x"$PYTHON" = x"no" -a "x$is_win32" != "xyes" ; then
1754 AC_MSG_WARN([python interpreter not found in your path])
1758 if test "x$PYTHON" != "xno" ; then
1759 if $PYTHON -c "import sys; sys.exit(sys.version[[:3]] >= '2.4')" ; then
1760 AC_MSG_WARN([python version >= 2.4 required])
1766 dnl ###########################################################################
1767 dnl # Find the D-Bus services dir.
1769 dnl # This is a 3 step process that
1771 dnl # 1. checks if --with-dbus-services was set, if so use that.
1772 dnl # 2. checks if --prefix was given, if so use that.
1773 dnl # 3. fallbacks to installing into what should be the correct system
1776 dnl # This is still prone to error if one of the legacy directories exist
1777 dnl # although a newer dbus is installed. But I have tried to order the
1778 dnl # directory searching to keep this situation at a minimum.
1779 dnl ###########################################################################
1780 AC_ARG_WITH(dbus-services, [AS_HELP_STRING([--with-dbus-services=<dir>], [where the D-Bus services directory is located.])])
1782 DBUS_SERVICES_DIR=""
1784 if test x"$enable_dbus" = "xyes" ; then
1785 AC_MSG_CHECKING([location of the D-Bus services directory])
1786 if ! test -z "$with_dbus_services" ; then
1787 if ! test -d "$with_dbus_services" ; then
1788 AC_MSG_ERROR([$with_dbus_services does not exist, if this is the correct location please make sure that it exists.])
1791 DBUS_SERVICES_DIR="$with_dbus_services"
1793 if test x"$prefix" = x"NONE" ; then
1794 dnl # no prefix given, so we look for the correct dbus system paths.
1795 dnl # if a prefix is given, we use it.
1797 serviceprefixes="$prefix/share $prefix/lib /usr/share /usr/local/share"
1798 DBUS_SERVICES_DIR=""
1800 for d in $serviceprefixes ; do
1801 dir="$d/dbus-1/services"
1802 if test -d $dir ; then
1803 DBUS_SERVICES_DIR="$dir"
1808 if test -z $DBUS_SERVICES_DIR ; then
1809 AC_MSG_ERROR([D-Bus services directory was not found! Please use --with-dbus-services and specify its location.])
1812 DBUS_SERVICES_DIR="$datadir/dbus-1/services"
1815 AC_MSG_RESULT([$DBUS_SERVICES_DIR])
1816 AC_DEFINE(HAVE_DBUS, 1, [Define if we are using D-Bus.])
1818 AC_SUBST(DBUS_SERVICES_DIR)
1820 if test "x$enable_dbus" = "xyes" ; then
1821 echo "Building with D-Bus support"
1823 echo "Building without D-Bus support"
1826 AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
1828 dnl Check for Python headers (currently useful only for libgnt)
1829 dnl (Thanks to XChat)
1830 if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
1831 AC_MSG_CHECKING(for Python compile flags)
1832 if test -f ${PYTHON}-config; then
1833 PY_CFLAGS=`${PYTHON}-config --includes`
1834 PY_LIBS=`${PYTHON}-config --libs`
1835 AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.])
1838 AC_MSG_RESULT([Cannot find ${PYTHON}-config])
1846 dnl #######################################################################
1849 dnl # Thanks go to Evolution for the checks.
1850 dnl #######################################################################
1852 AC_ARG_WITH(system-ssl-certs, [AS_HELP_STRING([--with-system-ssl-certs=<dir>], [directory containing system-wide SSL CA certificates])], [ssl_certificates_dir=$withval])
1854 SSL_CERTIFICATES_DIR=""
1855 if ! test -z "$ssl_certificates_dir" ; then
1856 if test "x$ssl_certificates_dir" = "xyes" ; then
1857 AC_MSG_ERROR([--with-system-ssl-certs requires that a location is specified, eg. --with-system-ssl-certs=/etc/pki/tls/certs])
1859 if ! test -d "$ssl_certificates_dir" ; then
1860 if test "x$is_win32" = "xyes" ; then
1861 AC_MSG_WARN([$ssl_certificates_dir does not exist. \
1862 It may be OK when cross-compiling, but please make sure about it.])
1864 AC_MSG_ERROR([$ssl_certificates_dir does not exist, \
1865 if this is the correct location please make sure that it exists.])
1868 SSL_CERTIFICATES_DIR="$ssl_certificates_dir"
1870 AC_SUBST(SSL_CERTIFICATES_DIR)
1871 if test "x$SSL_CERTIFICATES_DIR" != "x" ; then
1872 AC_DEFINE_UNQUOTED([SSL_CERTIFICATES_DIR], ["$SSL_CERTIFICATES_DIR"],
1873 [Directory where SSL certificates can be found])
1875 AM_CONDITIONAL(INSTALL_SSL_CERTIFICATES, test "x$SSL_CERTIFICATES_DIR" = "x")
1877 dnl These two are inverses of each other <-- stolen from evolution!
1879 AC_ARG_ENABLE(gnutls,
1880 [ --enable-gnutls=[yes,no] attempt to use GnuTLS for SSL support [default=yes]],
1881 [enable_gnutls="$enableval"],
1882 [enable_gnutls="yes"])
1885 [ --enable-nss=[yes,no,static] attempt to use Mozilla libnss for SSL support [default=yes]],
1886 [enable_nss="$enableval"],
1889 msg_ssl="None. MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!"
1890 looked_for_gnutls="no"
1892 dnl # Check for GnuTLS if it isn't disabled
1894 if test "x$enable_gnutls" != "xno"; then
1895 looked_for_gnutls="yes"
1897 if `$PKG_CONFIG --exists gnutls`; then
1898 dnl # minimum required version should almost certainly be higher
1899 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.10], [
1907 if test "x$have_gnutls" = "xyes"; then
1908 AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
1913 AM_CONDITIONAL(USE_GNUTLS, test "x$have_gnutls" = "xyes")
1917 dnl # Check for NSS if it isn't disabled
1920 if test "x$enable_nss" != "xno"; then
1921 looked_for_nss="yes"
1923 if `$PKG_CONFIG --exists mozilla-nss`; then
1924 dnl # TODO: set required minimum version
1925 PKG_CHECK_MODULES(NSS, mozilla-nss, [
1931 elif `$PKG_CONFIG --exists nss`; then
1932 dnl # TODO: set required minimum version
1933 PKG_CHECK_MODULES(NSS, nss, [
1941 if test "x$have_nss" = "xyes"; then
1942 AC_DEFINE(HAVE_NSS, 1, [Define if you have Mozilla NSS])
1943 msg_nss="Mozilla NSS"
1947 AM_CONDITIONAL(USE_NSS, test "x$have_nss" = "xyes")
1950 if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
1951 msg_ssl="$msg_nss and $msg_gnutls"
1952 elif test "x$msg_nss" != "x"; then
1954 elif test "x$msg_gnutls" != "x"; then
1956 elif test "x$looked_for_gnutls" = "xyes" -a "x$looked_for_nss" = "xyes" -a "x$force_deps" = "xyes" ; then
1958 Neither GnuTLS or NSS SSL development headers found.
1959 Use --disable-nss --disable-gnutls if you do not need SSL support.
1960 MSN, Yahoo!, Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!
1962 elif test "x$looked_for_gnutls" = "xyes" -a "x$force_deps" = "xyes" ; then
1964 GnuTLS SSL development headers not found.
1965 Use --disable-gnutls if you do not need SSL support.
1966 MSN, Yahoo!, Novell Groupwise and Google Talk will not work without SSL support.
1968 elif test "x$looked_for_nss" = "xyes" -a "x$force_deps" = "xyes" ; then
1970 NSS SSL development headers not found.
1971 Use --disable-nss if you do not need SSL support.
1972 MSN, Yahoo!, Novell Groupwise and Google Talk will not work without SSL support.
1976 if test "$ac_cv_cygwin" = yes ; then
1977 LDADD="$LDADD -static"
1978 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
1981 AC_SUBST(DEBUG_CPPFLAGS)
1982 AC_SUBST(DEBUG_CFLAGS)
1986 if test "x$enable_plugins" = "xyes" ; then
1987 AC_DEFINE(PURPLE_PLUGINS, 1, [Define if plugins are enabled.])
1988 AM_CONDITIONAL(PLUGINS, true)
1989 PLUGINS_DEFINE="#define PURPLE_PLUGINS 1"
1991 AM_CONDITIONAL(PLUGINS, false)
1992 PLUGINS_DEFINE="#undef PURPLE_PLUGINS"
1994 AC_SUBST(PLUGINS_DEFINE)
1996 dnl #######################################################################
1997 dnl # Check for Cyrus-SASL (for xmpp/irc)
1998 dnl #######################################################################
1999 dnl AC_CHECK_SIZEOF(short)
2000 AC_CHECK_FUNCS(snprintf connect)
2002 AC_ARG_ENABLE(cyrus-sasl, AS_HELP_STRING([--enable-cyrus-sasl], [enable Cyrus SASL support for xmpp/irc]), enable_cyrus_sasl=$enableval, enable_cyrus_sasl=no)
2003 if test "x$enable_cyrus_sasl" = "xyes" ; then
2004 AC_CHECK_LIB(sasl2, sasl_client_init, [
2005 AM_CONDITIONAL(USE_CYRUS_SASL, true)
2006 AC_DEFINE(HAVE_CYRUS_SASL, [1], [Define to 1 if Cyrus SASL is present])
2009 AM_CONDITIONAL(USE_CYRUS_SASL, false)
2010 AC_MSG_ERROR([Cyrus SASL library not found])
2013 AM_CONDITIONAL(USE_CYRUS_SASL, false)
2016 dnl #######################################################################
2017 dnl # Check for Kerberos (for Zephyr)
2018 dnl #######################################################################
2019 AC_DEFINE(ZEPHYR_INT32, long, [Size of an int32.])
2020 AC_SUBST(KRB4_CFLAGS)
2021 AC_SUBST(KRB4_LDFLAGS)
2023 if test "$kerberos" != "no" ; then
2024 if test "$kerberos" != "yes" ; then
2025 KRB4_CFLAGS="-I${kerberos}/include"
2026 if test -d "$kerberos/include/kerberosIV" ; then
2027 KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
2029 KRB4_LDFLAGS="-L${kerberos}/lib"
2030 elif test -d /usr/local/include/kerberosIV ; then
2031 KRB4_CFLAGS="-I/usr/local/include/kerberosIV"
2032 elif test -d /usr/include/kerberosIV ; then
2033 KRB4_CFLAGS="-I/usr/include/kerberosIV"
2035 AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.])
2037 orig_LDFLAGS="$LDFLAGS"
2038 LDFLAGS="$LDFLAGS $KRB4_LDFLAGS"
2039 AC_CHECK_LIB(krb4, krb_rd_req,
2040 [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
2041 [AC_CHECK_LIB(krb, krb_rd_req,
2042 [KRB4_LIBS="-lkrb -ldes"],
2043 [AC_MSG_ERROR([Kerberos 4 libraries not found])],
2045 -ldes425 -lkrb5 -lk5crypto -lcom_err)
2047 LIBS="$LIBS $KRB4_LIBS"
2048 AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
2049 AC_CHECK_FUNCS(krb_get_err_text krb_log)
2051 LDFLAGS="$orig_LDFLAGS"
2054 dnl #######################################################################
2055 dnl # Check for external libzephyr
2056 dnl #######################################################################
2057 AC_SUBST(ZEPHYR_CFLAGS)
2058 AC_SUBST(ZEPHYR_LDFLAGS)
2059 AC_SUBST(ZEPHYR_LIBS)
2060 if test "$zephyr" != "no" ; then
2061 if test "$zephyr" != "yes" ; then
2062 ZEPHYR_CFLAGS="-I${zephyr}/include"
2063 ZEPHYR_LDFLAGS="-L${zephyr}/lib"
2064 elif test -d /usr/athena/include/zephyr ; then
2065 ZEPHYR_CFLAGS="-I/usr/athena/include"
2066 elif test -d /usr/include/zephyr ; then
2067 ZEPHYR_CFLAGS="-I/usr/include"
2068 elif test -d /usr/local/include/zephyr ; then
2069 ZEPHYR_CFLAGS="-I/usr/local/include"
2071 AC_DEFINE(LIBZEPHYR_EXT, 1 , [Define if external libzephyr should be used.])
2072 AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno")
2073 orig_LDFLAGS="$LDFLAGS"
2074 LDFLAGS="$LDFLAGS $ZEPHYR_LDFLAGS"
2075 AC_CHECK_LIB(zephyr, ZInitialize,
2076 [ZEPHYR_LIBS="-lzephyr"],
2077 [AC_MSG_ERROR([Zephyr libraries not found])],
2081 LDFLAGS="$orig_LDFLAGS"
2084 AC_MSG_CHECKING(for me pot o' gold)
2086 AC_CHECK_FUNCS(gethostid timegm)
2087 AC_CHECK_HEADERS(paths.h sgtty.h sys/cdefs.h)
2088 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
2089 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/wait.h)
2090 AC_CHECK_HEADERS(termios.h)
2092 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
2093 # sys/sysctl.h on FreeBSD requires sys/types.h
2094 AC_CHECK_HEADERS(sys/param.h)
2095 AC_CHECK_HEADERS(sys/sysctl.h, [], [],
2097 #include <sys/types.h>
2099 # include <sys/param.h>
2103 AC_CHECK_HEADERS(sys/socket.h)
2104 AC_VAR_TIMEZONE_EXTERNALS
2106 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
2107 [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if you have a tm_gmtoff member in struct tm])],
2109 [[#include <time.h>]])
2111 dnl #######################################################################
2112 dnl # Disable pixmap installation
2113 dnl #######################################################################
2114 AC_ARG_ENABLE(pixmaps-install, AS_HELP_STRING([--disable-pixmaps-install], [disable installation of pixmap files - Pidgin still needs them!]), enable_pixmaps="$enableval", enable_pixmaps=yes)
2116 AM_CONDITIONAL(INSTALL_PIXMAPS, test "x$enable_pixmaps" = "xyes")
2118 dnl #######################################################################
2119 dnl # Tweak status tray icon installation directory
2120 dnl #######################################################################
2121 AC_ARG_ENABLE(trayicon-compat, AS_HELP_STRING([--enable-trayicon-compat], [install tray icons in location compatible with older releases of hicolor-icon-theme]), enable_traycompat="$enableval", enable_traycompat=no)
2123 AM_CONDITIONAL(ENABLE_TRAYCOMPAT, test "x$enable_traycompat" = "xyes")
2126 m4_ifdef([GTK_DOC_CHECK], [
2127 GTK_DOC_CHECK([1.16],[--flavour no-tmpl])
2129 if test "x$force_deps" = "xyes" -a "x$enable_gtk_doc" = "xyes"; then
2131 You have requested to generate documentation, but gtk-doc was not found.
2135 AM_CONDITIONAL([ENABLE_GTK_DOC], false)
2139 AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug],
2140 [compile with debugging support])], , enable_debug=no)
2142 if test "x$enable_debug" = "xyes" ; then
2143 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
2146 AM_CONDITIONAL(PURPLE_AVAILABLE, true)
2148 AC_CONFIG_FILES([Makefile
2152 doc/reference/Makefile
2153 doc/reference/finch/Makefile
2154 doc/reference/finch/version.xml
2155 doc/reference/libpurple/Makefile
2156 doc/reference/libpurple/version.xml
2157 doc/reference/protocols/Makefile
2158 doc/reference/protocols/facebook/Makefile
2159 doc/reference/protocols/version.xml
2160 doc/reference/pidgin/Makefile
2161 doc/reference/pidgin/version.xml
2164 pidgin/data/pidgin.desktop.in
2165 pidgin/data/pidgin-3.pc
2166 pidgin/data/pidgin-3-uninstalled.pc
2167 pidgin/pixmaps/Makefile
2168 pidgin/pixmaps/emotes/default/24/Makefile
2169 pidgin/pixmaps/emotes/small/16/Makefile
2170 pidgin/plugins/Makefile
2171 pidgin/plugins/cap/Makefile
2172 pidgin/plugins/disco/Makefile
2173 pidgin/plugins/gestures/Makefile
2174 pidgin/plugins/gevolution/Makefile
2175 pidgin/plugins/musicmessaging/Makefile
2176 pidgin/plugins/ticker/Makefile
2177 pidgin/plugins/win32/transparency/Makefile
2178 pidgin/plugins/win32/winprefs/Makefile
2179 pidgin/themes/Makefile
2180 pidgin/win32/pidgin_dll_rc.rc
2181 pidgin/win32/pidgin_exe_rc.rc
2182 libpurple/data/purple-url-handler.desktop.in
2183 libpurple/data/purple-3.pc
2184 libpurple/data/purple-3-uninstalled.pc
2185 libpurple/example/Makefile
2186 libpurple/plugins/Makefile
2187 libpurple/plugins/keyrings/Makefile
2189 libpurple/protocols/Makefile
2190 libpurple/protocols/bonjour/Makefile
2191 libpurple/protocols/facebook/Makefile
2192 libpurple/protocols/gg/Makefile
2193 libpurple/protocols/irc/Makefile
2194 libpurple/protocols/jabber/Makefile
2195 libpurple/protocols/jabber/tests/Makefile
2196 libpurple/protocols/msn/Makefile
2197 libpurple/protocols/mxit/Makefile
2198 libpurple/protocols/novell/Makefile
2199 libpurple/protocols/null/Makefile
2200 libpurple/protocols/oscar/Makefile
2201 libpurple/protocols/oscar/tests/Makefile
2202 libpurple/protocols/sametime/Makefile
2203 libpurple/protocols/silc/Makefile
2204 libpurple/protocols/simple/Makefile
2205 libpurple/protocols/yahoo/Makefile
2206 libpurple/protocols/yahoo/tests/Makefile
2207 libpurple/protocols/zephyr/Makefile
2208 libpurple/tests/Makefile
2211 libpurple/win32/libpurplerc.rc
2212 share/sounds/Makefile
2213 share/ca-certs/Makefile
2215 finch/finch_winres.rc
2216 finch/libfinch_winres.rc
2218 finch/libgnt/Makefile
2220 finch/libgnt/libgnt_winres.rc
2221 finch/libgnt/wms/Makefile
2222 finch/plugins/Makefile
2228 echo $PACKAGE $VERSION
2231 echo Build GTK+ UI................. : $enable_gtkui
2232 echo Build console UI.............. : $enable_consoleui
2233 echo Build for X11................. : $with_x
2235 echo Enable Gestures............... : $enable_gestures
2236 echo Protocols to build dynamically : $DYNAMIC_PRPLS
2237 echo Protocols to link statically.. : $STATIC_PRPLS
2239 echo Build with GStreamer support.. : $enable_gst
2240 echo Build with D-Bus support...... : $enable_dbus
2241 echo Build with voice and video.... : $enable_vv
2242 if test "x$enable_dbus" = "xyes" ; then
2243 eval eval echo D-Bus services directory...... : $DBUS_SERVICES_DIR
2245 echo Build with GNU Libidn......... : $enable_idn
2246 echo SSL Library/Libraries......... : $msg_ssl
2247 if test "x$SSL_CERTIFICATES_DIR" != "x" ; then
2248 eval eval echo SSL CA certificates directory. : $SSL_CERTIFICATES_DIR
2250 echo Build with Cyrus SASL support. : $enable_cyrus_sasl
2251 echo Use kerberos 4 with zephyr.... : $kerberos
2252 echo Use external libzephyr........ : $zephyr
2253 echo Install pixmaps............... : $enable_pixmaps
2254 echo Old tray icon compatibility... : $enable_traycompat
2255 echo Install translations.......... : $enable_i18n
2256 echo Has you....................... : yes
2258 echo Use XScreenSaver Extension.... : $enable_screensaver
2259 echo Use X Session Management...... : $enable_sm
2260 echo Use startup notification...... : $enable_startup_notification
2261 echo Build with Enchant support.... : $use_enchant
2262 echo Build with GCR widgets........ : $enable_gcr
2263 echo Build Unity integration plugin.: $enable_unity
2265 echo Build with GNOME Keyring...... : $enable_gnome_keyring
2266 echo Build with KWallet............ : $enable_kwallet
2267 echo Build with Secret Service..... : $enable_secret_service
2269 echo Build with plugin support..... : $enable_plugins
2270 echo Enable Introspection...........: $enable_introspection
2272 if test "x$is_win32" = "xyes" ; then
2274 echo Win32 directory structure..... : $with_win32_dirs
2278 echo Print debugging messages...... : $enable_debug
2279 echo Generate documentation........ : $enable_gtk_doc
2281 eval eval echo Pidgin will be installed in $bindir.
2282 if test "x$pidginpath" != "x" ; then
2283 echo Warning: You have an old copy of Pidgin at $pidginpath.
2285 if test "x$enable_pixmaps" = "xno" ; then
2287 echo Warning: You have disabled the installation of pixmap data, but Pidgin
2288 echo still requires installed pixmaps. Be sure you know what you are doing.
2290 if test "x$enable_i18n" = "xno" ; then
2292 echo Warning: You have disabled the building and installation of translation
2293 echo data. This will prevent building pidgin.desktop and the GConf schemas.
2294 echo Be sure you know what you are doing.
2297 echo configure complete, now type \'make\'