[cogl] configure: Fix the check for _Static_assert
- From: Neil Roberts <nroberts src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl] configure: Fix the check for _Static_assert
- Date: Mon, 23 Apr 2012 11:32:46 +0000 (UTC)
commit 9657938c3083a782234e1e9f05ab5ae88a6bc5ab
Author: Neil Roberts <neil linux intel com>
Date: Fri Apr 20 19:50:36 2012 +0100
configure: Fix the check for _Static_assert
The check for whether the compiler supports _Static_assert didn't work
properly because the AC_TRY_COMPILE function puts the source
definition in its own main function. The test therefore ends up
declaring a nested main function which GCC allows. If _Static_assert
isn't available then it just looks like an implicit declaration of a
function which only causes a warning in GCC so it would still compile.
This patch changes it to use AC_COMPILE_IFELSE instead. This macro
makes it possible to specify the complete source code so
_Static_assert can be called from the global scope. AC_LANG_PROGRAM is
used to generate the program. For extra aesthetics it now also
generates a 'checking for...' message while the script is running.
Reviewed-by: Robert Bragg <robert linux intel com>
configure.ac | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index aaba17e..7ebae5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -929,16 +929,13 @@ AC_C_CONST
dnl ============================================================
dnl Compiler features
dnl ============================================================
-AC_TRY_COMPILE([],
-[
-_Static_assert (1, "");
-int
-main (int argc, char **argv)
-{
- return 0;
-}
-],
-[AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Whether _Static_assert can be used or not])])
+AC_MSG_CHECKING([for _Static_assert])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_Static_assert (1, "");],
+ [(void) 0])],
+ [AC_DEFINE([HAVE_STATIC_ASSERT], [1],
+ [Whether _Static_assert can be used or not])
+ AC_MSG_RESULT([yes])],
+ [AC_MSG_RESULT([no])])
dnl ================================================================
dnl Libtool stuff.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]