autoconf: swrast does not require libdrm
authorChia-I Wu <olv@lunarg.com>
Sat, 2 Jul 2011 00:49:17 +0000 (09:49 +0900)
committerChia-I Wu <olv@lunarg.com>
Sat, 2 Jul 2011 01:15:23 +0000 (10:15 +0900)
This fixes

  $ ./configure --disable-driglx-direct \
                --with-dri-drivers=swrast \
                --with-gallium-drivers=

configure.ac

index 6568472bcfa178b02196761a604e8f1fda73998f..5a54370b51d28e3cbb55690d5910fb5897dcfa8f 100644 (file)
@@ -819,11 +819,10 @@ if test "x$enable_dri" = xyes; then
         AC_MSG_ERROR([Can't use static libraries for DRI drivers])
     fi
 
-    if test "x$have_libdrm" != xyes; then
-        AC_MSG_ERROR([DRI drivers require libdrm >= $LIBDRM_REQUIRED])
+    # not a hard requirement as swrast does not depend on it
+    if test "x$have_libdrm" = xyes; then
+        DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
     fi
-
-    DRI_PC_REQ_PRIV="libdrm >= $LIBDRM_REQUIRED"
 fi
 
 dnl
@@ -1206,6 +1205,13 @@ if test "x$enable_dri" = xyes; then
             [AC_MSG_ERROR([Expat required for DRI.])])
     fi
 
+    # libdrm is required for all except swrast
+    if test -n "$DRI_DIRS" -a x"$DRI_DIRS" != xswrast; then
+        if test "x$have_libdrm" != xyes; then
+            AC_MSG_ERROR([DRI drivers requires libdrm >= $LIBDRM_REQUIRED])
+        fi
+    fi
+
     # put all the necessary libs together, including possibly libdricore
     DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIB -lm -lpthread $DLOPEN_LIBS"
 fi
@@ -1793,6 +1799,9 @@ dnl Gallium helper functions
 dnl
 gallium_check_st() {
     if test "x$HAVE_ST_DRI" = xyes || test "x$HAVE_ST_XORG" = xyes; then
+         if test "x$have_libdrm" != xyes; then
+            AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= $LIBDRM_REQUIRED])
+         fi
          GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS $1"
     fi
     if test "x$HAVE_ST_DRI" = xyes && test "x$2" != x; then