[oe-commits] Daniel Stone : libdrm: Add --disable-cairo-tests switch and update to upstream patch

git at git.openembedded.org git at git.openembedded.org
Tue Oct 16 11:09:47 UTC 2012


Module: openembedded-core.git
Branch: master-next
Commit: 1e323159f93f9bed9b9bb610368f714e9ba87ef9
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=1e323159f93f9bed9b9bb610368f714e9ba87ef9

Author: Daniel Stone <daniel at fooishbar.org>
Date:   Mon Oct  8 20:22:15 2012 +1100

libdrm: Add --disable-cairo-tests switch and update to upstream patch

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

The updates the code to use a patch backported from upstream git
instead of our custom version.

Signed-off-by: Daniel Stone <daniel at fooishbar.org>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-graphics/drm/libdrm.inc               |    2 +-
 .../drm/libdrm/disable-cairo.patch                 |   74 ++++++++++++++++++++
 meta/recipes-graphics/drm/libdrm/nocairo.patch     |   39 ----------
 meta/recipes-graphics/drm/libdrm_2.4.39.bb         |    2 +-
 4 files changed, 76 insertions(+), 41 deletions(-)

diff --git a/meta/recipes-graphics/drm/libdrm.inc b/meta/recipes-graphics/drm/libdrm.inc
index 2ed9c14..a64a5df 100644
--- a/meta/recipes-graphics/drm/libdrm.inc
+++ b/meta/recipes-graphics/drm/libdrm.inc
@@ -18,7 +18,7 @@ DEPENDS += " libpciaccess"
 
 inherit autotools pkgconfig
 
-EXTRA_OECONF += "--disable-cairo"
+EXTRA_OECONF += "--disable-cairo-tests"
 
 PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms"
 FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
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 at 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 at 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/nocairo.patch b/meta/recipes-graphics/drm/libdrm/nocairo.patch
deleted file mode 100644
index f9b7f3a..0000000
--- a/meta/recipes-graphics/drm/libdrm/nocairo.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-We don't want the cairo dependency. Unfortunately simply checking whether its present 
-isn't good enough. If its not in DEPENDS, it can disappear half way through building.
-We therefore need to explictly disable it.
-
-RP
-2012/10/5
-
-Index: libdrm-2.4.39/configure.ac
-===================================================================
---- libdrm-2.4.39.orig/configure.ac	2012-08-24 14:54:42.000000000 +0000
-+++ libdrm-2.4.39/configure.ac	2012-10-05 11:37:52.484821221 +0000
-@@ -63,6 +63,11 @@
- 	      [Disable KMS mm abstraction library (default: auto)]),
- 	      [LIBKMS=$enableval], [LIBKMS=auto])
- 
-+AC_ARG_ENABLE(cairo,
-+	      AS_HELP_STRING([--disable-cairo],
-+	      [Disable cairo (default: auto)]),
-+	      [ENABLECAIRO=$enableval], [ENABLECAIRO=auto])
-+
- AC_ARG_ENABLE(intel,
- 	      AS_HELP_STRING([--disable-intel],
- 	      [Enable support for intel's KMS API (default: auto)]),
-@@ -201,9 +206,12 @@
- 	AC_DEFINE(HAVE_EXYNOS, 1, [Have EXYNOS support])
- fi
- 
--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])
-+HAVE_CAIRO=no
-+if test "x$ENABLECAIRO" = xyes; then
-+	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])
-+	fi
- fi
- AM_CONDITIONAL(HAVE_CAIRO, [test "x$HAVE_CAIRO" = xyes])
- 
diff --git a/meta/recipes-graphics/drm/libdrm_2.4.39.bb b/meta/recipes-graphics/drm/libdrm_2.4.39.bb
index cb1f7f9..f3ce2b1 100644
--- a/meta/recipes-graphics/drm/libdrm_2.4.39.bb
+++ b/meta/recipes-graphics/drm/libdrm_2.4.39.bb
@@ -4,7 +4,7 @@ PR = "${INC_PR}.0"
 
 SRC_URI += "file://installtests.patch \
             file://GNU_SOURCE_definition.patch \
-            file://nocairo.patch \
+            file://disable-cairo.patch \
            "
 
 SRC_URI[md5sum] = "9a299e021d81bab6c82307582c78319d"





More information about the Openembedded-commits mailing list