--- 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
