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 - * 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 + + * Makefile.am (gmodule-2.0.lib): Pass appropriate -machine flag to + lib.exe. 2008-07-21 Matthias Clasen 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