Make XF86VIDMODE extension optional
authorJon TURNEY <jon.turney@dronecode.org.uk>
Wed, 21 Apr 2010 11:58:54 +0000 (12:58 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 7 Sep 2010 17:30:19 +0000 (13:30 -0400)
Code in glx/glxcmds.c which uses the XF86VIDMODE extension is already guarded.  Also use
that guard to control inclusion of the xf86vmode.h header, and only enable that guard if the
XF86VIDMODE extension is found by pkgconfig.

This changes the behaviour on platforms which XF86VIDMODE exists, in that XF86VIDMODE used to
be mandatory, but is now optional.

Presumably other build systems are already arranging for -DXF86VIDMODE to be supplied to the
complier when glxcmds.c is compiled, so are not affected by this change

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
configs/autoconf.in
configure.ac
src/glx/Makefile
src/glx/glxcmds.c

index 10d311fa4d3de6a080af2320500d25df96a04685..9bdbefebddd9edffaeb82196a99bb631e5330f08 100644 (file)
@@ -195,3 +195,5 @@ ifneq ($(LLVM_VERSION),)
   HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=))
   DEFINES += -DHAVE_LLVM=$(HAVE_LLVM)
 endif
+
+HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@
index d3d74ac265a7064567964f360853eaccca16eafa..a7ee0f5763c20500d2c7fa3d1fc45f3db821b555 100644 (file)
@@ -626,8 +626,15 @@ dri)
 
     # find the DRI deps for libGL
     if test "$x11_pkgconfig" = yes; then
+        dri_modules="x11 xext xdamage xfixes"
+
+        # add xf86vidmode if available
+        PKG_CHECK_MODULES([XF86VIDMODE], [xxf86vm], HAVE_XF86VIDMODE=yes, HAVE_XF86VIDMODE=no)
+        if test "$HAVE_XF86VIDMODE" = yes ; then
+            dri_modules="$dri_modules xxf86vm"
+        fi
+
         # add xcb modules if necessary
-        dri_modules="x11 xext xxf86vm xdamage xfixes"
         if test "$enable_xcb" = yes; then
             dri_modules="$dri_modules x11-xcb xcb-glx"
         fi
@@ -676,6 +683,8 @@ AC_SUBST([GLESv2_LIB_DEPS])
 AC_SUBST([GLESv2_PC_LIB_PRIV])
 
 
+AC_SUBST([HAVE_XF86VIDMODE])
+
 dnl
 dnl More X11 setup
 dnl
index ba5708ffed589d20349bf82a6b563e9dfdc4feb8..2c94ef1cd4f2b92a0f206bee41da6624a65ee84e 100644 (file)
@@ -1,7 +1,11 @@
 TOP = ../..
 include $(TOP)/configs/current
 
-EXTRA_DEFINES = -DXF86VIDMODE -D_REENTRANT \
+ifeq ($(HAVE_XF86VIDMODE),yes)
+EXTRA_DEFINES_XF86VIDMODE = -DXF86VIDMODE
+endif
+
+EXTRA_DEFINES = $(EXTRA_DEFINES_XF86VIDMODE) -D_REENTRANT \
                 -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\"
 
 SOURCES = \
index 5cd928753fafc09e848bbf32c14860046325d6f0..7016fdf2a8d2d6bdea901ba47d06310116a11694 100644 (file)
@@ -44,7 +44,9 @@
 #include "glx_error.h"
 #else
 #include <sys/time.h>
+#ifdef XF86VIDMODE
 #include <X11/extensions/xf86vmode.h>
+#endif
 #include "xf86dri.h"
 #endif
 #else