Rather than having the XCB_DRI3 dependencies burried just do a once-off check and add [all of] the respective CFLAGS/LIBS where needed.
As a nice side effect this helps us solve a couple of FIXMEs Signed-off-by: Emil Velikov <emil.veli...@collabora.com> --- configure.ac | 24 +++++++++--------------- src/amd/vulkan/Makefile.am | 3 +-- src/gallium/auxiliary/Makefile.am | 1 + src/gallium/state_trackers/omx/Makefile.am | 1 + src/gallium/state_trackers/va/Makefile.am | 1 + src/gallium/state_trackers/vdpau/Makefile.am | 1 + src/gallium/state_trackers/xvmc/Makefile.am | 3 ++- src/gallium/targets/omx/Makefile.am | 1 + src/gallium/targets/va/Makefile.am | 1 + src/gallium/targets/vdpau/Makefile.am | 1 + src/gallium/targets/xvmc/Makefile.am | 1 + src/intel/vulkan/Makefile.am | 3 +-- src/vulkan/wsi/Makefile.am | 3 +-- 13 files changed, 22 insertions(+), 22 deletions(-) diff --git a/configure.ac b/configure.ac index 006a70b..4d35c5b 100644 --- a/configure.ac +++ b/configure.ac @@ -1588,6 +1588,13 @@ AC_ARG_ENABLE([driglx-direct], [driglx_direct="$enableval"], [driglx_direct="yes"]) +if test x"$enable_dri3" = xyes; then + DEFINES="$DEFINES -DHAVE_DRI3" + + dri3_modules="x11-xcb xcb >= $XCB_REQUIRED xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" + PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) +fi + dnl dnl libGL configuration per driver dnl @@ -1616,15 +1623,11 @@ xdri) PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED" + if test x"$enable_dri" = xyes; then dri_modules="$dri_modules xcb-dri2 >= $XCBDRI2_REQUIRED" fi - if test x"$enable_dri3" = xyes; then - PKG_CHECK_EXISTS([xcb >= $XCB_REQUIRED], [], AC_MSG_ERROR([DRI3 requires xcb >= $XCB_REQUIRED])) - dri3_modules="xcb xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED" - PKG_CHECK_MODULES([XCB_DRI3], [$dri3_modules]) - fi fi if test x"$dri_platform" = xapple ; then DEFINES="$DEFINES -DGLX_USE_APPLEGL" @@ -1755,10 +1758,6 @@ if test "x$enable_dri" = xyes; then case "$host_os" in linux*) DEFINES="$DEFINES -DHAVE_ALIAS" - if test "x$enable_dri3" = xyes; then - DEFINES="$DEFINES -DHAVE_DRI3" - fi - case "$host_cpu" in powerpc* | sparc*) # Build only the drivers for cards that exist on PowerPC/sparc @@ -2051,12 +2050,7 @@ if test "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ "x$enable_omx" = xyes -o \ "x$enable_va" = xyes; then - if test x"$enable_dri3" = xyes; then - PKG_CHECK_MODULES([VL], [xcb-dri3 xcb-present xcb-sync xshmfence >= $XSHMFENCE_REQUIRED - x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) - else - PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) - fi + PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) need_gallium_vl_winsys=yes fi AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes) diff --git a/src/amd/vulkan/Makefile.am b/src/amd/vulkan/Makefile.am index 6e184c0..3ae0a97 100644 --- a/src/amd/vulkan/Makefile.am +++ b/src/amd/vulkan/Makefile.am @@ -70,8 +70,7 @@ AM_CPPFLAGS += \ VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am index 0d1aee6..c49c265 100644 --- a/src/gallium/auxiliary/Makefile.am +++ b/src/gallium/auxiliary/Makefile.am @@ -63,6 +63,7 @@ if NEED_GALLIUM_VL COMMON_VL_CFLAGS = \ $(AM_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(DRI2PROTO_CFLAGS) \ $(LIBDRM_CFLAGS) diff --git a/src/gallium/state_trackers/omx/Makefile.am b/src/gallium/state_trackers/omx/Makefile.am index d68746c..e2d9ec7 100644 --- a/src/gallium/state_trackers/omx/Makefile.am +++ b/src/gallium/state_trackers/omx/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(OMX_CFLAGS) noinst_LTLIBRARIES = libomxtracker.la diff --git a/src/gallium/state_trackers/va/Makefile.am b/src/gallium/state_trackers/va/Makefile.am index a70eede5..9178391 100644 --- a/src/gallium/state_trackers/va/Makefile.am +++ b/src/gallium/state_trackers/va/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(VA_CFLAGS) \ -DVA_DRIVER_INIT_FUNC="__vaDriverInit_$(VA_MAJOR)_$(VA_MINOR)" diff --git a/src/gallium/state_trackers/vdpau/Makefile.am b/src/gallium/state_trackers/vdpau/Makefile.am index d7fd68b..e91b055 100644 --- a/src/gallium/state_trackers/vdpau/Makefile.am +++ b/src/gallium/state_trackers/vdpau/Makefile.am @@ -30,6 +30,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(VDPAU_CFLAGS) AM_CPPFLAGS = \ -I$(top_srcdir)/include \ diff --git a/src/gallium/state_trackers/xvmc/Makefile.am b/src/gallium/state_trackers/xvmc/Makefile.am index 3c7c35c..398eaf6 100644 --- a/src/gallium/state_trackers/xvmc/Makefile.am +++ b/src/gallium/state_trackers/xvmc/Makefile.am @@ -27,6 +27,7 @@ AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ $(VL_CFLAGS) \ + $(XCB_DRI3_CFLAGS) \ $(XVMC_CFLAGS) noinst_LTLIBRARIES = libxvmctracker.la @@ -45,7 +46,7 @@ noinst_PROGRAMS = \ noinst_HEADERS = tests/testlib.h -TEST_LIBS = $(XVMC_LIBS) -lXvMCW $(VL_LIBS) +TEST_LIBS = $(XVMC_LIBS) -lXvMCW $(VL_LIBS) $(XCB_DRI3_LIBS) tests_test_context_SOURCES = tests/test_context.c tests/testlib.c tests_test_context_LDADD = $(TEST_LIBS) tests_test_surface_SOURCES = tests/test_surface.c tests/testlib.c diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am index 29ba242..5912241 100644 --- a/src/gallium/targets/omx/Makefile.am +++ b/src/gallium/targets/omx/Makefile.am @@ -30,6 +30,7 @@ libomx_mesa_la_LIBADD = \ $(top_builddir)/src/util/libmesautil.la \ $(OMX_LIBS) \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am index afaa85b..f861640 100644 --- a/src/gallium/targets/va/Makefile.am +++ b/src/gallium/targets/va/Makefile.am @@ -30,6 +30,7 @@ gallium_drv_video_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index 97c0ab2..d4b895a 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -35,6 +35,7 @@ libvdpau_gallium_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am index c8bac58..e378dec 100644 --- a/src/gallium/targets/xvmc/Makefile.am +++ b/src/gallium/targets/xvmc/Makefile.am @@ -30,6 +30,7 @@ libXvMCgallium_la_LIBADD = \ $(top_builddir)/src/util/libmesautil.la \ $(XVMC_LIBS) \ $(VL_LIBS) \ + $(XCB_DRI3_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am index df7645f..885937d 100644 --- a/src/intel/vulkan/Makefile.am +++ b/src/intel/vulkan/Makefile.am @@ -101,8 +101,7 @@ AM_CPPFLAGS += \ VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif diff --git a/src/vulkan/wsi/Makefile.am b/src/vulkan/wsi/Makefile.am index a712799..f99e4fc 100644 --- a/src/vulkan/wsi/Makefile.am +++ b/src/vulkan/wsi/Makefile.am @@ -28,8 +28,7 @@ AM_CPPFLAGS += \ VULKAN_WSI_SOURCES += $(VULKAN_WSI_X11_FILES) -# FIXME: Use pkg-config for X11-xcb ldflags. -VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb +VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) endif if HAVE_PLATFORM_WAYLAND -- 2.10.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev