summaryrefslogtreecommitdiff
path: root/gmodule
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2008-07-27 17:35:46 +0000
committerTor Lillqvist <tml@src.gnome.org>2008-07-27 17:35:46 +0000
commit168c4d47087d2ae184e414be06b40441e49465aa (patch)
tree021cc7c5773e1c446ca9eb9fc8d85fb98bfe129c /gmodule
parentbd78e090575f64e53dce495788da58e1e53936a0 (diff)
New file.
2008-07-27 Tor Lillqvist <tml@novell.com> * gmodule.symbols: New file. * gmodule.c: Bypass the Windows ABI compatibility symbols on 64-bit Windows. Thus no need to keep the file name in system codepage around on 64-bit Windows either. * Makefile.am: Produce gmodule.def from gmodule.symbols. Dist gmodule.symbols instead of gmodule.def. * gmodule.def: Drop from SVN. svn path=/trunk/; revision=7259
Diffstat (limited to 'gmodule')
-rw-r--r--gmodule/ChangeLog16
-rw-r--r--gmodule/Makefile.am5
-rw-r--r--gmodule/gmodule.c12
-rw-r--r--gmodule/gmodule.def11
-rw-r--r--gmodule/gmodule.symbols14
5 files changed, 39 insertions, 19 deletions
diff --git a/gmodule/ChangeLog b/gmodule/ChangeLog
index 0af7dbdd0..d3f39eb31 100644
--- a/gmodule/ChangeLog
+++ b/gmodule/ChangeLog
@@ -1,6 +1,20 @@
2008-07-27 Tor Lillqvist <tml@novell.com>
- * Makefile.am (gmodule-2.0.lib): Pass appropriate -machine flag to lib.exe.
+ * gmodule.symbols: New file.
+
+ * gmodule.c: Bypass the Windows ABI compatibility symbols on
+ 64-bit Windows. Thus no need to keep the file name in system
+ codepage around on 64-bit Windows either.
+
+ * Makefile.am: Produce gmodule.def from gmodule.symbols. Dist
+ gmodule.symbols instead of gmodule.def.
+
+ * gmodule.def: Drop from SVN.
+
+2008-07-27 Tor Lillqvist <tml@novell.com>
+
+ * Makefile.am (gmodule-2.0.lib): Pass appropriate -machine flag to
+ lib.exe.
2008-07-21 Matthias Clasen <mclasen2redhat.com>
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index 98cae0f21..ed36751ce 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -9,10 +9,13 @@ AM_CPPFLAGS = \
@GLIB_DEBUG_FLAGS@ \
-DG_DISABLE_DEPRECATED
+gmodule.def: gmodule.symbols
+ (echo -e EXPORTS; $(CPP) -P - <$(srcdir)/gmodule.symbols | sed -e '/^$$/d' -e 's/^/ /') > gmodule.def
+
EXTRA_DIST += \
makefile.msc.in \
gmoduleconf.h.in \
- gmodule.def \
+ gmodule.symbols \
gmodule-dl.c \
gmodule-dld.c \
gmodule-dyld.c \
diff --git a/gmodule/gmodule.c b/gmodule/gmodule.c
index 23e6828b3..1ebb63e30 100644
--- a/gmodule/gmodule.c
+++ b/gmodule/gmodule.c
@@ -61,7 +61,7 @@
struct _GModule
{
gchar *file_name;
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
gchar *cp_file_name;
#endif
gpointer handle;
@@ -355,7 +355,7 @@ g_module_open (const gchar *file_name,
{
main_module = g_new (GModule, 1);
main_module->file_name = NULL;
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
main_module->cp_file_name = NULL;
#endif
main_module->handle = handle;
@@ -470,7 +470,7 @@ g_module_open (const gchar *file_name,
module = g_new (GModule, 1);
module->file_name = g_strdup (file_name);
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
module->cp_file_name = g_locale_from_utf8 (file_name, -1,
NULL, NULL, NULL);
#endif
@@ -516,7 +516,7 @@ g_module_open (const gchar *file_name,
return module;
}
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
#undef g_module_open
@@ -580,7 +580,7 @@ g_module_close (GModule *module)
_g_module_close (module->handle, FALSE);
g_free (module->file_name);
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
g_free (module->cp_file_name);
#endif
g_free (module);
@@ -659,7 +659,7 @@ g_module_name (GModule *module)
return module->file_name;
}
-#ifdef G_OS_WIN32
+#if defined (G_OS_WIN32) && !defined(_WIN64)
#undef g_module_name
diff --git a/gmodule/gmodule.def b/gmodule/gmodule.def
deleted file mode 100644
index ef202a947..000000000
--- a/gmodule/gmodule.def
+++ /dev/null
@@ -1,11 +0,0 @@
-EXPORTS
- g_module_build_path
- g_module_close
- g_module_error
- g_module_make_resident
- g_module_name PRIVATE
- g_module_name_utf8
- g_module_open PRIVATE
- g_module_open_utf8
- g_module_supported
- g_module_symbol
diff --git a/gmodule/gmodule.symbols b/gmodule/gmodule.symbols
new file mode 100644
index 000000000..1d5b6e3b5
--- /dev/null
+++ b/gmodule/gmodule.symbols
@@ -0,0 +1,14 @@
+g_module_build_path
+g_module_close
+g_module_error
+g_module_make_resident
+#ifndef _WIN64
+g_module_name PRIVATE
+#endif
+g_module_name_utf8
+#ifndef _WIN64
+g_module_open PRIVATE
+#endif
+g_module_open_utf8
+g_module_supported
+g_module_symbol