Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Daniel Stone <daniel@fooishbar.org>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH 3/3] DRM: Add --disable-cairo-tests switch
Date: Mon,  8 Oct 2012 20:22:17 +1100	[thread overview]
Message-ID: <1349688137-22470-3-git-send-email-daniel@fooishbar.org> (raw)
In-Reply-To: <1349688137-22470-1-git-send-email-daniel@fooishbar.org>

Rather than implicitly relying on Cairo being disabled through not being
present, add a configure switch to forcibly disable it.

Patch backported from upstream git.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
---
 meta/recipes-graphics/drm/libdrm.inc               |    2 +
 .../drm/libdrm/disable-cairo.patch                 |   74 ++++++++++++++++++++
 meta/recipes-graphics/drm/libdrm_2.4.39.bb         |    1 +
 3 files changed, 77 insertions(+)
 create mode 100644 meta/recipes-graphics/drm/libdrm/disable-cairo.patch

diff --git a/meta/recipes-graphics/drm/libdrm.inc b/meta/recipes-graphics/drm/libdrm.inc
index cc09791..a64a5df 100644
--- a/meta/recipes-graphics/drm/libdrm.inc
+++ b/meta/recipes-graphics/drm/libdrm.inc
@@ -18,6 +18,8 @@ DEPENDS += " libpciaccess"
 
 inherit autotools pkgconfig
 
+EXTRA_OECONF += "--disable-cairo-tests"
+
 PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms"
 FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
 FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
diff --git a/meta/recipes-graphics/drm/libdrm/disable-cairo.patch b/meta/recipes-graphics/drm/libdrm/disable-cairo.patch
new file mode 100644
index 0000000..90e79d4
--- /dev/null
+++ b/meta/recipes-graphics/drm/libdrm/disable-cairo.patch
@@ -0,0 +1,74 @@
+commit c81d1df4926072d24b4dad1b488e618e57eff1c6
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Thu Oct 4 10:26:37 2012 +1000
+
+    configure.ac: Allow forcible disabling of Cairo support
+    
+    We don't want to build libdrm tests with Cairo support under Poky, since
+    they're never used and also cause a build loop from libdrm -> cairo ->
+    mesa-dri -> libdrm.
+    
+    To avoid variance in build results, introduce a --disable-cairo-tests
+    switch.
+    
+    Upstream-Status: Backport
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+diff --git a/configure.ac b/configure.ac
+index 290362c..8c28107 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -222,11 +222,23 @@ if test "x$EXYNOS" = xyes; then
+ 	AC_DEFINE(HAVE_EXYNOS, 1, [Have EXYNOS support])
+ fi
+ 
++AC_ARG_ENABLE([cairo-tests],
++              [AS_HELP_STRING([--enable-cairo-tests],
++                              [Enable support for Cairo rendering in tests (default: auto)])],
++              [CAIRO=$enableval], [CAIRO=auto])
+ PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
+-if test "x$HAVE_CAIRO" = xyes; then
+-	AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support])
++AC_MSG_CHECKING([whether to enable Cairo tests])
++if test "x$CAIRO" = xauto; then
++	CAIRO="$HAVE_CAIRO"
+ fi
+-AM_CONDITIONAL(HAVE_CAIRO, [test "x$HAVE_CAIRO" = xyes])
++if test "x$CAIRO" = xyes; then
++	if ! test "x$HAVE_CAIRO" = xyes; then
++		AC_MSG_ERROR([Cairo support required but not present])
++	fi
++	AC_DEFINE(HAVE_CAIRO, 1, [Have Cairo support])
++fi
++AC_MSG_RESULT([$CAIRO])
++AM_CONDITIONAL(HAVE_CAIRO, [test "x$CAIRO" = xyes])
+ 
+ # For enumerating devices in test case
+ PKG_CHECK_MODULES(LIBUDEV, libudev, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
+diff --git a/tests/modetest/Makefile.am b/tests/modetest/Makefile.am
+index b5ec771..065ae13 100644
+--- a/tests/modetest/Makefile.am
++++ b/tests/modetest/Makefile.am
+@@ -1,8 +1,7 @@
+ AM_CFLAGS = \
+ 	-I$(top_srcdir)/include/drm \
+ 	-I$(top_srcdir)/libkms/ \
+-	-I$(top_srcdir) \
+-	$(CAIRO_CFLAGS)
++	-I$(top_srcdir)
+ 
+ noinst_PROGRAMS = \
+ 	modetest
+@@ -12,5 +11,9 @@ modetest_SOURCES = \
+ 
+ modetest_LDADD = \
+ 	$(top_builddir)/libdrm.la \
+-	$(top_builddir)/libkms/libkms.la \
+-	$(CAIRO_LIBS)
++	$(top_builddir)/libkms/libkms.la
++
++if HAVE_CAIRO
++AM_CFLAGS += $(CAIRO_CFLAGS)
++modetest_LDADD += $(CAIRO_LIBS)
++endif
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.39.bb b/meta/recipes-graphics/drm/libdrm_2.4.39.bb
index 4e6a8d5..f3ce2b1 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.39.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.39.bb
@@ -4,6 +4,7 @@ PR = "${INC_PR}.0"
 
 SRC_URI += "file://installtests.patch \
             file://GNU_SOURCE_definition.patch \
+            file://disable-cairo.patch \
            "
 
 SRC_URI[md5sum] = "9a299e021d81bab6c82307582c78319d"
-- 
1.7.10.4




      parent reply	other threads:[~2012-10-08  9:35 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-05 11:47 [PATCH] libdrm: Explicitly disable the cairo dependency Richard Purdie
2012-10-05 11:54 ` Phil Blundell
2012-10-05 13:22   ` Richard Purdie
2012-10-05 13:03 ` Otavio Salvador
2012-10-07  1:10 ` Daniel Stone
2012-10-08  5:44   ` Daniel Stone
2012-10-08  8:01     ` Richard Purdie
2012-10-08  8:32       ` Daniel Stone
2012-10-08  9:19         ` Richard Purdie
2012-10-08  9:22           ` [PATCH 1/3] Revert "libdrm: Explicitly disable the cairo dependency" Daniel Stone
2012-10-08  9:22             ` [PATCH 2/3] DRM: Bump git recipe to latest 2.4.39+ revision Daniel Stone
2012-10-08  9:22             ` Daniel Stone [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1349688137-22470-3-git-send-email-daniel@fooishbar.org \
    --to=daniel@fooishbar.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox