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 novell oscar sametime silc simple 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 novell) static_novell=yes ;;
1273 oscar) static_oscar=yes ;;
1274 aim) static_oscar=yes ;;
1275 icq) static_oscar=yes ;;
1276 sametime) static_sametime=yes ;;
1277 silc) static_silc=yes ;;
1278 simple) static_simple=yes ;;
1279 zephyr) static_zephyr=yes ;;
1280 *) echo "Invalid static protocol $i!!" ; exit 1 ;;
1283 AM_CONDITIONAL(STATIC_BONJOUR, test "x$static_bonjour" = "xyes")
1284 AM_CONDITIONAL(STATIC_FACEBOOK, test "x$static_facebook" = "xyes")
1285 AM_CONDITIONAL(STATIC_GG, test "x$static_gg" = "xyes")
1286 AM_CONDITIONAL(STATIC_IRC, test "x$static_irc" = "xyes")
1287 AM_CONDITIONAL(STATIC_JABBER, test "x$static_jabber" = "xyes")
1288 AM_CONDITIONAL(STATIC_NOVELL, test "x$static_novell" = "xyes")
1289 AM_CONDITIONAL(STATIC_OSCAR, test "x$static_oscar" = "xyes")
1290 AM_CONDITIONAL(STATIC_SAMETIME, test "x$static_sametime" = "xyes" -a "x$have_meanwhile" = "xyes")
1291 AM_CONDITIONAL(STATIC_SILC, test "x$static_silc" = "xyes" -a "x$have_silc" = "xyes")
1292 AM_CONDITIONAL(STATIC_SIMPLE, test "x$static_simple" = "xyes")
1293 AM_CONDITIONAL(STATIC_ZEPHYR, test "x$static_zephyr" = "xyes")
1294 AC_SUBST(STATIC_LINK_LIBS)
1295 AC_DEFINE_UNQUOTED(STATIC_PROTO_LOAD, $extern_load static void static_proto_load(void) { $load_proto },
1296 [Loads protocols from static protocol plugin modules.])
1297 AC_DEFINE_UNQUOTED(STATIC_PROTO_UNLOAD, $extern_unload static void static_proto_unload(void) { $unload_proto },
1298 [Unloads protocols from static protocol plugin modules.])
1300 AC_ARG_WITH(dynamic_prpls, [AS_HELP_STRING([--with-dynamic-prpls], [specify which protocols to build dynamically])], [DYNAMIC_PRPLS=`echo $withval | $sedpath 's/,/ /g'`])
1301 if test "x$DYNAMIC_PRPLS" = "xall" ; then
1302 DYNAMIC_PRPLS="bonjour facebook gg irc jabber novell oscar sametime silc simple zephyr"
1304 if test "x$have_meanwhile" != "xyes"; then
1305 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/sametime//'`
1307 if test "x$avahiincludes" != "xyes" -o "x$avahilibs" != "xyes"; then
1308 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/bonjour//'`
1310 if test "x$silcincludes" != "xyes" -o "x$silcclient" != "xyes"; then
1311 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/silc//'`
1313 if test "x$have_libgadu" != "xyes"; then
1314 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/gg//'`
1316 if test "x$is_win32" = "xyes" ; then
1317 DYNAMIC_PRPLS=`echo $DYNAMIC_PRPLS | $sedpath 's/zephyr//'`
1319 AC_SUBST(DYNAMIC_PRPLS)
1320 for i in $DYNAMIC_PRPLS ; do
1322 bonjour) dynamic_bonjour=yes ;;
1323 facebook) dynamic_facebook=yes ;;
1324 gg) dynamic_gg=yes ;;
1325 irc) dynamic_irc=yes ;;
1326 jabber) dynamic_jabber=yes ;;
1327 novell) dynamic_novell=yes ;;
1328 null) dynamic_null=yes ;;
1329 oscar) dynamic_oscar=yes ;;
1330 aim) dynamic_oscar=yes ;;
1331 icq) dynamic_oscar=yes ;;
1332 sametime) dynamic_sametime=yes ;;
1333 silc) dynamic_silc=yes ;;
1334 simple) dynamic_simple=yes ;;
1335 zephyr) dynamic_zephyr=yes ;;
1336 *) echo "Invalid dynamic protocol $i!!" ; exit 1 ;;
1340 AC_ARG_ENABLE(plugins, [AS_HELP_STRING([--disable-plugins], [compile without plugin support])], , enable_plugins=yes)
1341 AC_ARG_WITH(krb4, [AS_HELP_STRING([--with-krb4=PREFIX], [compile Zephyr plugin with Kerberos 4 support])], kerberos="$withval", kerberos="no")
1342 AC_ARG_WITH(zephyr, [AS_HELP_STRING([--with-zephyr=PREFIX], [compile Zephyr plugin against external libzephyr])], zephyr="$withval", zephyr="no")
1343 AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno")
1345 AC_CHECK_HEADERS(sys/utsname.h)
1346 AC_CHECK_FUNC(uname)
1348 AC_ARG_ENABLE(fortify, [AS_HELP_STRING([--disable-fortify], [compile without FORTIFY_SOURCE support])], , enable_fortify=yes)
1350 DEBUG_CFLAGS="$DEBUG_CFLAGS -DPURPLE_DISABLE_DEPRECATED -DPIDGIN_DISABLE_DEPRECATED -DFINCH_DISABLE_DEPRECATED -DGNT_DISABLE_DEPRECATED"
1351 if test "x$GCC" = "xyes"; then
1352 dnl We enable -Wall later.
1353 dnl If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags.
1354 dnl This leads to warnings we don't want.
1355 CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'`
1357 dnl ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE
1359 dnl Future Possibilities
1361 dnl Consider adding -Wbad-function-cast.
1362 dnl This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call.
1363 dnl We'd need an intermediate variable.
1366 "-Waggregate-return" \
1368 "-Wdeclaration-after-statement" \
1370 "-Werror-implicit-function-declaration" \
1371 "-Wextra -Wno-unused-parameter" \
1372 "-Wformat-security" \
1373 "-Werror=format-security" \
1375 "-Wmissing-declarations" \
1376 "-Wmissing-noreturn" \
1377 "-Wmissing-prototypes" \
1382 orig_CFLAGS="$CFLAGS"
1383 CFLAGS="$CFLAGS $newflag"
1384 AC_MSG_CHECKING(for $newflag option to gcc)
1385 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], [
1387 CFLAGS="$orig_CFLAGS"
1388 DEBUG_CFLAGS="$DEBUG_CFLAGS $newflag"
1391 CFLAGS="$orig_CFLAGS"
1395 if test "x$enable_fortify" = "xyes"; then
1396 AC_MSG_CHECKING(for FORTIFY_SOURCE support)
1397 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <features.h>]], [[
1398 #if !(__GNUC_PREREQ (4, 1) \
1399 || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (4, 0)) \
1400 || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (3, 4) \
1401 && __GNUC_MINOR__ == 4 \
1402 && (__GNUC_PATCHLEVEL__ > 2 \
1403 || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8))))
1404 #error No FORTIFY_SOURCE support
1409 DEBUG_CFLAGS="$DEBUG_CFLAGS -Wp,-D_FORTIFY_SOURCE=2"
1415 DEBUG_CFLAGS="-Wall $DEBUG_CFLAGS"
1418 DEBUG_CPPFLAGS=`echo "$DEBUG_CFLAGS" | $sedpath 's/-Wdeclaration-after-statement//' | $sedpath 's/-Wmissing-prototypes//' | $sedpath 's/-Waggregate-return//'`
1420 if test "x$SUNCC" = "xyes"; then
1421 CFLAGS="$CFLAGS -features=extensions"
1425 AC_PATH_PROG(pidginpath, pidgin)
1427 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
1428 #if !defined(__clang__)
1431 ])], have_clang=yes, have_clang=no)
1433 AC_ARG_ENABLE(clang-address-sanitizer,
1434 [AS_HELP_STRING([--enable-clang-address-sanitizer],
1435 [compile with the Clang's address sanitizer enabled])],
1436 enable_clang_address_sanitizer="$enableval", enable_clang_address_sanitizer="no")
1438 if test "x$enable_clang_address_sanitizer" = "xyes" -a "x$have_clang" = "xno"; then
1440 Clang address sanitizer requested, but we don't compile with Clang.
1441 Disable the sanitizer or run configure script with CC and CCX set to clang binaries.
1445 if test "x$have_clang" = "xyes"; then
1446 GLIB_LIBS=`echo $GLIB_LIBS | $sedpath 's/-pthread/-lpthread/'`
1449 if test "x$enable_clang_address_sanitizer" = "xyes"; then
1450 CFLAGS="$CFLAGS -faddress-sanitizer -g -fno-omit-frame-pointer -fno-inline -fno-optimize-sibling-calls"
1454 AC_ARG_ENABLE(glib-errors-trace, [AS_HELP_STRING([--enable-glib-errors-trace], [print backtraces for glib errors])], enable_glibtrace="$enableval", enable_glibtrace="no")
1455 if test "x$enable_glibtrace" = "xyes"; then
1456 if test "x$have_clang" = "xyes"; then
1457 AC_MSG_ERROR([--enable-glib-errors-trace doesn't work with clang])
1459 AC_DEFINE(ENABLE_GLIBTRACE, 1, [Define if backtraces should be printed for glib errors.])
1460 dnl CFLAGS="$CFLAGS -rdynamic"
1461 CFLAGS="$CFLAGS -rdynamic"
1464 dnl #######################################################################
1465 dnl # Check for D-Bus libraries
1466 dnl #######################################################################
1468 # dbus doesn't compile for win32 at the moment
1470 [AS_HELP_STRING([--disable-dbus], [disable D-Bus support])], ,
1471 enable_dbus="$is_not_win32")
1473 if test "x$enable_dbus" = "xyes" ; then
1474 AC_CHECK_PROG(enable_dbus, dbus-binding-tool, yes, no)
1477 if test "x$enable_dbus" = "xyes" ; then
1478 PKG_CHECK_MODULES(DBUS, [dbus-1 >= 0.60 dbus-glib-1 >= 0.60], [
1479 AC_SUBST(DBUS_CFLAGS)
1484 if test "x$force_deps" = "xyes" ; then
1486 D-Bus development headers not found.
1487 Use --disable-dbus if you do not need D-Bus support.
1492 dnl #######################################################################
1493 dnl # Check for Unity and Messaging Menu
1494 dnl #######################################################################
1495 AC_ARG_ENABLE(unity, [AC_HELP_STRING([--enable-unity],
1496 [compile with support for unity integration plugin])], enable_unity="$enableval", enable_unity="no")
1497 if test "$enable_unity" = yes; then
1498 PKG_CHECK_MODULES(UNITY, [unity >= 6.8 messaging-menu >= 12.10], , [
1501 You must have libunity9 >= 6.8 and libmessaging-menu >= 12.10 to build the unity integration plugin.
1503 USES_MM_CHAT_SECTION="X-MessagingMenu-UsesChatSection=true"
1504 AC_SUBST(UNITY_CFLAGS)
1505 AC_SUBST(UNITY_LIBS)
1506 AC_SUBST(USES_MM_CHAT_SECTION)
1510 AM_CONDITIONAL(ENABLE_UNITY, [test "x$enable_unity" = "xyes"])
1512 dnl #######################################################################
1513 dnl # Check for Secret Service headers
1514 dnl #######################################################################
1516 AC_ARG_ENABLE(libsecret,
1517 [AC_HELP_STRING([--disable-libsecret], [enable Secret Service support])],
1518 enable_secret_service="$enableval", enable_secret_service="$is_not_win32")
1520 if test "x$enable_secret_service" = "xyes" ; then
1521 PKG_CHECK_MODULES(SECRETSERVICE, [libsecret-1], [
1522 AC_SUBST(SECRETSERVICE_CFLAGS)
1523 AC_SUBST(SECRETSERVICE_LIBS)
1524 AC_DEFINE(HAVE_SECRETSERVICE, 1, [Define if we have Secret Service.])
1527 enable_secret_service="no"
1528 if test "x$force_deps" = "xyes" ; then
1530 Libsecret development headers not found
1531 Use --disable-libsecret if you do not need it.
1538 AM_CONDITIONAL(ENABLE_SECRETSERVICE, test "x$enable_secret_service" = "xyes")
1540 dnl #######################################################################
1541 dnl # Check for GNOME Keyring headers
1542 dnl #######################################################################
1544 AC_ARG_ENABLE(gnome-keyring,
1545 [AC_HELP_STRING([--disable-gnome-keyring], [disable GNOME Keyring support])],
1546 enable_gnome_keyring="$enableval", enable_gnome_keyring="$is_not_win32")
1548 if test "x$enable_gnome_keyring" = "xyes" ; then
1549 PKG_CHECK_MODULES(GNOMEKEYRING, [gnome-keyring-1], [
1550 AC_SUBST(GNOMEKEYRING_CFLAGS)
1551 AC_SUBST(GNOMEKEYRING_LIBS)
1552 AC_DEFINE(HAVE_GNOMEKEYRING, 1, [Define if we have GNOME Keyring.])
1555 enable_gnome_keyring="no"
1556 if test "x$force_deps" = "xyes" ; then
1558 GNOME Keyring development headers not found
1559 Use --disable-gnome-keyring if you do not need it.
1565 AM_CONDITIONAL(ENABLE_GNOMEKEYRING, test "x$enable_gnome_keyring" = "xyes")
1567 dnl #######################################################################
1568 dnl # Check for KWallet headers
1569 dnl #######################################################################
1571 AC_ARG_ENABLE(kwallet,
1572 [AC_HELP_STRING([--disable-kwallet], [disable KWallet support])],
1573 enable_kwallet="$enableval", enable_kwallet="$is_not_win32")
1574 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"])
1575 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"])
1577 if test "x$enable_kwallet" = "xyes"; then
1578 dnl Ensure C++ compiler works
1579 AC_CHECK_PROG(CXXTEST, [$CXX], [$CXX])
1580 if test "x$CXXTEST" = "x"; then
1582 if test "x$force_deps" = "xyes"; then
1584 A C++ compiler was not found.
1585 Use --disable-kwallet if you do not need KWallet support.
1592 CPPFLAGS_save="$CPPFLAGS"
1595 if test "x$enable_kwallet" = "xyes"; then
1596 PKG_CHECK_MODULES(QT4, [QtCore], [
1597 AC_SUBST(QT4_CFLAGS)
1602 if test "x$force_deps" = "xyes"; then
1604 Qt4 development headers not found.
1605 Use --disable-kwallet if you do not need KWallet support.
1611 if test "x$enable_kwallet" = "xyes"; then
1612 AC_MSG_CHECKING([for metaobject compiler])
1613 MOC=`$PKG_CONFIG --variable=moc_location QtCore`
1615 AC_MSG_RESULT([$MOC])
1619 if test -z "$with_kwallet_includes" || test -z "$with_kwallet_libs"; then
1620 AC_CHECK_PROG(KDE4_CONFIG, kde4-config, kde4-config, no)
1621 if test "x$KDE4_CONFIG" = "xno"; then
1623 if test "x$force_deps" = "xyes"; then
1625 kde4-config not found. $KDE4_CONFIG
1626 Use --disable-kwallet if you do not need KWallet support.
1627 Use --with-kwallet-includes and --with-kwallet-libs to set up includes manually.
1634 if test "x$enable_kwallet" = "xyes"; then
1635 if test "$ac_kwallet_includes" != "no"; then
1636 KWALLET_CXXFLAGS="-I$ac_kwallet_includes"
1637 elif test "x$KDE4_CONFIG" != "xno"; then
1638 KWALLET_CXXFLAGS="$QT4_CFLAGS -I`$KDE4_CONFIG --path include`"
1640 CPPFLAGS="$CPPFLAGS $KWALLET_CXXFLAGS"
1641 AC_CHECK_HEADER([kwallet.h], , [
1643 if test "x$force_deps" = "xyes"; then
1645 KWallet development headers not found.
1646 Use --disable-kwallet if you do not need KWallet support.
1652 if test "x$enable_kwallet" = "xyes"; then
1653 AC_MSG_CHECKING([for KWallet libraries])
1654 if test "$ac_kwallet_libs" != "no"; then
1655 KWALLET_LIBS="-L$ac_kwallet_libs -lkdeui"
1656 elif test "x$KDE4_CONFIG" != "xno"; then
1657 KWALLET_LIBS="-L`$KDE4_CONFIG --install lib`/kde4/devel -lkdeui"
1659 KWALLET_LIBS="-lkdeui"
1661 KWALLET_LIBS="$KWALLET_LIBS"
1662 LIBS="$LIBS $KWALLET_LIBS $QT4_LIBS"
1663 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <kwallet.h>],
1664 [KWallet::Wallet::LocalWallet();])], [AC_MSG_RESULT([yes])],
1668 if test "x$force_deps" = "xyes"; then
1670 KWallet development libraries not found.
1671 Use --disable-kwallet if you do not need KWallet support.
1677 CPPFLAGS="$CPPFLAGS_save"
1681 AC_SUBST(KWALLET_CXXFLAGS)
1682 AC_SUBST(KWALLET_LIBS)
1684 AM_CONDITIONAL(ENABLE_KWALLET, test "x$enable_kwallet" = "xyes")
1686 dnl #######################################################################
1687 dnl # Check for GPlugin 0.0.17
1688 dnl #######################################################################
1689 if test "x$enable_plugins" = "xyes" ; then
1690 PKG_CHECK_MODULES(GPLUGIN, [gplugin >= 0.0.17 gmodule-2.0], [
1691 dnl # GPLUGIN_REQ sets pkg-config requirements in the .pc file
1692 GPLUGIN_REQ=[", gplugin"]
1696 GPlugin 0.0.17 development headers not found, which are required if you wish to
1698 Use --disable-plugins if you want to disable plugins.
1700 AC_SUBST(GPLUGIN_REQ)
1701 AC_SUBST(GPLUGIN_CFLAGS)
1702 AC_SUBST(GPLUGIN_LIBS)
1704 enable_introspection=no
1707 dnl # Check for gobject introspection
1708 GOBJECT_INTROSPECTION_CHECK([1.30.0])
1710 if test "x$enable_introspection" = "xyes" ; then
1711 AC_DEFINE(ENABLE_INTROSPECTION, 1, [Define if GObject introspection is enabled.])
1714 dnl #######################################################################
1715 dnl # Check for Python
1716 dnl #######################################################################
1718 dnl Python scripts are used to auto-generate about 3000 lines of C
1719 dnl and XML code that wraps (part of) the existing API so that
1720 dnl it is now accessible through D-Bus.
1722 dnl Python is only required if --enable-dbus is used, and only for
1723 dnl the build process to generate the code, not for running pidgin.
1724 dnl This autogenerated code is system-independent, so in principle we
1725 dnl can generate all of it before shipping. But I thought adding
1726 dnl auto-generated stuff to the repository is inelegant.
1727 dnl Alternatively, these python scripts could be rewritten
1728 dnl in C (brrrr ...).
1730 AC_ARG_WITH([python],
1731 AS_HELP_STRING([--with-python=PATH],
1732 [which python interpreter to use for dbus code generation]),
1735 if test "x$enable_dbus" = "xyes" || test "x$enable_consoleui" = "xyes" ; then
1736 if test -z "$PYTHON" -a "x$is_win32" = "xyes" ; then
1737 dnl there are problems with include files when cross compiling
1738 dnl feel free to fix it, if you want
1740 elif test -z "$PYTHON" -o "x$PYTHON" = "xyes"; then
1741 AC_PATH_PROG([PYTHON], [python], [no])
1744 if test x"$PYTHON" = x"no" -a "x$is_win32" != "xyes" ; then
1745 AC_MSG_WARN([python interpreter not found in your path])
1749 if test "x$PYTHON" != "xno" ; then
1750 if $PYTHON -c "import sys; sys.exit(sys.version[[:3]] >= '2.4')" ; then
1751 AC_MSG_WARN([python version >= 2.4 required])
1757 dnl ###########################################################################
1758 dnl # Find the D-Bus services dir.
1760 dnl # This is a 3 step process that
1762 dnl # 1. checks if --with-dbus-services was set, if so use that.
1763 dnl # 2. checks if --prefix was given, if so use that.
1764 dnl # 3. fallbacks to installing into what should be the correct system
1767 dnl # This is still prone to error if one of the legacy directories exist
1768 dnl # although a newer dbus is installed. But I have tried to order the
1769 dnl # directory searching to keep this situation at a minimum.
1770 dnl ###########################################################################
1771 AC_ARG_WITH(dbus-services, [AS_HELP_STRING([--with-dbus-services=<dir>], [where the D-Bus services directory is located.])])
1773 DBUS_SERVICES_DIR=""
1775 if test x"$enable_dbus" = "xyes" ; then
1776 AC_MSG_CHECKING([location of the D-Bus services directory])
1777 if ! test -z "$with_dbus_services" ; then
1778 if ! test -d "$with_dbus_services" ; then
1779 AC_MSG_ERROR([$with_dbus_services does not exist, if this is the correct location please make sure that it exists.])
1782 DBUS_SERVICES_DIR="$with_dbus_services"
1784 if test x"$prefix" = x"NONE" ; then
1785 dnl # no prefix given, so we look for the correct dbus system paths.
1786 dnl # if a prefix is given, we use it.
1788 serviceprefixes="$prefix/share $prefix/lib /usr/share /usr/local/share"
1789 DBUS_SERVICES_DIR=""
1791 for d in $serviceprefixes ; do
1792 dir="$d/dbus-1/services"
1793 if test -d $dir ; then
1794 DBUS_SERVICES_DIR="$dir"
1799 if test -z $DBUS_SERVICES_DIR ; then
1800 AC_MSG_ERROR([D-Bus services directory was not found! Please use --with-dbus-services and specify its location.])
1803 DBUS_SERVICES_DIR="$datadir/dbus-1/services"
1806 AC_MSG_RESULT([$DBUS_SERVICES_DIR])
1807 AC_DEFINE(HAVE_DBUS, 1, [Define if we are using D-Bus.])
1809 AC_SUBST(DBUS_SERVICES_DIR)
1811 if test "x$enable_dbus" = "xyes" ; then
1812 echo "Building with D-Bus support"
1814 echo "Building without D-Bus support"
1817 AM_CONDITIONAL(ENABLE_DBUS, test "x$enable_dbus" = "xyes")
1819 dnl Check for Python headers (currently useful only for libgnt)
1820 dnl (Thanks to XChat)
1821 if test "x$enable_consoleui" = "xyes" -a ! -z "$PYTHON" -a x"$PYTHON" != x"no" ; then
1822 AC_MSG_CHECKING(for Python compile flags)
1823 if test -f ${PYTHON}-config; then
1824 PY_CFLAGS=`${PYTHON}-config --includes`
1825 PY_LIBS=`${PYTHON}-config --libs`
1826 AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.])
1829 AC_MSG_RESULT([Cannot find ${PYTHON}-config])
1837 dnl #######################################################################
1840 dnl # Thanks go to Evolution for the checks.
1841 dnl #######################################################################
1843 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])
1845 SSL_CERTIFICATES_DIR=""
1846 if ! test -z "$ssl_certificates_dir" ; then
1847 if test "x$ssl_certificates_dir" = "xyes" ; then
1848 AC_MSG_ERROR([--with-system-ssl-certs requires that a location is specified, eg. --with-system-ssl-certs=/etc/pki/tls/certs])
1850 if ! test -d "$ssl_certificates_dir" ; then
1851 if test "x$is_win32" = "xyes" ; then
1852 AC_MSG_WARN([$ssl_certificates_dir does not exist. \
1853 It may be OK when cross-compiling, but please make sure about it.])
1855 AC_MSG_ERROR([$ssl_certificates_dir does not exist, \
1856 if this is the correct location please make sure that it exists.])
1859 SSL_CERTIFICATES_DIR="$ssl_certificates_dir"
1861 AC_SUBST(SSL_CERTIFICATES_DIR)
1862 if test "x$SSL_CERTIFICATES_DIR" != "x" ; then
1863 AC_DEFINE_UNQUOTED([SSL_CERTIFICATES_DIR], ["$SSL_CERTIFICATES_DIR"],
1864 [Directory where SSL certificates can be found])
1866 AM_CONDITIONAL(INSTALL_SSL_CERTIFICATES, test "x$SSL_CERTIFICATES_DIR" = "x")
1868 dnl These two are inverses of each other <-- stolen from evolution!
1870 AC_ARG_ENABLE(gnutls,
1871 [ --enable-gnutls=[yes,no] attempt to use GnuTLS for SSL support [default=yes]],
1872 [enable_gnutls="$enableval"],
1873 [enable_gnutls="yes"])
1876 [ --enable-nss=[yes,no,static] attempt to use Mozilla libnss for SSL support [default=yes]],
1877 [enable_nss="$enableval"],
1880 msg_ssl="None. Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!"
1881 looked_for_gnutls="no"
1883 dnl # Check for GnuTLS if it isn't disabled
1885 if test "x$enable_gnutls" != "xno"; then
1886 looked_for_gnutls="yes"
1888 if `$PKG_CONFIG --exists gnutls`; then
1889 dnl # minimum required version should almost certainly be higher
1890 PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.10], [
1898 if test "x$have_gnutls" = "xyes"; then
1899 AC_DEFINE(HAVE_GNUTLS, 1, [Define if you have GnuTLS])
1904 AM_CONDITIONAL(USE_GNUTLS, test "x$have_gnutls" = "xyes")
1908 dnl # Check for NSS if it isn't disabled
1911 if test "x$enable_nss" != "xno"; then
1912 looked_for_nss="yes"
1914 if `$PKG_CONFIG --exists mozilla-nss`; then
1915 dnl # TODO: set required minimum version
1916 PKG_CHECK_MODULES(NSS, mozilla-nss, [
1922 elif `$PKG_CONFIG --exists nss`; then
1923 dnl # TODO: set required minimum version
1924 PKG_CHECK_MODULES(NSS, nss, [
1932 if test "x$have_nss" = "xyes"; then
1933 AC_DEFINE(HAVE_NSS, 1, [Define if you have Mozilla NSS])
1934 msg_nss="Mozilla NSS"
1938 AM_CONDITIONAL(USE_NSS, test "x$have_nss" = "xyes")
1941 if test "x$msg_nss" != "x" -a "x$msg_gnutls" != "x"; then
1942 msg_ssl="$msg_nss and $msg_gnutls"
1943 elif test "x$msg_nss" != "x"; then
1945 elif test "x$msg_gnutls" != "x"; then
1947 elif test "x$looked_for_gnutls" = "xyes" -a "x$looked_for_nss" = "xyes" -a "x$force_deps" = "xyes" ; then
1949 Neither GnuTLS or NSS SSL development headers found.
1950 Use --disable-nss --disable-gnutls if you do not need SSL support.
1951 Novell Groupwise and Google Talk will not work without GnuTLS or NSS. OpenSSL is NOT usable!
1953 elif test "x$looked_for_gnutls" = "xyes" -a "x$force_deps" = "xyes" ; then
1955 GnuTLS SSL development headers not found.
1956 Use --disable-gnutls if you do not need SSL support.
1957 Novell Groupwise and Google Talk will not work without SSL support.
1959 elif test "x$looked_for_nss" = "xyes" -a "x$force_deps" = "xyes" ; then
1961 NSS SSL development headers not found.
1962 Use --disable-nss if you do not need SSL support.
1963 Novell Groupwise and Google Talk will not work without SSL support.
1967 if test "$ac_cv_cygwin" = yes ; then
1968 LDADD="$LDADD -static"
1969 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
1972 AC_SUBST(DEBUG_CPPFLAGS)
1973 AC_SUBST(DEBUG_CFLAGS)
1977 if test "x$enable_plugins" = "xyes" ; then
1978 AC_DEFINE(PURPLE_PLUGINS, 1, [Define if plugins are enabled.])
1979 AM_CONDITIONAL(PLUGINS, true)
1980 PLUGINS_DEFINE="#define PURPLE_PLUGINS 1"
1982 AM_CONDITIONAL(PLUGINS, false)
1983 PLUGINS_DEFINE="#undef PURPLE_PLUGINS"
1985 AC_SUBST(PLUGINS_DEFINE)
1987 dnl #######################################################################
1988 dnl # Check for Cyrus-SASL (for xmpp/irc)
1989 dnl #######################################################################
1990 dnl AC_CHECK_SIZEOF(short)
1991 AC_CHECK_FUNCS(snprintf connect)
1993 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)
1994 if test "x$enable_cyrus_sasl" = "xyes" ; then
1995 AC_CHECK_LIB(sasl2, sasl_client_init, [
1996 AM_CONDITIONAL(USE_CYRUS_SASL, true)
1997 AC_DEFINE(HAVE_CYRUS_SASL, [1], [Define to 1 if Cyrus SASL is present])
2000 AM_CONDITIONAL(USE_CYRUS_SASL, false)
2001 AC_MSG_ERROR([Cyrus SASL library not found])
2004 AM_CONDITIONAL(USE_CYRUS_SASL, false)
2007 dnl #######################################################################
2008 dnl # Check for Kerberos (for Zephyr)
2009 dnl #######################################################################
2010 AC_DEFINE(ZEPHYR_INT32, long, [Size of an int32.])
2011 AC_SUBST(KRB4_CFLAGS)
2012 AC_SUBST(KRB4_LDFLAGS)
2014 if test "$kerberos" != "no" ; then
2015 if test "$kerberos" != "yes" ; then
2016 KRB4_CFLAGS="-I${kerberos}/include"
2017 if test -d "$kerberos/include/kerberosIV" ; then
2018 KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV"
2020 KRB4_LDFLAGS="-L${kerberos}/lib"
2021 elif test -d /usr/local/include/kerberosIV ; then
2022 KRB4_CFLAGS="-I/usr/local/include/kerberosIV"
2023 elif test -d /usr/include/kerberosIV ; then
2024 KRB4_CFLAGS="-I/usr/include/kerberosIV"
2026 AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.])
2028 orig_LDFLAGS="$LDFLAGS"
2029 LDFLAGS="$LDFLAGS $KRB4_LDFLAGS"
2030 AC_CHECK_LIB(krb4, krb_rd_req,
2031 [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lk5crypto -lcom_err"],
2032 [AC_CHECK_LIB(krb, krb_rd_req,
2033 [KRB4_LIBS="-lkrb -ldes"],
2034 [AC_MSG_ERROR([Kerberos 4 libraries not found])],
2036 -ldes425 -lkrb5 -lk5crypto -lcom_err)
2038 LIBS="$LIBS $KRB4_LIBS"
2039 AC_CHECK_FUNCS(krb_set_key krb_rd_req krb_get_lrealm)
2040 AC_CHECK_FUNCS(krb_get_err_text krb_log)
2042 LDFLAGS="$orig_LDFLAGS"
2045 dnl #######################################################################
2046 dnl # Check for external libzephyr
2047 dnl #######################################################################
2048 AC_SUBST(ZEPHYR_CFLAGS)
2049 AC_SUBST(ZEPHYR_LDFLAGS)
2050 AC_SUBST(ZEPHYR_LIBS)
2051 if test "$zephyr" != "no" ; then
2052 if test "$zephyr" != "yes" ; then
2053 ZEPHYR_CFLAGS="-I${zephyr}/include"
2054 ZEPHYR_LDFLAGS="-L${zephyr}/lib"
2055 elif test -d /usr/athena/include/zephyr ; then
2056 ZEPHYR_CFLAGS="-I/usr/athena/include"
2057 elif test -d /usr/include/zephyr ; then
2058 ZEPHYR_CFLAGS="-I/usr/include"
2059 elif test -d /usr/local/include/zephyr ; then
2060 ZEPHYR_CFLAGS="-I/usr/local/include"
2062 AC_DEFINE(LIBZEPHYR_EXT, 1 , [Define if external libzephyr should be used.])
2063 AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno")
2064 orig_LDFLAGS="$LDFLAGS"
2065 LDFLAGS="$LDFLAGS $ZEPHYR_LDFLAGS"
2066 AC_CHECK_LIB(zephyr, ZInitialize,
2067 [ZEPHYR_LIBS="-lzephyr"],
2068 [AC_MSG_ERROR([Zephyr libraries not found])],
2072 LDFLAGS="$orig_LDFLAGS"
2075 AC_MSG_CHECKING(for me pot o' gold)
2077 AC_CHECK_FUNCS(gethostid timegm)
2078 AC_CHECK_HEADERS(paths.h sgtty.h sys/cdefs.h)
2079 AC_CHECK_HEADERS(sys/file.h sys/filio.h sys/ioctl.h sys/msgbuf.h)
2080 AC_CHECK_HEADERS(sys/select.h sys/uio.h sys/wait.h)
2081 AC_CHECK_HEADERS(termios.h)
2083 # sys/sysctl.h on OpenBSD 4.2 requires sys/param.h
2084 # sys/sysctl.h on FreeBSD requires sys/types.h
2085 AC_CHECK_HEADERS(sys/param.h)
2086 AC_CHECK_HEADERS(sys/sysctl.h, [], [],
2088 #include <sys/types.h>
2090 # include <sys/param.h>
2094 AC_CHECK_HEADERS(sys/socket.h)
2095 AC_VAR_TIMEZONE_EXTERNALS
2097 AC_CHECK_MEMBER([struct tm.tm_gmtoff],
2098 [AC_DEFINE(HAVE_TM_GMTOFF, 1, [Define if you have a tm_gmtoff member in struct tm])],
2100 [[#include <time.h>]])
2102 dnl #######################################################################
2103 dnl # Disable pixmap installation
2104 dnl #######################################################################
2105 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)
2107 AM_CONDITIONAL(INSTALL_PIXMAPS, test "x$enable_pixmaps" = "xyes")
2109 dnl #######################################################################
2110 dnl # Tweak status tray icon installation directory
2111 dnl #######################################################################
2112 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)
2114 AM_CONDITIONAL(ENABLE_TRAYCOMPAT, test "x$enable_traycompat" = "xyes")
2117 m4_ifdef([GTK_DOC_CHECK], [
2118 GTK_DOC_CHECK([1.16],[--flavour no-tmpl])
2120 if test "x$force_deps" = "xyes" -a "x$enable_gtk_doc" = "xyes"; then
2122 You have requested to generate documentation, but gtk-doc was not found.
2126 AM_CONDITIONAL([ENABLE_GTK_DOC], false)
2130 AC_ARG_ENABLE(debug, [AS_HELP_STRING([--enable-debug],
2131 [compile with debugging support])], , enable_debug=no)
2133 if test "x$enable_debug" = "xyes" ; then
2134 AC_DEFINE(DEBUG, 1, [Define if debugging is enabled.])
2137 AM_CONDITIONAL(PURPLE_AVAILABLE, true)
2139 AC_CONFIG_FILES([Makefile
2143 doc/reference/Makefile
2144 doc/reference/finch/Makefile
2145 doc/reference/finch/version.xml
2146 doc/reference/libpurple/Makefile
2147 doc/reference/libpurple/version.xml
2148 doc/reference/protocols/Makefile
2149 doc/reference/protocols/facebook/Makefile
2150 doc/reference/protocols/version.xml
2151 doc/reference/pidgin/Makefile
2152 doc/reference/pidgin/version.xml
2155 pidgin/data/pidgin.desktop.in
2156 pidgin/data/pidgin-3.pc
2157 pidgin/data/pidgin-3-uninstalled.pc
2158 pidgin/pixmaps/Makefile
2159 pidgin/pixmaps/emotes/default/24/Makefile
2160 pidgin/pixmaps/emotes/small/16/Makefile
2161 pidgin/plugins/Makefile
2162 pidgin/plugins/cap/Makefile
2163 pidgin/plugins/disco/Makefile
2164 pidgin/plugins/gestures/Makefile
2165 pidgin/plugins/gevolution/Makefile
2166 pidgin/plugins/musicmessaging/Makefile
2167 pidgin/plugins/ticker/Makefile
2168 pidgin/plugins/win32/transparency/Makefile
2169 pidgin/plugins/win32/winprefs/Makefile
2170 pidgin/themes/Makefile
2171 pidgin/win32/pidgin_dll_rc.rc
2172 pidgin/win32/pidgin_exe_rc.rc
2173 libpurple/data/purple-url-handler.desktop.in
2174 libpurple/data/purple-3.pc
2175 libpurple/data/purple-3-uninstalled.pc
2176 libpurple/example/Makefile
2177 libpurple/plugins/Makefile
2178 libpurple/plugins/keyrings/Makefile
2180 libpurple/protocols/Makefile
2181 libpurple/protocols/bonjour/Makefile
2182 libpurple/protocols/facebook/Makefile
2183 libpurple/protocols/gg/Makefile
2184 libpurple/protocols/irc/Makefile
2185 libpurple/protocols/jabber/Makefile
2186 libpurple/protocols/jabber/tests/Makefile
2187 libpurple/protocols/novell/Makefile
2188 libpurple/protocols/null/Makefile
2189 libpurple/protocols/oscar/Makefile
2190 libpurple/protocols/oscar/tests/Makefile
2191 libpurple/protocols/sametime/Makefile
2192 libpurple/protocols/silc/Makefile
2193 libpurple/protocols/simple/Makefile
2194 libpurple/protocols/zephyr/Makefile
2195 libpurple/tests/Makefile
2198 libpurple/win32/libpurplerc.rc
2199 share/sounds/Makefile
2200 share/ca-certs/Makefile
2202 finch/finch_winres.rc
2203 finch/libfinch_winres.rc
2205 finch/libgnt/Makefile
2207 finch/libgnt/libgnt_winres.rc
2208 finch/libgnt/wms/Makefile
2209 finch/plugins/Makefile
2215 echo $PACKAGE $VERSION
2218 echo Build GTK+ UI................. : $enable_gtkui
2219 echo Build console UI.............. : $enable_consoleui
2220 echo Build for X11................. : $with_x
2222 echo Enable Gestures............... : $enable_gestures
2223 echo Protocols to build dynamically : $DYNAMIC_PRPLS
2224 echo Protocols to link statically.. : $STATIC_PRPLS
2226 echo Build with GStreamer support.. : $enable_gst
2227 echo Build with D-Bus support...... : $enable_dbus
2228 echo Build with voice and video.... : $enable_vv
2229 if test "x$enable_dbus" = "xyes" ; then
2230 eval eval echo D-Bus services directory...... : $DBUS_SERVICES_DIR
2232 echo Build with GNU Libidn......... : $enable_idn
2233 echo SSL Library/Libraries......... : $msg_ssl
2234 if test "x$SSL_CERTIFICATES_DIR" != "x" ; then
2235 eval eval echo SSL CA certificates directory. : $SSL_CERTIFICATES_DIR
2237 echo Build with Cyrus SASL support. : $enable_cyrus_sasl
2238 echo Use kerberos 4 with zephyr.... : $kerberos
2239 echo Use external libzephyr........ : $zephyr
2240 echo Install pixmaps............... : $enable_pixmaps
2241 echo Old tray icon compatibility... : $enable_traycompat
2242 echo Install translations.......... : $enable_i18n
2243 echo Has you....................... : yes
2245 echo Use XScreenSaver Extension.... : $enable_screensaver
2246 echo Use X Session Management...... : $enable_sm
2247 echo Use startup notification...... : $enable_startup_notification
2248 echo Build with Enchant support.... : $use_enchant
2249 echo Build with GCR widgets........ : $enable_gcr
2250 echo Build Unity integration plugin.: $enable_unity
2252 echo Build with GNOME Keyring...... : $enable_gnome_keyring
2253 echo Build with KWallet............ : $enable_kwallet
2254 echo Build with Secret Service..... : $enable_secret_service
2256 echo Build with plugin support..... : $enable_plugins
2257 echo Enable Introspection...........: $enable_introspection
2259 if test "x$is_win32" = "xyes" ; then
2261 echo Win32 directory structure..... : $with_win32_dirs
2265 echo Print debugging messages...... : $enable_debug
2266 echo Generate documentation........ : $enable_gtk_doc
2268 eval eval echo Pidgin will be installed in $bindir.
2269 if test "x$pidginpath" != "x" ; then
2270 echo Warning: You have an old copy of Pidgin at $pidginpath.
2272 if test "x$enable_pixmaps" = "xno" ; then
2274 echo Warning: You have disabled the installation of pixmap data, but Pidgin
2275 echo still requires installed pixmaps. Be sure you know what you are doing.
2277 if test "x$enable_i18n" = "xno" ; then
2279 echo Warning: You have disabled the building and installation of translation
2280 echo data. This will prevent building pidgin.desktop and the GConf schemas.
2281 echo Be sure you know what you are doing.
2284 echo configure complete, now type \'make\'