/pidgin/main: c3cad56ac8b9: Manual merge pidgin/main into privat...

Mark Doliner <[email protected]>
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Changeset: c3cad56ac8b94b56ed84ef096eaa97443c48ed48
Author:	 Mark Doliner <[email protected]>
Date:	 2014-05-04 14:28 -0700
Branch:	 default
URL: https://hg.pidgin.im/pidgin/main/rev/c3cad56ac8b9

Description:

Manual merge pidgin/main into private/main.

One easy conflict in pidgin/win32/untar.c

diffstat:

 .hgignore                                         |      4 +
 INSTALL                                           |      2 -
 Makefile.mingw                                    |      2 +-
 README                                            |      3 +-
 config.h.mingw                                    |     10 +-
 configure.ac                                      |    344 +-
 doc/reference/finch/Makefile.am                   |      2 +-
 doc/reference/libpurple/Makefile.am               |      9 +-
 doc/reference/libpurple/libpurple-docs.xml        |     11 +-
 doc/reference/libpurple/plugin_i18n.xml           |      2 +-
 doc/reference/pidgin/Makefile.am                  |      4 +-
 finch/Makefile.am                                 |     29 +-
 finch/finch.c                                     |      2 +
 finch/finch.pc.in                                 |      2 +-
 finch/finch_winres.rc.in                          |     30 +
 finch/gntblist.c                                  |      8 +-
 finch/gntblist.h                                  |      1 +
 finch/gntconv.c                                   |     77 +-
 finch/gntconv.h                                   |     14 +-
 finch/gntdebug.c                                  |      2 +-
 finch/gntidle.c                                   |      1 +
 finch/gntmenuutil.c                               |     13 +-
 finch/gntpounce.c                                 |     12 +-
 finch/gntrequest.c                                |     44 +
 finch/gntsound.c                                  |      8 +-
 finch/gntui.c                                     |     13 +-
 finch/libfinch.c                                  |      6 +-
 finch/libfinch_winres.rc.in                       |     30 +
 finch/libgnt/Makefile.am                          |     11 +
 finch/libgnt/gnt.h                                |     27 +
 finch/libgnt/gntbindable.h                        |      1 -
 finch/libgnt/gntbox.c                             |      6 +
 finch/libgnt/gntbox.h                             |     11 +
 finch/libgnt/gntcolors.c                          |     21 +-
 finch/libgnt/gntinternal.h                        |      6 +-
 finch/libgnt/gntkeys.c                            |      9 +-
 finch/libgnt/gntkeys.h                            |     72 +-
 finch/libgnt/gntmain.c                            |    163 +-
 finch/libgnt/gntmenu.c                            |     39 +-
 finch/libgnt/gntmenuitem.c                        |     38 +
 finch/libgnt/gntmenuitem.h                        |     40 +
 finch/libgnt/gntwidget.c                          |      1 -
 finch/libgnt/gntwidget.h                          |      1 -
 finch/libgnt/gntwm.c                              |      6 +-
 finch/libgnt/libgnt_winres.rc.in                  |     30 +
 finch/libgnt/wms/Makefile.am                      |      5 +-
 finch/plugins/Makefile.am                         |     29 +-
 finch/plugins/gntclipboard.c                      |      1 +
 finch/plugins/gnttinyurl.c                        |     79 +-
 libpurple/Makefile.am                             |     65 +-
 libpurple/Makefile.mingw                          |      4 +
 libpurple/blistnodetypes.c                        |     10 +-
 libpurple/buddylist.c                             |     99 +-
 libpurple/buddylist.h                             |     13 +-
 libpurple/certificate.c                           |     22 +-
 libpurple/ciphers/aescipher.c                     |      2 +-
 libpurple/ciphers/pbkdf2cipher.c                  |      6 +-
 libpurple/conversation.c                          |      3 +
 libpurple/conversation.h                          |      6 +-
 libpurple/core.c                                  |      2 +-
 libpurple/dbus-server.h                           |      2 +
 libpurple/dnsquery.c                              |      4 +-
 libpurple/dnssrv.c                                |     10 +-
 libpurple/e2ee.c                                  |     32 +
 libpurple/e2ee.h                                  |     14 +
 libpurple/example/Makefile.am                     |      4 -
 libpurple/example/nullclient.c                    |     38 +-
 libpurple/glibcompat.h                            |     17 +
 libpurple/image-store.h                           |    106 +-
 libpurple/image.c                                 |     23 +-
 libpurple/image.h                                 |    178 +-
 libpurple/internal.h                              |     22 +-
 libpurple/plugin.c                                |      2 +-
 libpurple/plugins/Makefile.am                     |     79 +-
 libpurple/plugins/dbus-example.c                  |      8 +-
 libpurple/plugins/keyrings/Makefile.am            |     32 +-
 libpurple/plugins/keyrings/gnomekeyring.c         |      2 +-
 libpurple/plugins/keyrings/internalkeyring.c      |      2 +-
 libpurple/plugins/keyrings/wincred.c              |      2 +-
 libpurple/plugins/log_reader.c                    |      5 -
 libpurple/plugins/mono/Makefile.am                |      2 +-
 libpurple/plugins/mono/api/Makefile.am            |      2 +-
 libpurple/plugins/mono/loader/Makefile.am         |      4 +-
 libpurple/plugins/perl/Makefile.am                |      7 +-
 libpurple/plugins/perl/perl-common.c              |     23 +-
 libpurple/plugins/ssl/Makefile.am                 |     16 +-
 libpurple/plugins/tcl/Makefile.am                 |      6 +-
 libpurple/prefs.c                                 |     17 +-
 libpurple/protocols/bonjour/Makefile.am           |     25 +-
 libpurple/protocols/bonjour/dns_sd_proxy.c        |      2 +-
 libpurple/protocols/bonjour/dns_sd_proxy.h        |    100 +-
 libpurple/protocols/bonjour/jabber.c              |      2 -
 libpurple/protocols/gg/Makefile.am                |      8 +-
 libpurple/protocols/gg/image-prpl.c               |    114 +-
 libpurple/protocols/gg/image-prpl.h               |     10 +-
 libpurple/protocols/gg/lib/config.h               |      2 +-
 libpurple/protocols/gg/lib/fileio.h               |      6 +
 libpurple/protocols/gg/message-prpl.c             |    127 +-
 libpurple/protocols/gg/purplew.c                  |      7 +-
 libpurple/protocols/gg/purplew.h                  |      2 -
 libpurple/protocols/gg/roster.c                   |      6 +-
 libpurple/protocols/irc/Makefile.am               |      6 +-
 libpurple/protocols/jabber/Makefile.am            |     26 +-
 libpurple/protocols/jabber/google/google_roster.c |      7 +-
 libpurple/protocols/jabber/iq.c                   |      2 +-
 libpurple/protocols/jabber/jabber.c               |      2 +-
 libpurple/protocols/jabber/roster.c               |     63 +-
 libpurple/protocols/jabber/roster.h               |      6 +
 libpurple/protocols/msn/Makefile.am               |      6 +-
 libpurple/protocols/msn/slpmsg.c                  |     15 +-
 libpurple/protocols/msn/slpmsg.h                  |      1 -
 libpurple/protocols/mxit/Makefile.am              |      6 +-
 libpurple/protocols/mxit/mxit.h                   |      1 -
 libpurple/protocols/novell/Makefile.am            |      6 +-
 libpurple/protocols/null/Makefile.am              |      6 +-
 libpurple/protocols/oscar/Makefile.am             |     21 +-
 libpurple/protocols/oscar/family_feedbag.c        |      3 +-
 libpurple/protocols/oscar/family_icbm.c           |      4 -
 libpurple/protocols/oscar/family_locate.c         |      3 -
 libpurple/protocols/oscar/flap_connection.c       |      4 -
 libpurple/protocols/oscar/oscar.c                 |     12 +-
 libpurple/protocols/oscar/oscar.h                 |      2 -
 libpurple/protocols/oscar/peer.c                  |      4 -
 libpurple/protocols/oscar/util.c                  |      4 -
 libpurple/protocols/sametime/Makefile.am          |      6 +-
 libpurple/protocols/silc/Makefile.am              |      8 +-
 libpurple/protocols/simple/Makefile.am            |      6 +-
 libpurple/protocols/simple/simple.c               |      7 +-
 libpurple/protocols/yahoo/Makefile.am             |     19 +-
 libpurple/protocols/yahoo/libymsg.c               |      6 +-
 libpurple/protocols/zephyr/Makefile.am            |     11 +-
 libpurple/protocols/zephyr/ZVariables.c           |      4 +-
 libpurple/protocols/zephyr/zephyr.c               |      6 +
 libpurple/smiley-list.c                           |     12 +
 libpurple/smiley.h                                |      9 +-
 libpurple/tests/Makefile.am                       |      3 +-
 libpurple/tests/check_libpurple.c                 |      2 +-
 libpurple/util.c                                  |     17 +-
 libpurple/win32/giowin32.c                        |     10 +-
 libpurple/win32/global.mak                        |      8 +-
 libpurple/win32/libc_interface.c                  |      6 +-
 libpurple/win32/libc_interface.h                  |     17 +-
 libpurple/win32/libpurplerc.rc.in                 |     13 +-
 libpurple/win32/win32dep.c                        |    167 +-
 libpurple/win32/win32dep.h                        |     25 +-
 m4macros/Makefile.am                              |      2 +-
 m4macros/as-ac-expand.m4                          |     49 +
 pidgin.apspec.in                                  |      1 -
 pidgin/Makefile.am                                |     51 +-
 pidgin/Makefile.mingw                             |     17 +-
 pidgin/gtk3compat.h                               |      8 +
 pidgin/gtkblist.c                                 |     50 +-
 pidgin/gtkconv-theme.c                            |      8 +-
 pidgin/gtkconv.c                                  |     70 +-
 pidgin/gtkdialogs.c                               |     15 +-
 pidgin/gtkdnd-hints.c                             |     10 +-
 pidgin/gtkdocklet.c                               |      3 +-
 pidgin/gtkeventloop.c                             |      6 +-
 pidgin/gtkprefs.c                                 |      3 +-
 pidgin/gtkrequest.c                               |      6 -
 pidgin/gtksmiley-theme.c                          |      2 +-
 pidgin/gtksound.c                                 |      6 +-
 pidgin/gtkutils.c                                 |     38 +-
 pidgin/gtkutils.h                                 |     11 -
 pidgin/gtkwebview.c                               |    200 +-
 pidgin/gtkwebview.h                               |     13 +-
 pidgin/gtkwebviewtoolbar.c                        |     78 +-
 pidgin/gtkwebviewtoolbar.h                        |     22 +
 pidgin/gtkxfer.c                                  |      4 +
 pidgin/libpidgin.c                                |      7 +-
 pidgin/pidgin-3.pc.in                             |      1 +
 pidgin/pidgin.c                                   |      4 +
 pidgin/pidgin.h                                   |      2 +-
 pidgin/pidginstock.c                              |      7 +-
 pidgin/pidginstock.h                              |      1 +
 pidgin/pixmaps/Makefile.am                        |      1 +
 pidgin/pixmaps/toolbar/16/insert-screenshot.png   |    Bin 
 pidgin/plugins/Makefile.am                        |     77 +-
 pidgin/plugins/cap/Makefile.am                    |      7 +-
 pidgin/plugins/cap/cap.c                          |     65 +-
 pidgin/plugins/cap/cap.h                          |      2 +-
 pidgin/plugins/crazychat/Makefile.am              |      7 +-
 pidgin/plugins/disco/Makefile.am                  |      7 +-
 pidgin/plugins/disco/gtkdisco.c                   |     12 +-
 pidgin/plugins/gestures/Makefile.am               |      7 +-
 pidgin/plugins/gevolution/Makefile.am             |      7 +-
 pidgin/plugins/gevolution/gevo-util.c             |     10 +-
 pidgin/plugins/gevolution/gevolution.c            |      3 +-
 pidgin/plugins/musicmessaging/Makefile.am         |      7 +-
 pidgin/plugins/musicmessaging/musicmessaging.c    |     42 +-
 pidgin/plugins/perl/common/Makefile.PL.in         |      2 +-
 pidgin/plugins/screencap.c                        |   1034 +
 pidgin/plugins/ticker/Makefile.am                 |      7 +-
 pidgin/plugins/win32/transparency/Makefile.am     |     16 +
 pidgin/plugins/win32/transparency/win2ktrans.c    |     37 +-
 pidgin/plugins/win32/winprefs/Makefile.am         |     19 +
 pidgin/plugins/win32/winprefs/gtkappbar.c         |     34 +-
 pidgin/plugins/win32/winprefs/winprefs.c          |      6 +-
 pidgin/themes/Template.html                       |     76 +-
 pidgin/win32/gtkdocklet-win32.c                   |      4 +-
 pidgin/win32/gtkwin32dep.c                        |     30 +-
 pidgin/win32/gtkwin32dep.h                        |      3 +
 pidgin/win32/nsis/generate_gtk_zip.sh             |     69 +-
 pidgin/win32/nsis/pidgin-installer.nsi            |      1 -
 pidgin/win32/pidgin_dll_rc.rc.in                  |     15 +-
 pidgin/win32/pidgin_exe_rc.rc.in                  |     15 +-
 pidgin/win32/prepare-workspace.sh                 |      3 -
 pidgin/win32/untar.c                              |      4 +-
 pidgin/win32/winpidgin.c                          |     23 +-
 pidgin/win32/wspell.c                             |    107 -
 pidgin/win32/wspell.h                             |     57 -
 po/POTFILES.in                                    |      1 +
 po/pl.po                                          |  20730 +++++++++++--------
 213 files changed, 16470 insertions(+), 9927 deletions(-)

