OSDN Git Service

make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
authorMichael Olbrich <m.olbrich@pengutronix.de>
Wed, 25 Apr 2012 07:46:35 +0000 (09:46 +0200)
committerColin Walters <walters@verbum.org>
Wed, 25 Apr 2012 13:38:02 +0000 (09:38 -0400)
When cross-compiling with gcc >= 4.5 AC_CHECK_ALIGNOF fails to detect the
correct alignment. Without a previous AC_CHECK_TYPE for the same type, the
alignment is silently set to '0'.
This makes sure that configure fails and reports the problem.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
https://bugzilla.gnome.org/show_bug.cgi?id=674483

configure.ac

index 6a90d23..2175867 100644 (file)
@@ -3443,10 +3443,13 @@ $ac_cv_sizeof___int64)
   ;;
 esac
 
+AC_CHECK_TYPE([guint32],,,[typedef unsigned $gint32 guint32;])
 AC_CHECK_ALIGNOF([guint32], [AC_INCLUDES_DEFAULT
 typedef unsigned $gint32 guint32;])
+AC_CHECK_TYPE([guint64],,,[typedef unsigned $gint64 guint64;])
 AC_CHECK_ALIGNOF([guint64], [AC_INCLUDES_DEFAULT
 typedef unsigned $gint64 guint64;])
+AC_CHECK_TYPE([unsigned long])
 AC_CHECK_ALIGNOF([unsigned long])
 
 # Check for libdbus1 - Optional - is only used in the GDBus test cases