From f3fd11beaa70b0624ab1d6c7d8e25c65eea942ac Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 7 Sep 2014 17:54:39 +0100 Subject: libkms: build the intel backend only when needed Signed-off-by: Emil Velikov Reviewed-by: Jakob Bornecrantz --- configure.ac | 3 +++ libkms/Makefile.am | 5 ++++- libkms/linux.c | 16 +++++++++++----- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 484084fd..f1d34516 100644 --- a/configure.ac +++ b/configure.ac @@ -270,6 +270,9 @@ fi AM_CONDITIONAL(HAVE_LIBKMS, [test "x$LIBKMS" = xyes]) AM_CONDITIONAL(HAVE_INTEL, [test "x$INTEL" = xyes]) +if test "x$INTEL" = xyes; then + AC_DEFINE(HAVE_INTEL, 1, [Have intel support]) +fi AM_CONDITIONAL(HAVE_VMWGFX, [test "x$VMWGFX" = xyes]) if test "x$VMWGFX" = xyes; then diff --git a/libkms/Makefile.am b/libkms/Makefile.am index 449a73ba..dae44e96 100644 --- a/libkms/Makefile.am +++ b/libkms/Makefile.am @@ -15,7 +15,6 @@ libkms_la_LIBADD = ../libdrm.la libkms_la_SOURCES = \ internal.h \ linux.c \ - intel.c \ dumb.c \ api.c @@ -23,6 +22,10 @@ if HAVE_VMWGFX libkms_la_SOURCES += vmwgfx.c endif +if HAVE_INTEL +libkms_la_SOURCES += intel.c +endif + if HAVE_NOUVEAU libkms_la_SOURCES += nouveau.c endif diff --git a/libkms/linux.c b/libkms/linux.c index 17e1d588..77a0bbe9 100644 --- a/libkms/linux.c +++ b/libkms/linux.c @@ -103,25 +103,31 @@ linux_from_sysfs(int fd, struct kms_driver **out) if (ret) return ret; +#ifdef HAVE_INTEL if (!strcmp(name, "intel")) ret = intel_create(fd, out); + else +#endif #ifdef HAVE_VMWGFX - else if (!strcmp(name, "vmwgfx")) + if (!strcmp(name, "vmwgfx")) ret = vmwgfx_create(fd, out); + else #endif #ifdef HAVE_NOUVEAU - else if (!strcmp(name, "nouveau")) + if (!strcmp(name, "nouveau")) ret = nouveau_create(fd, out); + else #endif #ifdef HAVE_RADEON - else if (!strcmp(name, "radeon")) + if (!strcmp(name, "radeon")) ret = radeon_create(fd, out); + else #endif #ifdef HAVE_EXYNOS - else if (!strcmp(name, "exynos")) + if (!strcmp(name, "exynos")) ret = exynos_create(fd, out); -#endif else +#endif ret = -ENOSYS; free(name); -- cgit v1.2.3