diffs (truncated from 38270 to 300 lines):

diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -2,6 +2,7 @@ syntax: glob
 .*.swp
 clang_output_*
 pidgin-*
+.dirstamp
 
 syntax: regexp
 (.*/)?TAGS$
@@ -131,6 +132,9 @@ pidgin/win32/nsis/pidgin-translations.ns
 pidgin/win32/nsis/translations
 pidgin/win32/pidgin_dll_rc.rc$
 pidgin/win32/pidgin_exe_rc.rc$
+finch/finch_winres.rc$
+finch/libfinch_winres.rc$
+finch/libgnt/libgnt_winres.rc$
 po/Makefile.in.in
 po/POTFILES$
 po/missing
diff --git a/INSTALL b/INSTALL
--- a/INSTALL
+++ b/INSTALL
@@ -138,8 +138,6 @@ when it should mark accounts idle based 
 Doing so will remove the ability to have pidgin start up with your window
 manager.
 
-	`--disable-gtkspell' will remove the ability to highlight misspelled words.
-
 	`--disable-gevolution' will cause the evolution integration plugin not to
 compile.
 
diff --git a/Makefile.mingw b/Makefile.mingw
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -31,7 +31,7 @@ awk 'BEGIN {FS="."} { \
     exit; \
 }' VERSION)
 
