diff -Nru gaim-librvp-0.9/librvp-0.9/gaiminternal.h gaim-librvp-0.9.new/librvp-0.9/gaiminternal.h
--- gaim-librvp-0.9/librvp-0.9/gaiminternal.h	1970-01-01 00:00:00.000000000 +0000
+++ gaim-librvp-0.9.new/librvp-0.9/gaiminternal.h	2006-10-06 17:39:40.000000000 +0000
@@ -0,0 +1,180 @@
+//renamed and hacked up by plugwash for use in the librvp build process
+/**
+ * @file internal.h Internal definitions and includes
+ * @ingroup core
+ *
+ * gaim
+ *
+ * Gaim is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+#ifndef _GAIM_INTERNAL_H_
+#define _GAIM_INTERNAL_H_
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+/*
+ * If we're using NLS, make sure gettext works.  If not, then define
+ * dummy macros in place of the normal gettext macros.
+ *
+ * Also, the perl XS config.h file sometimes defines _  So we need to
+ * make sure _ isn't already defined before trying to define it.
+ *
+ * The Singular/Plural/Number ngettext dummy definition below was
+ * taken from an email to the texinfo mailing list by Manuel Guerrero.
+ * Thank you Manuel, and thank you Alex's good friend Google.
+ */
+#ifdef ENABLE_NLS
+#  include <locale.h>
+#  include <libintl.h>
+#  define _(x) ((const char *)gettext(x))
+#  ifdef gettext_noop
+#    define N_(String) gettext_noop (String)
+#  else
+#    define N_(String) (String)
+#  endif
+#else
+#  include <locale.h>
+#  define N_(String) (String)
+#  ifndef _
+#    define _(x) ((const char *)x)
+#  endif
+#  define ngettext(Singular, Plural, Number) ((Number == 1) ? ((const char *)Singular) : ((const char *)Plural))
+#endif
+
+#ifdef HAVE_ENDIAN_H
+# include <endian.h>
+#endif
+
+#define MSG_LEN 2048
+/* The above should normally be the same as BUF_LEN,
+ * but just so we're explicitly asking for the max message
+ * length. */
+#define BUF_LEN MSG_LEN
+#define BUF_LONG BUF_LEN * 2
+
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#ifndef _WIN32
+#include <sys/wait.h>
+#endif
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+#ifdef HAVE_ICONV
+#include <iconv.h>
+#endif
+
+#ifdef HAVE_LANGINFO_CODESET
+#include <langinfo.h>
+#endif
+
+#ifdef GAIM_PLUGINS
+# include <gmodule.h>
+# ifndef _WIN32
+#  include <dlfcn.h>
+# endif
+#endif
+
+#ifndef _WIN32
+# include <netinet/in.h>
+# include <sys/socket.h>
+# include <arpa/inet.h>
+# include <sys/un.h>
+# include <sys/utsname.h>
+# include <netdb.h>
+# include <signal.h>
+# include <unistd.h>
+#endif
+
+#ifndef MAXPATHLEN
+# define MAXPATHLEN 1024
+#endif
+
+#ifndef HOST_NAME_MAX
+# define HOST_NAME_MAX 255
+#endif
+
+#define PATHSIZE 1024
+
+#include <glib.h>
+#if GLIB_CHECK_VERSION(2,6,0)
+#	include <glib/gstdio.h>
+#endif
+
+#ifdef _WIN32
+#include "win32dep.h"
+#endif
+
+#if !GLIB_CHECK_VERSION(2,6,0)
+#	define g_freopen freopen
+#	define g_fopen fopen
+#	define g_rmdir rmdir
+#	define g_remove remove
+#	define g_unlink unlink
+#	define g_lstat lstat
+#	define g_stat stat
+#	define g_mkdir mkdir
+#	define g_rename rename
+#	define g_open open
+#endif
+
+
+/* ugly ugly ugly */
+/* This is a workaround for the fact that G_GINT64_MODIFIER and G_GSIZE_FORMAT
+ * are only defined in Glib >= 2.4 */
+#ifndef G_GINT64_MODIFIER
+#	if GLIB_SIZEOF_LONG == 8
+#		define G_GINT64_MODIFIER "l"
+#	else
+#		define G_GINT64_MODIFIER "ll"
+#	endif
+#endif
+
+#ifndef G_GSIZE_FORMAT
+#	if GLIB_SIZEOF_LONG == 8
+#		define G_GSIZE_FORMAT "lu"
+#	else
+#		define G_GSIZE_FORMAT "u"
+#	endif
+#endif
+
+/* Safer ways to work with static buffers. When using non-static
+ * buffers, either use g_strdup_* functions (preferred) or use
+ * g_strlcpy/g_strlcpy directly. */
+#define gaim_strlcpy(dest, src) g_strlcpy(dest, src, sizeof(dest))
+#define gaim_strlcat(dest, src) g_strlcat(dest, src, sizeof(dest))
+
+#define GAIM_WEBSITE "http://gaim.sourceforge.net/"
+
+#ifndef _WIN32
+/* Everything needs to include this, because
+ * everything gets the autoconf macros */
+#include "gaimprefix.h"
+#endif /* _WIN32 */
+
+#endif /* _GAIM_INTERNAL_H_ */
diff -Nru gaim-librvp-0.9/librvp-0.9/gaimprefix.h gaim-librvp-0.9.new/librvp-0.9/gaimprefix.h
--- gaim-librvp-0.9/librvp-0.9/gaimprefix.h	1970-01-01 00:00:00.000000000 +0000
+++ gaim-librvp-0.9.new/librvp-0.9/gaimprefix.h	2006-10-06 17:39:40.000000000 +0000
@@ -0,0 +1,144 @@
+/*
+ * I made the following modifications, be sure to readd these when
+ * upgrading these files.
+ *
+ * Added this comment.
+ * Added "gaim_ ## " to the namespace
+ * Changed the lib macro to use /lib/gaim instead of just /lib
+ *  (why does gaim do that in the -DLIBDIR autoconf thing anyway?)
+ *
+ */
+
+/*
+ * BinReloc - a library for creating relocatable executables
+ * Written by: Mike Hearn <mike@theoretic.com>
+ *             Hongli Lai <h.lai@chello.nl>
+ * http://autopackage.org/
+ *
+ * This source code is public domain. You can relicense this code
+ * under whatever license you want.
+ *
+ * See http://autopackage.org/docs/binreloc/ for
+ * more information and how to use this.
+ *
+ * NOTE: if you're using C++ and are getting "undefined reference
+ * to br_*", try renaming prefix.c to prefix.cpp
+ */
+
+#ifndef _PREFIX_H_
+#define _PREFIX_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* WARNING, BEFORE YOU MODIFY PREFIX.C:
+ *
+ * If you make changes to any of the functions in prefix.c, you MUST
+ * change the BR_NAMESPACE macro.
+ * This way you can avoid symbol table conflicts with other libraries
+ * that also happen to use BinReloc.
+ *
+ * Example:
+ * #define BR_NAMESPACE(funcName) foobar_ ## funcName
+ * --> expands br_locate to foobar_br_locate
+ */
+#undef BR_NAMESPACE
+#define BR_NAMESPACE(funcName) gaim_ ## funcName
+
+
+#ifdef ENABLE_BINRELOC
+
+#define br_thread_local_store BR_NAMESPACE(br_thread_local_store)
+#define br_locate BR_NAMESPACE(br_locate)
+#define br_locate_prefix BR_NAMESPACE(br_locate_prefix)
+#define br_prepend_prefix BR_NAMESPACE(br_prepend_prefix)
+
+#ifndef BR_NO_MACROS
+	/* These are convenience macros that replace the ones usually used
+	   in Autoconf/Automake projects */
+	#undef SELFPATH
+	#undef PREFIX
+	#undef PREFIXDIR
+	#undef BINDIR
+	#undef SBINDIR
+	#undef DATADIR
+	#undef LIBDIR
+	#undef LIBEXECDIR
+	#undef ETCDIR
+	#undef SYSCONFDIR
+	#undef CONFDIR
+	#undef LOCALEDIR
+
+	#define SELFPATH	(br_thread_local_store (br_locate ((void *) "")))
+	#define PREFIX		(br_thread_local_store (br_locate_prefix ((void *) "")))
+	#define PREFIXDIR	(br_thread_local_store (br_locate_prefix ((void *) "")))
+	#define BINDIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/bin")))
+	#define SBINDIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/sbin")))
+	#define DATADIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/share")))
+	#define LIBDIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/lib/gaim")))
+	#define LIBEXECDIR	(br_thread_local_store (br_prepend_prefix ((void *) "", "/libexec")))
+	#define ETCDIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
+	#define SYSCONFDIR	(br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
+	#define CONFDIR		(br_thread_local_store (br_prepend_prefix ((void *) "", "/etc")))
+	#define LOCALEDIR	(br_thread_local_store (br_prepend_prefix ((void *) "", "/share/locale")))
+#endif /* BR_NO_MACROS */
+
+
+/* The following functions are used internally by BinReloc
+   and shouldn't be used directly in applications. */
+
+char *br_locate		(void *symbol);
+char *br_locate_prefix	(void *symbol);
+char *br_prepend_prefix	(void *symbol, char *path);
+
+#endif /* ENABLE_BINRELOC */
+
+const char *br_thread_local_store (char *str);
+
+
+/* These macros and functions are not guarded by the ENABLE_BINRELOC
+ * macro because they are portable. You can use these functions.
+ */
+
+#define br_strcat BR_NAMESPACE(br_strcat)
+#define br_extract_dir BR_NAMESPACE(br_extract_dir)
+#define br_extract_prefix BR_NAMESPACE(br_extract_prefix)
+#define br_set_locate_fallback_func BR_NAMESPACE(br_set_locate_fallback_func)
+
+#ifndef BR_NO_MACROS
+	/* Convenience functions for concatenating paths */
+
+	/* Each time you call one, the previous result will be freed. So don't do this:
+	 *
+	 *   some_function( BR_DATADIR("/one"), BR_DATADIR("/two") )
+	 *
+	 * as the first parameter will now be bogus!
+	 */
+
+	#define BR_SELFPATH(suffix)	(br_thread_local_store (br_strcat (SELFPATH, suffix)))
+	#define BR_PREFIX(suffix)	(br_thread_local_store (br_strcat (PREFIX, suffix)))
+	#define BR_PREFIXDIR(suffix)	(br_thread_local_store (br_strcat (BR_PREFIX, suffix)))
+	#define BR_BINDIR(suffix)	(br_thread_local_store (br_strcat (BINDIR, suffix)))
+	#define BR_SBINDIR(suffix)	(br_thread_local_store (br_strcat (SBINDIR, suffix)))
+	#define BR_DATADIR(suffix)	(br_thread_local_store (br_strcat (DATADIR, suffix)))
+	#define BR_LIBDIR(suffix)	(br_thread_local_store (br_strcat (LIBDIR, suffix)))
+	#define BR_LIBEXECDIR(suffix)	(br_thread_local_store (br_strcat (LIBEXECDIR, suffix)))
+	#define BR_ETCDIR(suffix)	(br_thread_local_store (br_strcat (ETCDIR, suffix)))
+	#define BR_SYSCONFDIR(suffix)	(br_thread_local_store (br_strcat (SYSCONFDIR, suffix)))
+	#define BR_CONFDIR(suffix)	(br_thread_local_store (br_strcat (CONFDIR, suffix)))
+	#define BR_LOCALEDIR(suffix)	(br_thread_local_store (br_strcat (LOCALEDIR, suffix)))
+#endif
+
+char *br_strcat	(const char *str1, const char *str2);
+char *br_extract_dir	(const char *path);
+char *br_extract_prefix(const char *path);
+typedef char *(*br_locate_fallback_func) (void *symbol, void *data);
+void br_set_locate_fallback_func (br_locate_fallback_func func, void *data);
+
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _PREFIX_H_ */
diff -Nru gaim-librvp-0.9/librvp-0.9/rvp.c gaim-librvp-0.9.new/librvp-0.9/rvp.c
--- gaim-librvp-0.9/librvp-0.9/rvp.c	2006-05-03 20:15:26.000000000 +0000
+++ gaim-librvp-0.9.new/librvp-0.9/rvp.c	2006-10-06 17:37:39.000000000 +0000
@@ -56,7 +56,11 @@
 #include <debug.h>
 #include <ft.h>
 #include <gtkutils.h>
-#include <internal.h> /* this is here for the gettext bits */
+
+//hack because gaim doesn't ship internal.h as part of the public interface
+//anymore
+#include "gaiminternal.h" /* this is here for the gettext bits */
+
 #include <network.h>
 #include <notify.h>
 #include <plugin.h>
