--- glib/configure.orig 2017-03-19 09:57:03.000000000 -0500 +++ glib/configure 2017-03-23 09:18:26.000000000 -0500 @@ -5942,7 +5942,7 @@ fi GLIB_RUNTIME_LIBDIR="$with_runtime_libdir" -ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`" +ABS_GLIB_RUNTIME_LIBDIR="`readlink $libdir/$with_runtime_libdir`" if test "x$with_runtime_libdir" != "x"; then @@ -28171,10 +28171,10 @@ *) glib_vacopy='' esac -if test x$glib_cv_va_val_copy = xno; then glib_vacopy="\$glib_vacopy -#define G_VA_COPY_AS_ARRAY 1" -fi +#ifdef __LP64__ +#define G_VA_COPY_AS_ARRAY 1 +#endif" if test x$glib_cv_hasinline = xyes; then glib_inline='#define G_HAVE_INLINE 1' @@ -29779,18 +29779,32 @@ cat >>$outfile <<_______EOF #define G_HAVE_GINT64 1 /* deprecated, always true */ -${glib_extension}typedef signed $gint64 gint64; -${glib_extension}typedef unsigned $gint64 guint64; +#ifdef __LP64__ +${glib_extension}typedef signed long gint64; +${glib_extension}typedef unsigned long guint64; -#define G_GINT64_CONSTANT(val) $gint64_constant -#define G_GUINT64_CONSTANT(val) $guint64_constant +#define G_GINT64_CONSTANT(val) (val##L) +#define G_GUINT64_CONSTANT(val) (val##UL) +#else +${glib_extension}typedef signed long long gint64; +${glib_extension}typedef unsigned long long guint64; + +#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) +#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) +#endif _______EOF if test x$gint64_format != x ; then cat >>$outfile <<_______EOF -#define G_GINT64_MODIFIER $gint64_modifier -#define G_GINT64_FORMAT $gint64_format -#define G_GUINT64_FORMAT $guint64_format +#ifdef __LP64__ +#define G_GINT64_MODIFIER "l" +#define G_GINT64_FORMAT "li" +#define G_GUINT64_FORMAT "lu" +#else +#define G_GINT64_MODIFIER "ll" +#define G_GINT64_FORMAT "lli" +#define G_GUINT64_FORMAT "llu" +#endif _______EOF else cat >>$outfile <<_______EOF @@ -29802,10 +29816,17 @@ cat >>$outfile <<_______EOF -#define GLIB_SIZEOF_VOID_P $glib_void_p -#define GLIB_SIZEOF_LONG $glib_long -#define GLIB_SIZEOF_SIZE_T $glib_size_t -#define GLIB_SIZEOF_SSIZE_T $glib_ssize_t +#ifdef __LP64__ +#define GLIB_SIZEOF_VOID_P 8 +#define GLIB_SIZEOF_LONG 8 +#define GLIB_SIZEOF_SIZE_T 8 +#define GLIB_SIZEOF_SSIZE_T 8 +#else +#define GLIB_SIZEOF_VOID_P 4 +#define GLIB_SIZEOF_LONG 4 +#define GLIB_SIZEOF_SIZE_T 4 +#define GLIB_SIZEOF_SSIZE_T 4 +#endif _______EOF @@ -29834,18 +29855,33 @@ if test -z "$glib_unknown_void_p"; then cat >>$outfile <<_______EOF -#define GPOINTER_TO_INT(p) ((gint) ${glib_gpi_cast} (p)) -#define GPOINTER_TO_UINT(p) ((guint) ${glib_gpui_cast} (p)) +#ifdef __LP64__ +#define GPOINTER_TO_INT(p) ((gint) (glong) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (gulong) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (glong) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (gulong) (u)) + +typedef signed long gintptr; +typedef unsigned long guintptr; + +#define G_GINTPTR_MODIFIER "l" +#define G_GINTPTR_FORMAT "li" +#define G_GUINTPTR_FORMAT "lu" +#else +#define GPOINTER_TO_INT(p) ((gint) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (p)) -#define GINT_TO_POINTER(i) ((gpointer) ${glib_gpi_cast} (i)) -#define GUINT_TO_POINTER(u) ((gpointer) ${glib_gpui_cast} (u)) +#define GINT_TO_POINTER(i) ((gpointer) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (u)) -typedef signed $glib_intptr_type_define gintptr; -typedef unsigned $glib_intptr_type_define guintptr; +typedef signed int gintptr; +typedef unsigned int guintptr; -#define G_GINTPTR_MODIFIER $gintptr_modifier -#define G_GINTPTR_FORMAT $gintptr_format -#define G_GUINTPTR_FORMAT $guintptr_format +#define G_GINTPTR_MODIFIER "" +#define G_GINTPTR_FORMAT "i" +#define G_GUINTPTR_FORMAT "u" +#endif _______EOF else echo '#error SIZEOF_VOID_P unknown - This should never happen' >>$outfile @@ -29958,7 +29994,9 @@ if test x"$g_memory_barrier_needed" != xno; then echo >>$outfile + echo "#ifdef __BIG_ENDIAN__" >>$outfile echo "#define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED 1" >>$outfile + echo "#endif" >>$outfile fi if test x"$g_atomic_lock_free" = xyes; then echo >>$outfile @@ -29968,27 +30006,52 @@ g_bit_sizes="16 32 64" for bits in $g_bit_sizes; do cat >>$outfile <<_______EOF -#define GINT${bits}_TO_${g_bs_native}(val) ((gint${bits}) (val)) -#define GUINT${bits}_TO_${g_bs_native}(val) ((guint${bits}) (val)) -#define GINT${bits}_TO_${g_bs_alien}(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val)) -#define GUINT${bits}_TO_${g_bs_alien}(val) (GUINT${bits}_SWAP_LE_BE (val)) +#ifdef __BIG_ENDIAN__ +#define GINT${bits}_TO_BE(val) ((gint${bits}) (val)) +#define GUINT${bits}_TO_BE(val) ((guint${bits}) (val)) +#define GINT${bits}_TO_LE(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val)) +#define GUINT${bits}_TO_LE(val) (GUINT${bits}_SWAP_LE_BE (val)) +#else +#define GINT${bits}_TO_LE(val) ((gint${bits}) (val)) +#define GUINT${bits}_TO_LE(val) ((guint${bits}) (val)) +#define GINT${bits}_TO_BE(val) ((gint${bits}) GUINT${bits}_SWAP_LE_BE (val)) +#define GUINT${bits}_TO_BE(val) (GUINT${bits}_SWAP_LE_BE (val)) +#endif _______EOF done cat >>$outfile <<_______EOF -#define GLONG_TO_LE(val) ((glong) GINT${glongbits}_TO_LE (val)) -#define GULONG_TO_LE(val) ((gulong) GUINT${glongbits}_TO_LE (val)) -#define GLONG_TO_BE(val) ((glong) GINT${glongbits}_TO_BE (val)) -#define GULONG_TO_BE(val) ((gulong) GUINT${glongbits}_TO_BE (val)) +#ifdef __LP64__ +#define GLONG_TO_LE(val) ((glong) GINT64_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT64_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT64_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT64_TO_BE (val)) +#else +#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) +#endif #define GINT_TO_LE(val) ((gint) GINT${gintbits}_TO_LE (val)) #define GUINT_TO_LE(val) ((guint) GUINT${gintbits}_TO_LE (val)) #define GINT_TO_BE(val) ((gint) GINT${gintbits}_TO_BE (val)) #define GUINT_TO_BE(val) ((guint) GUINT${gintbits}_TO_BE (val)) -#define GSIZE_TO_LE(val) ((gsize) GUINT${gsizebits}_TO_LE (val)) -#define GSSIZE_TO_LE(val) ((gssize) GINT${gssizebits}_TO_LE (val)) -#define GSIZE_TO_BE(val) ((gsize) GUINT${gsizebits}_TO_BE (val)) -#define GSSIZE_TO_BE(val) ((gssize) GINT${gssizebits}_TO_BE (val)) -#define G_BYTE_ORDER $g_byte_order +#ifdef __LP64__ +#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) +#else +#define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val)) +#endif +#ifdef __BIG_ENDIAN__ +#define G_BYTE_ORDER G_BIG_ENDIAN +#else +#define G_BYTE_ORDER G_LITTLE_ENDIAN +#endif #define GLIB_SYSDEF_POLLIN =$g_pollin #define GLIB_SYSDEF_POLLOUT =$g_pollout