-GTK_INSTALL_VERSION = 2.24.14.0
+GTK_INSTALL_VERSION = 2.24.18.0
 
 authenticode_sign = $(MONO_SIGNCODE) \
 		    -spc "$(SIGNCODE_SPC)" -v "$(SIGNCODE_PVK)" \
diff --git a/README b/README
--- a/README
+++ b/README
@@ -29,8 +29,7 @@ well as the development files!). The con
 don't.  If you don't have GTK+ 2.0 installed, you should install it
 using your distribution's package management tools.
 
-For sound support, you also need gstreamer 0.10 or higher. For
-spellchecking support, you need libgtkspell (http://gtkspell.sf.net/).
+For sound support, you also need gstreamer 0.10 or higher.
 Your distro of choice probably already includes these, just be sure to
 install the development packages.
 
diff --git a/config.h.mingw b/config.h.mingw
--- a/config.h.mingw
+++ b/config.h.mingw
@@ -363,9 +363,6 @@
 /* It's defined in global.mak. */
 /* #undef USE_VV */
 
-/* Define if we're using GtkSpell */
-#define USE_GTKSPELL 1
-
 /* Define if we're using XScreenSaver. */
 #define USE_SCREENSAVER 1
 
@@ -406,6 +403,13 @@
  */
 #define HAVE_VSNPRINTF 1
 
+#define FINCH_LIBDIR wpurple_lib_dir(NULL)
+#define PIDGIN_LIBDIR wpurple_lib_dir(NULL)
+#define PURPLE_DATADIR wpurple_bin_dir()
+#define PURPLE_LIBDIR wpurple_lib_dir(NULL)
+#define PURPLE_LOCALEDIR wpurple_locale_dir()
+#define PURPLE_SYSCONFDIR wpurple_sysconf_dir()
+
 #define HAVE_FILENO 1
 
 #ifndef _WIN32_WINNT
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -52,10 +52,12 @@ m4_define([purple_version],
           [purple_major_version.purple_minor_version.purple_micro_version])
 m4_define([purple_display_version], purple_version[]m4_ifdef([purple_version_suffix],[purple_version_suffix]))
 
-m4_define([gnt_lt_current], [8])
+# the last version for Finch 2 was 2.8.10,
+# the first version for Finch 3 was 2.9.0
+m4_define([gnt_lt_current], [9])
 m4_define([gnt_major_version], [2])
-m4_define([gnt_minor_version], [8])
-m4_define([gnt_micro_version], [10])
+m4_define([gnt_minor_version], [9])
+m4_define([gnt_micro_version], [0])
 m4_define([gnt_version_suffix], [devel])
 m4_define([gnt_version],
           [gnt_major_version.gnt_minor_version.gnt_micro_version])
@@ -74,17 +76,20 @@ fi
 
 AC_CANONICAL_HOST
 AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([1.11 -Wno-portability dist-bzip2])
+AC_CONFIG_MACRO_DIR([m4macros])
+AM_INIT_AUTOMAKE([1.11 -Wno-portability dist-bzip2 subdir-objects])
 AM_SILENT_RULES([yes])
 
 PURPLE_MAJOR_VERSION=purple_major_version
 PURPLE_MINOR_VERSION=purple_minor_version
 PURPLE_MICRO_VERSION=purple_micro_version
 PURPLE_VERSION=purple_display_version
+PURPLE_API_VERSION=$((purple_lt_current - purple_minor_version))
 AC_SUBST(PURPLE_MAJOR_VERSION)
 AC_SUBST(PURPLE_MINOR_VERSION)
 AC_SUBST(PURPLE_MICRO_VERSION)
 AC_SUBST(PURPLE_VERSION)
+AC_SUBST(PURPLE_API_VERSION)
 
 PURPLE_LT_VERSION_INFO="purple_lt_current:purple_micro_version:purple_minor_version"
 AC_SUBST(PURPLE_LT_VERSION_INFO)
@@ -93,10 +98,12 @@ GNT_MAJOR_VERSION=gnt_major_version
 GNT_MINOR_VERSION=gnt_minor_version
 GNT_MICRO_VERSION=gnt_micro_version
 GNT_VERSION=gnt_display_version
+GNT_API_VERSION=$((gnt_lt_current - gnt_minor_version))
 AC_SUBST(GNT_MAJOR_VERSION)
 AC_SUBST(GNT_MINOR_VERSION)
 AC_SUBST(GNT_MICRO_VERSION)
 AC_SUBST(GNT_VERSION)
+AC_SUBST(GNT_API_VERSION)
 
 GNT_LT_VERSION_INFO="gnt_lt_current:gnt_micro_version:gnt_minor_version"
 AC_SUBST(GNT_LT_VERSION_INFO)
@@ -113,7 +120,6 @@ AM_PROG_CC_C_O
 AC_PROG_CXX
 LT_PREREQ([2.2.6])
 LT_INIT([disable-static])
-LIBTOOL="$LIBTOOL --silent"
 AC_PROG_INSTALL
 PKG_PROG_PKG_CONFIG
 AC_FUNC_ALLOCA
@@ -121,10 +127,46 @@ AC_FUNC_ALLOCA
 dnl Check for Sun compiler
 AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
 
+dnl Check for Win32
+case "$host" in
+	*-*-mingw* | *-*-cygwin*)
+		is_win32="yes"
+		is_not_win32="no"
+		LIBS="$LIBS -lws2_32"
+		DNSAPI_LIBS="-ldnsapi"
+		PLUGIN_LDFLAGS="-avoid-version -no-undefined"
+		AC_SUBST(DNSAPI_LIBS)
+		AC_CHECK_TOOL(WINDRES, windres)
+		AC_DEFINE(IS_WIN32_CROSS_COMPILED, 1,
+			[Define to 1, when building with autotools (not necessarily
+			cross-compiling) for windows. It's a temporary hack to remain
+			non-autotools win32 build working. Drop it when we fully
+			switch our win32 build to autotools.])
+		AC_DEFINE(WIN32_LEAN_AND_MEAN, 1,
+			[Define to 1, to build faster for win32.])
+		;;
+	*)
+		is_win32="no"
+		is_not_win32="yes"
+		PLUGIN_LDFLAGS="-avoid-version"
+		AC_CHECK_HEADERS(signal.h)
+		;;
+esac
+AM_CONDITIONAL(IS_WIN32, test "x$is_win32" = "xyes")
+AC_SUBST([PLUGIN_LDFLAGS])
+
+dnl Define *_LIBS
+PURPLE_LIBS="\$(top_builddir)/libpurple/libpurple.la \$(GLIB_LIBS)"
+PIDGIN_LIBS="\$(top_builddir)/pidgin/libpidgin.la \$(GTK_LIBS)"
+FINCH_LIBS="\$(top_builddir)/finch/libfinch.la \$(top_builddir)/finch/libgnt/libgnt.la \$(GLIB_LIBS)"
+AC_SUBST(PURPLE_LIBS)
+AC_SUBST(PIDGIN_LIBS)
+AC_SUBST(FINCH_LIBS)
+
 dnl Checks for header files.
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h signal.h stdint.h)
+AC_CHECK_HEADERS(arpa/nameser_compat.h fcntl.h sys/time.h unistd.h locale.h stdint.h)
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -135,6 +177,81 @@ AC_CHECK_SIZEOF(time_t, ,[
 
 AC_C_BIGENDIAN
 
+AC_ARG_WITH(win32-dirs, [AS_HELP_STRING([--with-win32-dirs=<classic|fhs>],
+	[use win32 classic (Program Files-like) or FHS (unix-like) directory structure (default: classic)])], [
+		if test "x$withval" != "xclassic" -a "x$withval" != "xfhs" ; then
+			AC_MSG_ERROR([Unsupported win32-dirs option. Please choose "classic" or "fhs".])
+		fi
+		with_win32_dirs="$withval"
+	], with_win32_dirs="classic")
+if test "x$is_win32" = "xyes" -a "x$with_win32_dirs" = "xfhs" ; then
+	AC_DEFINE(USE_WIN32_FHS, 1, [Define to 1, to use FHS on win32.])
+fi
+
+dnl Check for directories
+if test "x$is_win32" = "xyes" ; then
+	if test "x$with_win32_dirs" = "xfhs" ; then
+		AS_AC_EXPAND(win32_fhs_bindir, "$bindir")
+		AC_DEFINE_UNQUOTED([WIN32_FHS_BINDIR], ["$win32_fhs_bindir"],
+			[bindir, as defined by configure])
+		AS_AC_EXPAND(win32_fhs_libdir, "$libdir")
+		AC_DEFINE_UNQUOTED([WIN32_FHS_LIBDIR], ["$win32_fhs_libdir"],
+			[libdir, as defined by configure])
+		AS_AC_EXPAND(win32_fhs_datadir, "$datadir")
+		AC_DEFINE_UNQUOTED([WIN32_FHS_DATADIR], ["$win32_fhs_datadir"],
+			[datadir, as defined by configure])
+		AS_AC_EXPAND(win32_fhs_sysconfdir, "$sysconfdir")
+		AC_DEFINE_UNQUOTED([WIN32_FHS_SYSCONFDIR], ["$win32_fhs_sysconfdir"],
+			[sysconfdir, as defined by configure])
+		AS_AC_EXPAND(win32_fhs_localedir, "$localedir")
+		AC_DEFINE_UNQUOTED([WIN32_FHS_LOCALEDIR], ["$win32_fhs_localedir"],
+			[localedir, as defined by configure])
+
+		purple_libdir="wpurple_lib_dir(\"purple-$PURPLE_MAJOR_VERSION\")"
+		pidgin_libdir="wpurple_lib_dir(\"pidgin-$PURPLE_MAJOR_VERSION\")"
+		finch_libdir="wpurple_lib_dir(\"finch-$PURPLE_MAJOR_VERSION\")"
+	else
+		purple_libdir="wpurple_lib_dir(NULL)"
+		pidgin_libdir="wpurple_lib_dir(NULL)"
+		finch_libdir="wpurple_lib_dir(NULL)"
+	fi
+
+	purple_datadir="wpurple_data_dir()"
+	purple_sysconfdir="wpurple_sysconf_dir()"
+	purple_localedir="wpurple_locale_dir()"
+else
+	AS_AC_EXPAND(purple_datadir, "$datadir")
+	purple_datadir="\"$purple_datadir\""
+	AS_AC_EXPAND(purple_sysconfdir, "$sysconfdir")
+	purple_sysconfdir="\"$purple_sysconfdir\""
+	AS_AC_EXPAND(purple_localedir, "$localedir")
+	purple_localedir="\"$purple_localedir\""
+
+	AS_AC_EXPAND(common_libdir, "$libdir")
+	purple_libdir="\"$common_libdir/purple-$PURPLE_MAJOR_VERSION\""
+	pidgin_libdir="\"$common_libdir/pidgin-$PURPLE_MAJOR_VERSION\""
+	finch_libdir="\"$common_libdir/finch-$PURPLE_MAJOR_VERSION\""
+fi
+AC_DEFINE_UNQUOTED([PURPLE_DATADIR], [$purple_datadir],
+	[datadir to use, may expand into a function call that returns const char *])
+AC_DEFINE_UNQUOTED([PURPLE_LIBDIR], [$purple_libdir],
+	[libdir to use for libpurple, may expand into a function call that returns const char *])
+AC_DEFINE_UNQUOTED([PIDGIN_LIBDIR], [$pidgin_libdir],
+	[libdir to use for Pidgin, may expand into a function call that returns const char *])
+AC_DEFINE_UNQUOTED([FINCH_LIBDIR], [$finch_libdir],
+	[libdir to use for Finch, may expand into a function call that returns const char *])
+AC_DEFINE_UNQUOTED([PURPLE_SYSCONFDIR], [$purple_sysconfdir],
+	[sysconfdir to use, may expand into a function call that returns const char *])
+AC_DEFINE_UNQUOTED([PURPLE_LOCALEDIR], [$purple_localedir],
+	[localedir to use, may expand into a function call that returns const char *])
+
+PURPLE_PLUGINDIR="\$(libdir)/purple-$PURPLE_MAJOR_VERSION"
+AC_SUBST([PURPLE_PLUGINDIR])
+PIDGIN_PLUGINDIR="\$(libdir)/pidgin-$PURPLE_MAJOR_VERSION"
+AC_SUBST([PIDGIN_PLUGINDIR])
+FINCH_PLUGINDIR="\$(libdir)/finch-$PURPLE_MAJOR_VERSION"
+AC_SUBST([FINCH_PLUGINDIR])
+
 dnl Checks for library functions.
 AC_TYPE_SIGNAL
 AC_FUNC_STRFTIME
@@ -147,12 +264,16 @@ AC_CHECK_FUNCS(getopt_long,,
 ])
 
 dnl Check for inet_aton
-AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
-				         [AC_MSG_ERROR([inet_aton not found])])])
+if test "x$is_win32" != "xyes" ; then
+	AC_CHECK_FUNC(inet_aton, , [AC_CHECK_LIB(resolv, inet_aton, ,
+		[AC_MSG_ERROR([inet_aton not found])])])
+fi
 AC_CHECK_LIB(resolv, __res_query)
 AC_CHECK_LIB(nsl, gethostent)
-AC_CHECK_FUNC(socket, ,
-	[AC_CHECK_LIB(socket, socket, , [AC_MSG_ERROR([socket not found])])])
+if test "x$is_win32" != "xyes" ; then
+	AC_CHECK_FUNC(socket, , [AC_CHECK_LIB(socket, socket, ,
+		[AC_MSG_ERROR([socket not found])])])
+fi
 dnl If all goes well, by this point the previous two checks will have
 dnl pulled in -lsocket and -lnsl if we need them.
 AC_CHECK_FUNC(getaddrinfo,
@@ -166,14 +287,22 @@ dnl Check for socklen_t (in Unix98)
 AC_MSG_CHECKING(for socklen_t)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.