libkms: build the intel backend only when needed
authorEmil Velikov <emil.l.velikov@gmail.com>
Sun, 7 Sep 2014 16:54:39 +0000 (17:54 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Sun, 28 Sep 2014 16:09:34 +0000 (17:09 +0100)
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
configure.ac
libkms/Makefile.am
libkms/linux.c

index 484084f..f1d3451 100644 (file)
@@ -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
index 449a73b..dae44e9 100644 (file)
@@ -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
index 17e1d58..77a0bbe 100644 (file)
@@ -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);