From 5de2f2f126ba17921aa7c8202917defcdfda869d Mon Sep 17 00:00:00 2001 From: Jon TURNEY Date: Wed, 21 Apr 2010 12:58:54 +0100 Subject: [PATCH 1/3] Make XF86VIDMODE extension optional 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 --- configs/autoconf.in | 2 ++ configure.ac | 11 ++++++++++- src/glx/Makefile | 6 +++++- src/glx/glxcmds.c | 2 ++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/configs/autoconf.in b/configs/autoconf.in index 3ef385a..4c561ab 100644 --- a/configs/autoconf.in +++ b/configs/autoconf.in @@ -169,3 +169,5 @@ ifneq ($(LLVM_VERSION),) HAVE_LLVM := 0x0$(subst .,0,$(LLVM_VERSION:svn=)) DEFINES += -DHAVE_LLVM=$(HAVE_LLVM) endif + +HAVE_XF86VIDMODE = @HAVE_XF86VIDMODE@ diff --git a/configure.ac b/configure.ac index a4d9d94..d6a615b 100644 --- a/configure.ac +++ b/configure.ac @@ -625,8 +625,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 @@ -666,6 +673,8 @@ AC_SUBST([GL_PC_LIB_PRIV]) AC_SUBST([GL_PC_CFLAGS]) AC_SUBST([DRI_PC_REQ_PRIV]) +AC_SUBST([HAVE_XF86VIDMODE]) + dnl dnl More X11 setup dnl diff --git a/src/glx/Makefile b/src/glx/Makefile index 6711fdc..3d6a047 100644 --- a/src/glx/Makefile +++ b/src/glx/Makefile @@ -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 = \ diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index e256a07..8b9ae0d 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -40,7 +40,9 @@ #ifdef GLX_DIRECT_RENDERING #include +#ifdef XF86VIDMODE #include +#endif #include "xf86dri.h" #define GC_IS_DIRECT(gc) ((gc)->driContext != NULL) #else -- 1.7.0.4