libpurple/prefix.h

changeset 16158
04028f467df0
parent 16155
9671c4d72da8
child 16159
67d12aa69723
--- a/libpurple/prefix.h	Sat Apr 14 02:19:49 2007 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
- * I made the following modifications, be sure to readd these when
- * upgrading these files.
- *
- * Added this comment.
- * Added "purple_ ## " to the namespace
- * Changed the lib macro to use /lib/purple instead of just /lib
- *  (why does purple 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) purple_ ## 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/libpurple")))
-	#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_ */

mercurial