diff options
author | Mikhail Zabaluev <mikhail.zabaluev@gmail.com> | 2015-10-29 10:54:34 +0200 |
---|---|---|
committer | Mikhail Zabaluev <mikhail.zabaluev@gmail.com> | 2015-11-02 20:03:38 +0200 |
commit | 0dbc81c73ae19310f477e4888f4d4cba8474a846 (patch) | |
tree | 33cc73407e026336ba91f911c1ae944b5146d778 | |
parent | 6f1b574ceab74a043d24c24d12b2cfb47e5f8228 (diff) | |
download | glib-0dbc81c73ae19310f477e4888f4d4cba8474a846.tar.gz |
Move G_POLLFD_FORMAT to glibconfig.h
It's a platform-specific macro, so it belongs in glibconfig.h.
This ensures that g-ir-scanner will not pick the wrong definition
for introspection.
https://bugzilla.gnome.org/show_bug.cgi?id=757294
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | glib/glibconfig.h.win32.in | 4 | ||||
-rw-r--r-- | glib/gpoll.h | 11 |
3 files changed, 13 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index 63c3c7c68..9ad40f10f 100644 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,7 @@ case "$host" in *-*-mingw*) glib_native_win32=yes glib_pid_type='void *' + glib_pollfd_format='%#x' glib_cv_stack_grows=no # Unfortunately the mingw implementations of C99-style snprintf and vsnprintf # don't seem to be quite good enough, at least not in mingw-runtime-3.14. @@ -138,6 +139,7 @@ case "$host" in case "$host" in x86_64-*-*) LIB_EXE_MACHINE_FLAG=X64 + glib_pollfd_format='%#I64x' ;; esac @@ -146,6 +148,7 @@ case "$host" in *) glib_native_win32=no glib_pid_type=int + glib_pollfd_format='%d' ;; esac case $host in @@ -2866,6 +2869,8 @@ typedef gint64 goffset; #define G_GOFFSET_FORMAT G_GINT64_FORMAT #define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) +#define G_POLLFD_FORMAT $g_pollfd_format + _______EOF if test -z "$glib_unknown_void_p"; then @@ -3333,8 +3338,9 @@ g_memory_barrier_needed="$glib_memory_barrier_needed" g_gcc_atomic_ops="$glib_cv_gcc_has_builtin_atomic_operations" g_module_suffix="$glib_gmodule_suffix" - g_pid_type="$glib_pid_type" +g_pollfd_format="\"$glib_pollfd_format\"" + case $host in *-*-cygwin*) glib_os="#define G_OS_UNIX diff --git a/glib/glibconfig.h.win32.in b/glib/glibconfig.h.win32.in index 418cbe06a..35abba9ed 100644 --- a/glib/glibconfig.h.win32.in +++ b/glib/glibconfig.h.win32.in @@ -115,6 +115,8 @@ typedef gint64 goffset; #ifndef _WIN64 +#define G_POLLFD_FORMAT "%#x" + #define GPOINTER_TO_INT(p) ((gint) (p)) #define GPOINTER_TO_UINT(p) ((guint) (p)) @@ -130,6 +132,8 @@ typedef unsigned int guintptr; #else +#define G_POLLFD_FORMAT "%#I64x" + #define GPOINTER_TO_INT(p) ((gint) (gint64) (p)) #define GPOINTER_TO_UINT(p) ((guint) (guint64) (p)) diff --git a/glib/gpoll.h b/glib/gpoll.h index f28e3c50e..95fe01ce1 100644 --- a/glib/gpoll.h +++ b/glib/gpoll.h @@ -22,6 +22,7 @@ #error "Only <glib.h> can be included directly." #endif +#include <glibconfig.h> #include <glib/gtypes.h> G_BEGIN_DECLS @@ -106,15 +107,7 @@ struct _GPollFD * A format specifier that can be used in printf()-style format strings * when printing the @fd member of a #GPollFD. */ -#ifdef G_OS_WIN32 -#if GLIB_SIZEOF_VOID_P == 8 -#define G_POLLFD_FORMAT "%#I64x" -#else -#define G_POLLFD_FORMAT "%#x" -#endif -#else -#define G_POLLFD_FORMAT "%d" -#endif +/* defined in glibconfig.h */ GLIB_AVAILABLE_IN_ALL gint |