clutter-1.0: Fix confgure test errors found by clang

We were using nested functions inadvertantly and they were compiling fine
with gcc but clang doesnt support nested functions hence configure tests for
cogl started to fail, but it was a test error not compiler error
which was undetected thus far

Backport a fix from upstream to help clang compile clutter

(From OE-Core rev: 09ac424c6a04ac46a822168341a55293ba43dc27)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2016-02-23 02:49:57 +00:00 committed by Richard Purdie
parent b748f40980
commit e8e0489837
2 changed files with 106 additions and 0 deletions

View File

@ -0,0 +1,105 @@
From 483a4bb00e7dd2f14d86e167c8013c8638723c33 Mon Sep 17 00:00:00 2001
From: Emmanuele Bassi <ebassi@gnome.org>
Date: Thu, 18 Feb 2016 17:19:09 +0000
Subject: [PATCH] build: Use AC_COMPILE_IFELSE
Instead of AC_TRY_COMPILE, which has been deprecated by newer autoconf.
---
Upstream-Status: Backport
Signed-off-by: Khem Raj <raj.khem@gmail.com>
configure.ac | 66 ++++++++++++++++++++++++++++++------------------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4d72e0c..8ca3f94 100644
--- a/configure.ac
+++ b/configure.ac
@@ -348,24 +348,25 @@ AS_IF([test "x$enable_wayland" != xno],
# We need to manually check for Wayland support in Cogl because
# the windowing systems are not exposed in the pkg-config file
saved_CFLAGS="${CFLAGS}"
- CFLAGS="`$PKG_CONFIG --cflags $CLUTTER_BASE_PC_FILES`"
+ CFLAGS="`$PKG_CONFIG --cflags cogl-1.0`"
AC_MSG_CHECKING([for Wayland Cogl backend])
- AC_TRY_COMPILE([#include <cogl/cogl.h>],
- [
- #ifndef COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT
- #error "No Wayland support in Cogl"
- #endif
- int main (void) { return 0; }
- ],
- [
- AC_MSG_RESULT(yes)
- have_cogl_wayland=yes
- ],
- [
- AC_MSG_RESULT(no)
- have_cogl_wayland=no
- ])
+
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <cogl/cogl.h>
+]],
+[[
+#ifndef COGL_HAS_EGL_PLATFORM_WAYLAND_SUPPORT
+#error Cogl compiled without Wayland support
+#endif
+]])], [
+ AC_MSG_RESULT(yes)
+ have_cogl_wayland=yes
+ ], [
+ AC_MSG_RESULT(no)
+ have_cogl_wayland=no
+ ])
+
CFLAGS="${saved_CFLAGS}"
AS_IF([test "x$have_cogl_wayland" = xyes],
[
@@ -499,26 +500,25 @@ AS_IF([test "x$enable_mir" = "xyes"],
# We need to manually check for Mir support in Cogl because
# the windowing systems are not exposed in the pkg-config file
saved_CFLAGS="${CFLAGS}"
- CFLAGS="`$PKG_CONFIG --cflags $CLUTTER_BASE_PC_FILES`"
+ CFLAGS="`$PKG_CONFIG --cflags cogl-1.0`"
AC_MSG_CHECKING([for Mir Cogl backend])
- AC_TRY_COMPILE([#include <cogl/cogl.h>],
- [
- #ifndef COGL_HAS_EGL_PLATFORM_MIR_SUPPORT
- #error "No Mir support in Cogl"
- #endif
- int main (void) { return 0; }
- ],
- [
- AC_MSG_RESULT(yes)
- have_cogl_mir=yes
- ],
- [
- AC_MSG_RESULT(no)
- have_cogl_mir=no
- ])
- CFLAGS="${saved_CFLAGS}"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <cogl/cogl.h>
+]],
+[[
+#ifndef COGL_HAS_EGL_PLATFORM_MIR_SUPPORT
+#error Cogl compiled without Mir support
+#endif
+]])], [
+ AC_MSG_RESULT(yes)
+ have_cogl_mir=yes
+ ], [
+ AC_MSG_RESULT(no)
+ have_cogl_mir=no
+ ])
+
AS_IF([test "x$have_cogl_mir" = xno], [AC_MSG_ERROR("*** Cogl is missing Mir support.")])
PKG_CHECK_EXISTS([mirclient],
--
1.9.1

View File

@ -6,4 +6,5 @@ SRC_URI[archive.md5sum] = "3b98e1b33719982a5736ae42cbf7183e"
SRC_URI[archive.sha256sum] = "9631c98cb4bcbfec15e1bbe9eaa6eef0f127201552fce40d7d28f2133803cd63"
SRC_URI += "file://install-examples.patch \
file://run-installed-tests-with-tap-output.patch \
file://0001-build-Use-AC_COMPILE_IFELSE.patch \
file://run-ptest"