From 80ecc30841e4741dae3a5dac7e8ff2889b7b096e Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sun, 27 Jul 2008 17:15:16 +0000 Subject: [PATCH] glib/glib.symbols glib/gconvert.c glib/gdir.c glib/gfileutils.c 2008-07-27 Tor Lillqvist * glib/glib.symbols * glib/gconvert.c * glib/gdir.c * glib/gfileutils.c * glib/giowin32.c * glib/gspawn-win32.c * glib/gutils.c * glib/gwin32.c: Bypass the Windows "ABI compatibility" symbols on _WIN64. As there hasn't been any widely deployed 64-bit Windows builds of the really old GLib (pre-2.8.1) versions those refer to, there is no need to have the "ABI compatibility" versions in the DLL. * glib/makegalias.pl: Handle #ifndef _WIN64: Just output it, too. svn path=/trunk/; revision=7257 --- ChangeLog | 17 +++++++++++++++++ glib/gconvert.c | 13 ++++++++----- glib/gdir.c | 4 ++-- glib/gfileutils.c | 8 ++++---- glib/giowin32.c | 2 +- glib/glib.symbols | 30 ++++++++++++++++++++++++++++++ glib/gspawn-win32.c | 4 ++++ glib/gutils.c | 2 +- glib/gwin32.c | 8 ++++++++ glib/makegalias.pl | 2 +- 10 files changed, 76 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 05c047d..ba7a774 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2008-07-27 Tor Lillqvist + * glib/glib.symbols + * glib/gconvert.c + * glib/gdir.c + * glib/gfileutils.c + * glib/giowin32.c + * glib/gspawn-win32.c + * glib/gutils.c + * glib/gwin32.c: Bypass the Windows "ABI compatibility" symbols on + _WIN64. As there hasn't been any widely deployed 64-bit Windows + builds of the really old GLib (pre-2.8.1) versions those refer to, + there is no need to have the "ABI compatibility" versions in the + DLL. + + * glib/makegalias.pl: Handle #ifndef _WIN64: Just output it, too. + +2008-07-27 Tor Lillqvist + * configure.in: Set LIB_EXE_MACHINE_FLAG to either X86 or X64 on Windows. AC_SUBST it. diff --git a/glib/gconvert.c b/glib/gconvert.c index 3d70654..7aefe24 100644 --- a/glib/gconvert.c +++ b/glib/gconvert.c @@ -1331,11 +1331,14 @@ g_filename_to_utf8 (const gchar *opsysstring, "UTF-8", charset, bytes_read, bytes_written, error); } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_filename_to_utf8 -/* Binary compatibility version. Not for newly compiled code. */ +/* Binary compatibility version. Not for newly compiled code. Also not needed for + * 64-bit versions as there should be no old deployed binaries that would use + * the old versions. + */ gchar* g_filename_to_utf8 (const gchar *opsysstring, @@ -1396,7 +1399,7 @@ g_filename_from_utf8 (const gchar *utf8string, charset, "UTF-8", bytes_read, bytes_written, error); } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_filename_from_utf8 @@ -1831,7 +1834,7 @@ g_filename_from_uri (const gchar *uri, return result; } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_filename_from_uri @@ -1906,7 +1909,7 @@ g_filename_to_uri (const gchar *filename, return escaped_uri; } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_filename_to_uri diff --git a/glib/gdir.c b/glib/gdir.c index 490e5a9..b704f30 100644 --- a/glib/gdir.c +++ b/glib/gdir.c @@ -137,7 +137,7 @@ g_dir_open (const gchar *path, #endif } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) /* The above function actually is called g_dir_open_utf8, and it's * that what applications compiled with this GLib version will @@ -227,7 +227,7 @@ g_dir_read_name (GDir *dir) #endif } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) /* Ditto for g_dir_read_name */ diff --git a/glib/gfileutils.c b/glib/gfileutils.c index 20df737..34ecc64 100644 --- a/glib/gfileutils.c +++ b/glib/gfileutils.c @@ -316,7 +316,7 @@ g_file_test (const gchar *filename, #endif } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_file_test @@ -860,7 +860,7 @@ g_file_get_contents (const gchar *filename, #endif } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_file_get_contents @@ -1238,7 +1238,7 @@ g_mkstemp (gchar *tmpl) return create_temp_file (tmpl, 0600); } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_mkstemp @@ -1417,7 +1417,7 @@ g_file_open_tmp (const gchar *tmpl, return retval; } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) #undef g_file_open_tmp diff --git a/glib/giowin32.c b/glib/giowin32.c index 1f6727f..13f9303 100644 --- a/glib/giowin32.c +++ b/glib/giowin32.c @@ -1644,7 +1644,7 @@ g_io_channel_new_file (const gchar *filename, return channel; } -#ifdef G_OS_WIN32 +#if !defined (_WIN64) #undef g_io_channel_new_file diff --git a/glib/glib.symbols b/glib/glib.symbols index d5cb4e8..428cec7 100644 --- a/glib/glib.symbols +++ b/glib/glib.symbols @@ -214,10 +214,12 @@ g_locale_from_utf8 G_GNUC_MALLOC g_locale_to_utf8 G_GNUC_MALLOC g_filename_display_name G_GNUC_MALLOC g_filename_display_basename G_GNUC_MALLOC +#ifndef _WIN64 g_filename_from_uri PRIVATE G_GNUC_MALLOC g_filename_from_utf8 PRIVATE G_GNUC_MALLOC g_filename_to_uri PRIVATE G_GNUC_MALLOC g_filename_to_utf8 PRIVATE G_GNUC_MALLOC +#endif #ifdef G_OS_WIN32 g_filename_from_uri_utf8 G_GNUC_MALLOC g_filename_from_utf8_utf8 @@ -316,8 +318,10 @@ g_date_valid_year G_GNUC_CONST #if IN_HEADER(__G_DIR_H__) #if IN_FILE(__G_DIR_C__) g_dir_close +#ifndef _WIN64 g_dir_open PRIVATE g_dir_read_name PRIVATE +#endif #ifdef G_OS_WIN32 g_dir_open_utf8 g_dir_read_name_utf8 @@ -350,13 +354,19 @@ g_build_path G_GNUC_MALLOC G_GNUC_NULL_TERMINATED g_build_pathv G_GNUC_MALLOC g_file_error_from_errno g_file_error_quark +#ifndef _WIN64 g_file_get_contents PRIVATE +#endif g_file_set_contents +#ifndef _WIN64 g_file_open_tmp PRIVATE g_file_test PRIVATE +#endif g_file_read_link g_format_size_for_display +#ifndef _WIN64 g_mkstemp PRIVATE +#endif g_mkdir_with_parents #ifdef G_OS_WIN32 g_file_get_contents_utf8 @@ -1057,13 +1067,19 @@ g_slist_sort_with_data #if IN_HEADER(__G_SPAWN_H__) #if IN_FILE(__G_SPAWN_C__) +#ifndef _WIN64 g_spawn_async PRIVATE g_spawn_async_with_pipes PRIVATE +#endif g_spawn_close_pid +#ifndef _WIN64 g_spawn_command_line_async PRIVATE g_spawn_command_line_sync PRIVATE +#endif g_spawn_error_quark +#ifndef _WIN64 g_spawn_sync PRIVATE +#endif #ifdef G_OS_WIN32 g_spawn_async_utf8 g_spawn_async_with_pipes_utf8 @@ -1474,13 +1490,17 @@ g_atexit g_basename #endif g_get_application_name +#ifndef _WIN64 g_find_program_in_path PRIVATE g_get_current_dir PRIVATE g_getenv PRIVATE g_unsetenv PRIVATE g_get_home_dir PRIVATE +#endif g_get_host_name +#ifndef _WIN64 g_setenv PRIVATE +#endif g_listenv #ifdef G_OS_WIN32 g_find_program_in_path_utf8 @@ -1492,7 +1512,9 @@ g_get_home_dir_utf8 #endif g_get_language_names g_get_prgname +#ifndef _WIN64 g_get_real_name PRIVATE +#endif #ifdef G_OS_WIN32 g_get_real_name_utf8 #endif @@ -1501,7 +1523,9 @@ g_get_system_data_dirs #ifdef G_OS_WIN32 g_win32_get_system_data_dirs_for_module #endif +#ifndef _WIN64 g_get_tmp_dir PRIVATE +#endif #ifdef G_OS_WIN32 g_get_tmp_dir_utf8 #endif @@ -1509,7 +1533,9 @@ g_get_user_cache_dir g_get_user_config_dir g_get_user_data_dir g_get_user_special_dir +#ifndef _WIN64 g_get_user_name PRIVATE +#endif #ifdef G_OS_WIN32 g_get_user_name_utf8 #endif @@ -1580,9 +1606,13 @@ g_match_info_fetch_all g_win32_error_message g_win32_ftruncate g_win32_get_package_installation_directory_of_module +#ifndef _WIN64 g_win32_get_package_installation_directory PRIVATE +#endif g_win32_get_package_installation_directory_utf8 +#ifndef _WIN64 g_win32_get_package_installation_subdirectory PRIVATE +#endif g_win32_get_package_installation_subdirectory_utf8 g_win32_get_windows_version g_win32_getlocale diff --git a/glib/gspawn-win32.c b/glib/gspawn-win32.c index a242a3b..51ccebd 100644 --- a/glib/gspawn-win32.c +++ b/glib/gspawn-win32.c @@ -1227,6 +1227,8 @@ g_spawn_close_pid (GPid pid) CloseHandle (pid); } +#if !defined (_WIN64) + /* Binary compatibility versions that take system codepage pathnames, * argument vectors and environments. These get used only by code * built against 2.8.1 or earlier. Code built against 2.8.2 or later @@ -1492,6 +1494,8 @@ g_spawn_command_line_async (const gchar *command_line, return retval; } +#endif /* !_WIN64 */ + #endif /* !GSPAWN_HELPER */ #define __G_SPAWN_C__ diff --git a/glib/gutils.c b/glib/gutils.c index 225a9c2..c0ec3b3 100644 --- a/glib/gutils.c +++ b/glib/gutils.c @@ -3286,7 +3286,7 @@ glib_gettext (const gchar *str) return g_dgettext (GETTEXT_PACKAGE, str); } -#ifdef G_OS_WIN32 +#if defined (G_OS_WIN32) && !defined (_WIN64) /* Binary compatibility versions. Not for newly compiled code. */ diff --git a/glib/gwin32.c b/glib/gwin32.c index 83212d5..19724ab 100644 --- a/glib/gwin32.c +++ b/glib/gwin32.c @@ -442,6 +442,8 @@ g_win32_get_package_installation_directory (const gchar *package, return result; } +#if !defined (_WIN64) + #undef g_win32_get_package_installation_directory /* DLL ABI binary compatibility version that uses system codepage file names */ @@ -472,6 +474,8 @@ g_win32_get_package_installation_directory (const gchar *package, return retval; } +#endif + /** * g_win32_get_package_installation_subdirectory: * @package: You should pass %NULL for this. @@ -512,6 +516,8 @@ g_win32_get_package_installation_subdirectory (const gchar *package, return dirname; } +#if !defined (_WIN64) + #undef g_win32_get_package_installation_subdirectory /* DLL ABI binary compatibility version that uses system codepage file names */ @@ -532,6 +538,8 @@ g_win32_get_package_installation_subdirectory (const gchar *package, return dirname; } +#endif + static guint windows_version; static void diff --git a/glib/makegalias.pl b/glib/makegalias.pl index f7ee769..622026a 100755 --- a/glib/makegalias.pl +++ b/glib/makegalias.pl @@ -83,7 +83,7 @@ while (<>) { next; } - if ($_ =~ /^\#ifn?def\s+(G|DISABLE_MEM_POOLS)/) + if ($_ =~ /^\#ifn?def\s+(G|DISABLE_MEM_POOLS|_WIN64)/) { print $_; -- 2.7.4