Package: plymouth
Severity: normal

jcristau just showed me some patches he had used to try to get this to
work.  i don't think he finished the project, but maybe it's a useful
start.

diff --git a/configure.ac b/configure.ac
index 5bcf38a..a3a6e50 100644
--- a/configure.ac
+++ b/configure.ac
@@ -56,48 +56,12 @@ PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.12.0 ])
 AC_SUBST(GTK_CFLAGS)
 AC_SUBST(GTK_LIBS)
 
-PKG_CHECK_MODULES(DRM, [libdrm libdrm_intel libdrm_radeon libdrm_nouveau])
-
-OLD_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS $DRM_CFLAGS"
-AC_MSG_CHECKING([if i915_drm.h, radeon_drm.h and nouveau_drm.h are in include 
path])
-AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
-[[
-  #include <stdint.h>
-  #include <stdlib.h>
-  #include "i915_drm.h"
-  #include "radeon_drm.h"
-  #include "nouveau_drm.h"
-]],[[]]),[found_drm_kernel_headers=yes],[found_drm_kernel_headers=no])
-
-if test "$found_drm_kernel_headers" = "yes"; then
-  AC_MSG_RESULT([yes])
-else
-  AC_MSG_RESULT([no])
-  AC_MSG_CHECKING([if we can find them anyway])
-
-  MORE_DRM_CFLAGS="-I`$PKG_CONFIG --variable includedir libdrm`/drm"
-  CFLAGS="$CFLAGS $MORE_DRM_CFLAGS"
-  AC_COMPILE_IFELSE(AC_LANG_PROGRAM(
-  [[
-    #include <stdint.h>
-    #include <stdlib.h>
-    #include "i915_drm.h"
-    #include "radeon_drm.h"
-    #include "nouveau_drm.h"
-  ]],[[]]),[found_drm_kernel_headers=yes],[found_drm_kernel_headers=no])
-
-  if test "$found_drm_kernel_headers" = "yes"; then
-    AC_MSG_RESULT([yes])
-    DRM_CFLAGS="$DRM_CFLAGS $MORE_DRM_CFLAGS"
-  else
-    AC_MSG_RESULT([no])
-    AC_MSG_ERROR([Could not find i915_drm.h, radeon_drm.h and/or 
nouveau_drm.h])
-  fi
-fi
-CFLAGS="$OLD_CFLAGS"
-AC_SUBST(DRM_CFLAGS)
-AC_SUBST(DRM_LIBS)
+PKG_CHECK_MODULES(DRM, [libdrm])
+PKG_CHECK_MODULES(DRM_INTEL, [libdrm_intel], DRM_INTEL=yes, DRM_INTEL=no)
+PKG_CHECK_MODULES(DRM_RADEON, [libdrm_radeon], DRM_RADEON=yes, DRM_RADEON=no)
+PKG_CHECK_MODULES(DRM_NOUVEAU, [libdrm_nouveau], DRM_NOUVEAU=yes, 
DRM_NOUVEAU=no)
+AM_CONDITIONAL(DRM_INTEL, test x$DRM_INTEL != xno)
+AC_DEFINE(DRM_INTEL, 1, [Enable the i915 drm plugin])
 
 AC_ARG_ENABLE(libkms, AS_HELP_STRING([--enable-libkms],[enable building with 
libkms support]),enable_libkms=$enableval,enable_libkms=yes)
 AM_CONDITIONAL(ENABLE_LIBKMS,  [test "$enable_libkms" = yes])
diff --git a/src/plugins/renderers/drm/Makefile.am 
b/src/plugins/renderers/drm/Makefile.am
index 7d2ef60..fce93cf 100644
--- a/src/plugins/renderers/drm/Makefile.am
+++ b/src/plugins/renderers/drm/Makefile.am
@@ -17,13 +17,19 @@ drm_la_LIBADD = $(PLYMOUTH_LIBS) $(DRM_LIBS)                
                  \
                          ../../../libply-splash-core/libply-splash-core.la
 drm_la_SOURCES = $(srcdir)/plugin.c                                           \
                 $(srcdir)/ply-renderer-driver.h                              \
-                $(srcdir)/ply-renderer-i915-driver.h                         \
-                $(srcdir)/ply-renderer-i915-driver.c                         \
                 $(srcdir)/ply-renderer-radeon-driver.h                       \
                 $(srcdir)/ply-renderer-radeon-driver.c                       \
                 $(srcdir)/ply-renderer-nouveau-driver.h                      \
                 $(srcdir)/ply-renderer-nouveau-driver.c
 
+if DRM_INTEL
+drm_la_SOURCES += \
+                $(srcdir)/ply-renderer-i915-driver.h                         \
+                $(srcdir)/ply-renderer-i915-driver.c
+drm_la_CFLAGS += $(DRM_INTEL_CFLAGS)
+drm_la_LIBADD += $(DRM_INTEL_LIBS)
+endif
+
 if ENABLE_LIBKMS
 drm_la_LIBADD += $(LIBKMS_LIBS)
 drm_la_CFLAGS += $(LIBKMS_CFLAGS)
diff --git a/src/plugins/renderers/drm/plugin.c 
b/src/plugins/renderers/drm/plugin.c
index 29b1952..abf4fc8 100644
--- a/src/plugins/renderers/drm/plugin.c
+++ b/src/plugins/renderers/drm/plugin.c
@@ -59,7 +59,9 @@
 #include "ply-renderer.h"
 #include "ply-renderer-plugin.h"
 #include "ply-renderer-driver.h"
+#if DRM_INTEL
 #include "ply-renderer-i915-driver.h"
+#endif
 #include "ply-renderer-radeon-driver.h"
 #include "ply-renderer-nouveau-driver.h"
 
@@ -502,12 +504,15 @@ load_driver (ply_renderer_backend_t *backend)
       return false;
     }
 
+#if DRM_INTEL
   if (strcmp (driver_name, "i915") == 0)
     {
       backend->driver_interface = ply_renderer_i915_driver_get_interface ();
       backend->driver_supports_mapping_console = true;
     }
-  else if (strcmp (driver_name, "radeon") == 0)
+  else
+#endif
+  if (strcmp (driver_name, "radeon") == 0)
     {
       backend->driver_interface = ply_renderer_radeon_driver_get_interface ();
       backend->driver_supports_mapping_console = false;


-- System Information:
Debian Release: 6.0
  APT prefers testing
  APT policy: (500, 'testing'), (200, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.37-trunk-686 (SMP w/1 CPU core)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to