need_pci_id=no ;;
esac
-AC_ARG_ENABLE([sysfs],
- [AS_HELP_STRING([--enable-sysfs],
- [enable /sys PCI identification @<:@default=disabled@:>@])],
- [have_sysfs="$enableval"],
- [have_sysfs=no]
-)
-
if test "x$enable_dri" = xyes; then
if test "$enable_static" = yes; then
AC_MSG_ERROR([Cannot use static libraries for DRI drivers])
esac
have_pci_id=no
-if test "$have_sysfs" = yes; then
- DEFINES="$DEFINES -DHAVE_SYSFS"
- have_pci_id=yes
-fi
-
if test "$have_libdrm" = yes; then
have_pci_id=yes
fi
fi
if test "x$have_pci_id" != xyes; then
- AC_MSG_ERROR([sysfs or libdrm >= $LIBDRM_REQUIRED required for building DRI])
+ AC_MSG_ERROR([libdrm >= $LIBDRM_REQUIRED required for building DRI])
fi
case "$host_cpu" in
fi
if test "x$enable_gbm" = xyes; then
if test "x$need_pci_id$have_pci_id" = xyesno; then
- AC_MSG_ERROR([gbm requires sysfs or libdrm >= $LIBDRM_REQUIRED])
+ AC_MSG_ERROR([gbm requires libdrm >= $LIBDRM_REQUIRED])
fi
if test "x$enable_dri" = xyes; then
case "$plat$need_pci_id$have_pci_id" in
waylandyesno|drmyesno)
- AC_MSG_ERROR([cannot build $plat platform without sysfs or libdrm >= $LIBDRM_REQUIRED]) ;;
+ AC_MSG_ERROR([cannot build $plat platform without libdrm >= $LIBDRM_REQUIRED]) ;;
esac
done
gallium_require_drm_loader() {
if test "x$need_pci_id$have_pci_id" = xyesno; then
- AC_MSG_ERROR([Gallium drm loader requires sysfs or libdrm >= $LIBDRM_REQUIRED])
+ AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED])
fi
}
}
#endif
-#if defined(HAVE_SYSFS) || defined(HAVE_LIBDRM)
+#if defined(HAVE_LIBDRM)
static int
dev_node_from_fd(int fd, unsigned int *maj, unsigned int *min)
{
}
-#if HAVE_SYSFS
-static char *
-sysfs_get_device_name_for_fd(int fd)
-{
- char *device_name = NULL;
- unsigned int maj, min;
- FILE *f;
- char buf[0x40];
- static const char match[9] = "\nDEVNAME=";
- int expected = 1;
-
- if (dev_node_from_fd(fd, &maj, &min) < 0)
- return NULL;
-
- snprintf(buf, sizeof(buf), "/sys/dev/char/%d:%d/uevent", maj, min);
- if (!(f = fopen(buf, "r")))
- return NULL;
-
- while (expected < sizeof(match)) {
- int c = getc(f);
-
- if (c == EOF) {
- fclose(f);
- return NULL;
- } else if (c == match[expected] )
- expected++;
- else
- expected = 0;
- }
-
- strcpy(buf, "/dev/");
- if (fgets(buf + 5, sizeof(buf) - 5, f)) {
- buf[strcspn(buf, "\n")] = '\0';
- device_name = strdup(buf);
- }
-
- fclose(f);
- return device_name;
-}
-#endif
-
#if defined(HAVE_LIBDRM)
static char *
drm_get_device_name_for_fd(int fd)
{
char *result = NULL;
-#if HAVE_SYSFS
- if ((result = sysfs_get_device_name_for_fd(fd)))
- return result;
-#endif
#if HAVE_LIBDRM
if ((result = drm_get_device_name_for_fd(fd)))
return result;