Add the ability to enable/disable specific versions of the DRI support. This is the following two commits from master squashed: 7bc669dd4b7e3e5978e95e4131d1f9215afbc041 5a0cb1049c2fa0586708719210a2d2cffa7a4491 Upstream-Status: Backport Signed-off-by: Ross Burton diff --git a/configure.ac b/configure.ac index b3b6e8e..bd654f3 100644 --- a/configure.ac +++ b/configure.ac @@ -296,6 +296,21 @@ AC_ARG_ENABLE(dri, [Disable DRI support [[default=auto]]]), [DRI=$enableval], [DRI=auto]) +AC_ARG_ENABLE(dri1, + AS_HELP_STRING([--disable-dri1], + [Disable DRI1 support [[default=yes]]]), + [DRI1=$enableval], + [DRI1=yes]) +AC_ARG_ENABLE(dri2, + AS_HELP_STRING([--disable-dri2], + [Disable DRI2 support [[default=yes]]]), + [DRI2=$enableval], + [DRI2=yes]) +AC_ARG_ENABLE(dri3, + AS_HELP_STRING([--disable-dri3], + [Disable DRI3 support [[default=yes]]]), + [DRI3=$enableval], + [DRI3=yes]) AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Disable XvMC support [[default=yes]]]), @@ -461,15 +476,15 @@ if test "x$UMS" = "xyes"; then AC_DEFINE(UMS,1,[Assume UMS support]) fi -DRI1=no +have_dri1=no XORG_DRIVER_CHECK_EXT(XF86DRI, xf86driproto) -if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then - PKG_CHECK_MODULES(DRI1, [xf86driproto], [DRI1=$DRI], [DRI1=no]) +if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$DRI1" != "xno" -a "x$UMS" = "xyes"; then + PKG_CHECK_MODULES(DRI1, [xf86driproto], [have_dri1=$DRI], [have_dri1=no]) save_CFLAGS="$CFLAGS" save_CPPFLAGS="$CPPFLAGS" CFLAGS="$CFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS" CPPFLAGS="$CPPFLAGS $XORG_CFLAGS $DRI1_CFLAGS $DRM_CFLAGS" - AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [DRI1=no], + AC_CHECK_HEADERS([dri.h sarea.h dristruct.h], [], [have_dri1=no], [/* for dri.h */ #include /* for dristruct.h */ @@ -486,49 +501,55 @@ if test "x$_EXT_CHECK" != "xno" -a "x$DRI" != "xno" -a "x$UMS" = "xyes"; then fi AC_MSG_CHECKING([whether to include DRI1 support]) -AC_MSG_RESULT([$DRI1]) +AC_MSG_RESULT([$have_dri1]) -AM_CONDITIONAL(DRI1, test "x$DRI1" != "xno") -if test "x$DRI1" != "xno"; then +AM_CONDITIONAL(DRI1, test "x$have_dri1" != "xno") +if test "x$have_dri1" != "xno"; then AC_DEFINE(HAVE_DRI1,1,[Enable DRI1 driver support]) dri_msg="$dri_msg DRI1" else DRI1_CFLAGS="" DRI1_LIBS="" - if test "x$DRI" = "xyes" -a "x$UMS" = "xyes"; then + if test "x$DRI" = "xyes" -a "x$UMS" = "xyes" -a "x$DRI1" != "xno"; then AC_MSG_ERROR([DRI1 requested but prerequisites not found]) fi fi -DRI2=no -DRI3=no +have_dri2=no +have_dri3=no if test "x$DRI" != "xno"; then - PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [DRI2=$DRI], [DRI2=no]) - dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri` - if test "x$dridriverdir" = "x"; then - dridriverdir="$libdir/dri" - fi - AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default DRI2 driver path]) if test "x$DRI2" != "xno"; then + PKG_CHECK_MODULES(DRI2, [dri2proto >= 2.6], [have_dri2=$DRI], [have_dri2=no]) + fi + if test "x$have_dri2" != "xno"; then save_CFLAGS=$CFLAGS CFLAGS="$XORG_CFLAGS $DRM_CFLAGS $DRI1_CFLAGS $DRI2_CFLAGS" - AC_CHECK_HEADERS([dri2.h], [], [DRI2=no], [ + AC_CHECK_HEADERS([dri2.h], [], [have_dri2=no], [ #include #include ]) CFLAGS=$save_CFLAGS fi - - XORG_DRIVER_CHECK_EXT(DRI3, dri3proto) - if test "x$_EXT_CHECK" != "xno"; then - PKG_CHECK_MODULES(DRI3, [dri3proto], [DRI3=$DRI], []) + if test "x$have_dri2" != "xno"; then + dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri` + if test "x$dridriverdir" = "x"; then + dridriverdir="$libdir/dri" + fi + AC_DEFINE_DIR(DRI_DRIVER_PATH, dridriverdir, [Default have_dri2 driver path]) fi + if test "x$DRI3" != "xno"; then + XORG_DRIVER_CHECK_EXT(DRI3, dri3proto) + if test "x$_EXT_CHECK" != "xno"; then + PKG_CHECK_MODULES(DRI3, [dri3proto], [have_dri3=$DRI], []) + fi + fi + if test "x$have_dri3" != "xno"; then save_CFLAGS=$CFLAGS CFLAGS="$XORG_CFLAGS $DRI3_CFLAGS" - AC_CHECK_DECL(DRI3, [], [DRI3=no], [#include ]) - AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [DRI3=no], [ + AC_CHECK_DECL(DRI3, [], [have_dri3=no], [#include ]) + AC_CHECK_HEADERS([misyncstr.h misyncshm.h], [], [have_dri3=no], [ #include #include #include @@ -538,13 +559,13 @@ if test "x$DRI" != "xno"; then fi AC_MSG_CHECKING([whether to include DRI2 support]) -AM_CONDITIONAL(DRI2, test "x$DRI2" != "xno") -AC_MSG_RESULT([$DRI2]) -if test "x$DRI2" != "xno"; then +AM_CONDITIONAL(DRI2, test "x$have_dri2" != "xno") +AC_MSG_RESULT([$have_dri2]) +if test "x$have_dri2" != "xno"; then AC_DEFINE(HAVE_DRI2,1,[Enable DRI2 driver support]) dri_msg="$dri_msg DRI2" else - if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then + if test "x$DRI" = "xyes" -a "x$DRI2" != "xno" -a "x$KMS" = "xyes"; then AC_MSG_ERROR([DRI2 requested but prerequisites not found]) fi @@ -553,13 +574,13 @@ else fi AC_MSG_CHECKING([whether to include DRI3 support]) -AM_CONDITIONAL(DRI3, test "x$DRI3" != "xno") -AC_MSG_RESULT([$DRI3]) -if test "x$DRI3" != "xno"; then +AM_CONDITIONAL(DRI3, test "x$have_dri3" != "xno") +AC_MSG_RESULT([$have_dri3]) +if test "x$have_dri3" != "xno"; then AC_DEFINE(HAVE_DRI3,1,[Enable DRI3 driver support]) dri_msg="$dri_msg DRI3" else - if test "x$DRI" = "xyes" -a "x$KMS" = "xyes"; then + if test "x$DRI" = "xyes" -a "x$DRI3" != "xno" -a "x$KMS" = "xyes"; then AC_MSG_ERROR([DRI3 requested but prerequisites not found]) fi fi