From 5b5959d4547fa38c3ef1eeabaa5d176be060f6e2 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Tue, 8 Aug 2017 15:19:12 -0400 Subject: [PATCH] Port: Add glib checks for cross compilation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau --- configure.ac | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/configure.ac b/configure.ac index b9bb6b47..6625b58b 100644 --- a/configure.ac +++ b/configure.ac @@ -626,6 +626,30 @@ AC_SUBST(AM_CPPFLAGS) # Add glib to global link libs LIBS="$LIBS $GLIB_LIBS" +# Check that the current size_t matches the size that glib thinks it should +# be. This catches problems on multi-arch where people try to do a 32-bit +# build while pointing at 64-bit glib headers. This is a common error because +# glib.h is not platform specific but it includes glibconfig.h which is and +# is usually installed in a non-standard path. + +save_CFLAGS=${CFLAGS} +CFLAGS="${CFLAGS} ${AM_CFLAGS}" +AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM([dnl +#include +#include + ], [dnl +G_STATIC_ASSERT(sizeof(size_t) == GLIB_SIZEOF_SIZE_T); + ]) +],[:],[ + AC_MSG_ERROR([dnl +sizeof(size_t) doesn't match GLIB_SIZEOF_SIZE_T. You probably need to set +PKG_CONFIG_LIBDIR to point to the right pkg-config files for your build +target. + ]) +]) +CFLAGS=${save_CFLAGS} + # Abuse autoconf's AC_ARG_PROGRAM output variable 'program_transform_name' # to rename babeltrace.bin to babeltrace at install time. program_transform_name="s&babeltrace\.bin&babeltrace&;s&babeltrace-log\.bin&babeltrace-log&;$program_transform_name" -- 2.34.1