summaryrefslogtreecommitdiff
path: root/gtk+-mingw/include/libltdl
diff options
context:
space:
mode:
Diffstat (limited to 'gtk+-mingw/include/libltdl')
-rw-r--r--gtk+-mingw/include/libltdl/lt_dlloader.h90
-rw-r--r--gtk+-mingw/include/libltdl/lt_error.h85
-rw-r--r--gtk+-mingw/include/libltdl/lt_system.h166
3 files changed, 341 insertions, 0 deletions
diff --git a/gtk+-mingw/include/libltdl/lt_dlloader.h b/gtk+-mingw/include/libltdl/lt_dlloader.h
new file mode 100644
index 0000000..589fd0d
--- /dev/null
+++ b/gtk+-mingw/include/libltdl/lt_dlloader.h
@@ -0,0 +1,90 @@
+/* lt_dlloader.h -- dynamic library loader interface
+
+ Copyright (C) 2004, 2007, 2008 Free Software Foundation, Inc.
+ Written by Gary V. Vaughan, 2004
+
+ NOTE: The canonical source of this file is maintained with the
+ GNU Libtool package. Report bugs to bug-libtool@gnu.org.
+
+GNU Libltdl is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+As a special exception to the GNU Lesser General Public License,
+if you distribute this file as part of a program or library that
+is built using GNU Libtool, you may include this file under the
+same distribution terms that you use for the rest of that program.
+
+GNU Libltdl 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with GNU Libltdl; see the file COPYING.LIB. If not, a
+copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
+or obtained by writing to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#if !defined(LT_DLLOADER_H)
+#define LT_DLLOADER_H 1
+
+#include <libltdl/lt_system.h>
+
+LT_BEGIN_C_DECLS
+
+typedef void * lt_dlloader;
+typedef void * lt_module;
+typedef void * lt_user_data;
+typedef struct lt__advise * lt_dladvise;
+
+/* Function pointer types for module loader vtable entries: */
+typedef lt_module lt_module_open (lt_user_data data,
+ const char *filename,
+ lt_dladvise advise);
+typedef int lt_module_close (lt_user_data data,
+ lt_module module);
+typedef void * lt_find_sym (lt_user_data data, lt_module module,
+ const char *symbolname);
+typedef int lt_dlloader_init (lt_user_data data);
+typedef int lt_dlloader_exit (lt_user_data data);
+
+/* Default priority is LT_DLLOADER_PREPEND if none is explicitly given. */
+typedef enum {
+ LT_DLLOADER_PREPEND = 0, LT_DLLOADER_APPEND
+} lt_dlloader_priority;
+
+/* This structure defines a module loader, as populated by the get_vtable
+ entry point of each loader. */
+typedef struct {
+ const char * name;
+ const char * sym_prefix;
+ lt_module_open * module_open;
+ lt_module_close * module_close;
+ lt_find_sym * find_sym;
+ lt_dlloader_init * dlloader_init;
+ lt_dlloader_exit * dlloader_exit;
+ lt_user_data dlloader_data;
+ lt_dlloader_priority priority;
+} lt_dlvtable;
+
+LT_SCOPE int lt_dlloader_add (const lt_dlvtable *vtable);
+LT_SCOPE lt_dlloader lt_dlloader_next (const lt_dlloader loader);
+
+LT_SCOPE lt_dlvtable * lt_dlloader_remove (const char *name);
+LT_SCOPE const lt_dlvtable *lt_dlloader_find (const char *name);
+LT_SCOPE const lt_dlvtable *lt_dlloader_get (lt_dlloader loader);
+
+
+/* Type of a function to get a loader's vtable: */
+typedef const lt_dlvtable *lt_get_vtable (lt_user_data data);
+
+#ifdef LT_DEBUG_LOADERS
+LT_SCOPE void lt_dlloader_dump (void);
+#endif
+
+LT_END_C_DECLS
+
+#endif /*!defined(LT_DLLOADER_H)*/
diff --git a/gtk+-mingw/include/libltdl/lt_error.h b/gtk+-mingw/include/libltdl/lt_error.h
new file mode 100644
index 0000000..e789b3a
--- /dev/null
+++ b/gtk+-mingw/include/libltdl/lt_error.h
@@ -0,0 +1,85 @@
+/* lt_error.h -- error propogation interface
+
+ Copyright (C) 1999, 2000, 2001, 2004, 2007 Free Software Foundation, Inc.
+ Written by Thomas Tanner, 1999
+
+ NOTE: The canonical source of this file is maintained with the
+ GNU Libtool package. Report bugs to bug-libtool@gnu.org.
+
+GNU Libltdl is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+As a special exception to the GNU Lesser General Public License,
+if you distribute this file as part of a program or library that
+is built using GNU Libtool, you may include this file under the
+same distribution terms that you use for the rest of that program.
+
+GNU Libltdl 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with GNU Libltdl; see the file COPYING.LIB. If not, a
+copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
+or obtained by writing to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+/* Only include this header file once. */
+#if !defined(LT_ERROR_H)
+#define LT_ERROR_H 1
+
+#include <libltdl/lt_system.h>
+
+LT_BEGIN_C_DECLS
+
+/* Defining error strings alongside their symbolic names in a macro in
+ this way allows us to expand the macro in different contexts with
+ confidence that the enumeration of symbolic names will map correctly
+ onto the table of error strings. \0 is appended to the strings to
+ expilicitely initialize the string terminator. */
+#define lt_dlerror_table \
+ LT_ERROR(UNKNOWN, "unknown error\0") \
+ LT_ERROR(DLOPEN_NOT_SUPPORTED, "dlopen support not available\0") \
+ LT_ERROR(INVALID_LOADER, "invalid loader\0") \
+ LT_ERROR(INIT_LOADER, "loader initialization failed\0") \
+ LT_ERROR(REMOVE_LOADER, "loader removal failed\0") \
+ LT_ERROR(FILE_NOT_FOUND, "file not found\0") \
+ LT_ERROR(DEPLIB_NOT_FOUND, "dependency library not found\0") \
+ LT_ERROR(NO_SYMBOLS, "no symbols defined\0") \
+ LT_ERROR(CANNOT_OPEN, "can't open the module\0") \
+ LT_ERROR(CANNOT_CLOSE, "can't close the module\0") \
+ LT_ERROR(SYMBOL_NOT_FOUND, "symbol not found\0") \
+ LT_ERROR(NO_MEMORY, "not enough memory\0") \
+ LT_ERROR(INVALID_HANDLE, "invalid module handle\0") \
+ LT_ERROR(BUFFER_OVERFLOW, "internal buffer overflow\0") \
+ LT_ERROR(INVALID_ERRORCODE, "invalid errorcode\0") \
+ LT_ERROR(SHUTDOWN, "library already shutdown\0") \
+ LT_ERROR(CLOSE_RESIDENT_MODULE, "can't close resident module\0") \
+ LT_ERROR(INVALID_MUTEX_ARGS, "internal error (code withdrawn)\0")\
+ LT_ERROR(INVALID_POSITION, "invalid search path insert position\0")\
+ LT_ERROR(CONFLICTING_FLAGS, "symbol visibility can be global or local\0")
+
+/* Enumerate the symbolic error names. */
+enum {
+#define LT_ERROR(name, diagnostic) LT_CONC(LT_ERROR_, name),
+ lt_dlerror_table
+#undef LT_ERROR
+
+ LT_ERROR_MAX
+};
+
+/* Should be max of the error string lengths above (plus one for C++) */
+#define LT_ERROR_LEN_MAX (41)
+
+/* These functions are only useful from inside custom module loaders. */
+LT_SCOPE int lt_dladderror (const char *diagnostic);
+LT_SCOPE int lt_dlseterror (int errorcode);
+
+
+LT_END_C_DECLS
+
+#endif /*!defined(LT_ERROR_H)*/
diff --git a/gtk+-mingw/include/libltdl/lt_system.h b/gtk+-mingw/include/libltdl/lt_system.h
new file mode 100644
index 0000000..f1545ce
--- /dev/null
+++ b/gtk+-mingw/include/libltdl/lt_system.h
@@ -0,0 +1,166 @@
+/* lt_system.h -- system portability abstraction layer
+
+ Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
+ Written by Gary V. Vaughan, 2004
+
+ NOTE: The canonical source of this file is maintained with the
+ GNU Libtool package. Report bugs to bug-libtool@gnu.org.
+
+GNU Libltdl is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+As a special exception to the GNU Lesser General Public License,
+if you distribute this file as part of a program or library that
+is built using GNU Libtool, you may include this file under the
+same distribution terms that you use for the rest of that program.
+
+GNU Libltdl 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 Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with GNU Libltdl; see the file COPYING.LIB. If not, a
+copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
+or obtained by writing to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*/
+
+#if !defined(LT_SYSTEM_H)
+#define LT_SYSTEM_H 1
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <sys/types.h>
+
+/* Some systems do not define EXIT_*, even with STDC_HEADERS. */
+#if !defined(EXIT_SUCCESS)
+# define EXIT_SUCCESS 0
+#endif
+#if !defined(EXIT_FAILURE)
+# define EXIT_FAILURE 1
+#endif
+
+/* Just pick a big number... */
+#define LT_FILENAME_MAX 2048
+
+
+/* Saves on those hard to debug '\0' typos.... */
+#define LT_EOS_CHAR '\0'
+
+/* LTDL_BEGIN_C_DECLS should be used at the beginning of your declarations,
+ so that C++ compilers don't mangle their names. Use LTDL_END_C_DECLS at
+ the end of C declarations. */
+#if defined(__cplusplus)
+# define LT_BEGIN_C_DECLS extern "C" {
+# define LT_END_C_DECLS }
+#else
+# define LT_BEGIN_C_DECLS /* empty */
+# define LT_END_C_DECLS /* empty */
+#endif
+
+/* LT_STMT_START/END are used to create macros which expand to a
+ a single compound statement in a portable way. */
+#if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus)
+# define LT_STMT_START (void)(
+# define LT_STMT_END )
+#else
+# if (defined (sun) || defined (__sun__))
+# define LT_STMT_START if (1)
+# define LT_STMT_END else (void)0
+# else
+# define LT_STMT_START do
+# define LT_STMT_END while (0)
+# endif
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+/* Canonicalise Windows and Cygwin recognition macros.
+ To match the values set by recent Cygwin compilers, make sure that if
+ __CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */
+#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
+# define __CYGWIN__ __CYGWIN32__
+#endif
+#if defined(__CYGWIN__)
+# if defined(__WINDOWS__)
+# undef __WINDOWS__
+# endif
+#elif defined(_WIN32)
+# define __WINDOWS__ _WIN32
+#elif defined(WIN32)
+# define __WINDOWS__ WIN32
+#endif
+#if defined(__CYGWIN__) && defined(__WINDOWS__)
+# undef __WINDOWS__
+#endif
+
+
+/* DLL building support on win32 hosts; mostly to workaround their
+ ridiculous implementation of data symbol exporting. */
+#if !defined(LT_SCOPE)
+# if defined(__WINDOWS__) || defined(__CYGWIN__)
+# if defined(DLL_EXPORT) /* defined by libtool (if required) */
+# define LT_SCOPE extern __declspec(dllexport)
+# endif
+# if defined(LIBLTDL_DLL_IMPORT) /* define if linking with this dll */
+ /* note: cygwin/mingw compilers can rely instead on auto-import */
+# define LT_SCOPE extern __declspec(dllimport)
+# endif
+# endif
+# if !defined(LT_SCOPE) /* static linking or !__WINDOWS__ */
+# define LT_SCOPE extern
+# endif
+#endif
+
+#if defined(__WINDOWS__)
+/* LT_DIRSEP_CHAR is accepted *in addition* to '/' as a directory
+ separator when it is set. */
+# define LT_DIRSEP_CHAR '\\'
+# define LT_PATHSEP_CHAR ';'
+#else
+# define LT_PATHSEP_CHAR ':'
+#endif
+
+#if defined(_MSC_VER) /* Visual Studio */
+# define R_OK 4
+#endif
+
+/* fopen() mode flags for reading a text file */
+#undef LT_READTEXT_MODE
+#if defined(__WINDOWS__) || defined(__CYGWIN__)
+# define LT_READTEXT_MODE "rt"
+#else
+# define LT_READTEXT_MODE "r"
+#endif
+
+/* The extra indirection to the LT__STR and LT__CONC macros is required so
+ that if the arguments to LT_STR() (or LT_CONC()) are themselves macros,
+ they will be expanded before being quoted. */
+#ifndef LT_STR
+# define LT__STR(arg) #arg
+# define LT_STR(arg) LT__STR(arg)
+#endif
+
+#ifndef LT_CONC
+# define LT__CONC(a, b) a##b
+# define LT_CONC(a, b) LT__CONC(a, b)
+#endif
+#ifndef LT_CONC3
+# define LT__CONC3(a, b, c) a##b##c
+# define LT_CONC3(a, b, c) LT__CONC3(a, b, c)
+#endif
+
+#endif /*!defined(LT_SYSTEM_H)*/