From 2dbaedaf109aad822d72bd0e761c506efbb29ec4 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 9 Nov 2014 04:44:14 +0000 Subject: [PATCH] automake: rework VL dependency tracking MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Set a single VL_{CFLAG,LIBS} for xcb and friends, and let each target check for it's relevant library alone. Required as with follow up commits we'll build aux/vl into a separate module, which needs VL_CFLAGS Cleanup add a couple of explicit LIBDRM_LIBS linking, as aux/vl itself requires libdrm, despite that LIBDRM_{RADEON,NOUVEAU...} may provide it as well. v2: Rebase. Make sure st/xvmc programs work. Cc: Christian König Signed-off-by: Emil Velikov --- configure.ac | 19 +++++++++++++------ 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 | 4 +++- src/gallium/targets/omx/Makefile.am | 3 +++ src/gallium/targets/va/Makefile.am | 5 ++++- src/gallium/targets/vdpau/Makefile.am | 4 +++- src/gallium/targets/xvmc/Makefile.am | 2 ++ 9 files changed, 31 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 44a185be04c..882898f1d54 100644 --- a/configure.ac +++ b/configure.ac @@ -1375,28 +1375,35 @@ if test -n "$with_gallium_drivers" -a "x$with_gallium_drivers" != xswrast; then fi fi +if test "x$enable_xvmc" = xyes -o \ + "x$enable_vdpau" = xyes -o \ + "x$enable_omx" = xyes -o \ + "x$enable_va" = xyes; then + PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) + need_gallium_vl=yes +fi +AM_CONDITIONAL(NEED_GALLIUM_VL, test "x$need_gallium_vl" = xyes) + if test "x$enable_xvmc" = xyes; then - PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) + PKG_CHECK_MODULES([XVMC], [xvmc >= $XVMC_REQUIRED]) enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes) if test "x$enable_vdpau" = xyes; then - PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED], - [VDPAU_LIBS="`$PKG_CONFIG --libs x11-xcb xcb xcb-dri2`"]) + PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED]) enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes) if test "x$enable_omx" = xyes; then - PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) + PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED]) enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes) if test "x$enable_va" = xyes; then - PKG_CHECK_MODULES([VA], [libva >= $LIBVA_REQUIRED x11-xcb xcb-dri2 >= $XCBDRI2_REQUIRED], - [VA_LIBS="`$PKG_CONFIG --libs x11-xcb xcb-dri2`"]) + PKG_CHECK_MODULES([VA], [libva >= $LIBVA_REQUIRED]) enable_gallium_loader=$enable_shared_pipe_drivers fi AM_CONDITIONAL(HAVE_ST_VA, test "x$enable_va" = xyes) diff --git a/src/gallium/state_trackers/omx/Makefile.am b/src/gallium/state_trackers/omx/Makefile.am index 68eed02e746..d68746cecbd 100644 --- a/src/gallium/state_trackers/omx/Makefile.am +++ b/src/gallium/state_trackers/omx/Makefile.am @@ -26,6 +26,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ + $(VL_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 ec64c3f4611..2a93a904346 100644 --- a/src/gallium/state_trackers/va/Makefile.am +++ b/src/gallium/state_trackers/va/Makefile.am @@ -26,6 +26,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ + $(VL_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 a74b5bfb6f9..d7fd68b3dc6 100644 --- a/src/gallium/state_trackers/vdpau/Makefile.am +++ b/src/gallium/state_trackers/vdpau/Makefile.am @@ -29,6 +29,7 @@ VDPAU_MINOR = 0 AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ $(VISIBILITY_CFLAGS) \ + $(VL_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 abaa88e4463..047d05b3719 100644 --- a/src/gallium/state_trackers/xvmc/Makefile.am +++ b/src/gallium/state_trackers/xvmc/Makefile.am @@ -26,6 +26,8 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ $(GALLIUM_CFLAGS) \ + $(VISIBILITY_CFLAGS) \ + $(VL_CFLAGS) \ $(XVMC_CFLAGS) noinst_LTLIBRARIES = libxvmctracker.la @@ -44,7 +46,7 @@ noinst_PROGRAMS = \ noinst_HEADERS = tests/testlib.h -TEST_LIBS = $(XVMC_LIBS) -lXvMCW +TEST_LIBS = $(XVMC_LIBS) -lXvMCW $(VL_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 7ea3144ffd3..e69b4a21cf2 100644 --- a/src/gallium/targets/omx/Makefile.am +++ b/src/gallium/targets/omx/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ + $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) omxdir = $(OMX_LIB_INSTALL_DIR) @@ -28,6 +29,8 @@ libomx_mesa_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(OMX_LIBS) \ + $(VL_LIBS) \ + $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) EXTRA_libomx_mesa_la_DEPENDENCIES = omx.sym diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am index 53b43c642ed..fee89237699 100644 --- a/src/gallium/targets/va/Makefile.am +++ b/src/gallium/targets/va/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ + $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) vadir = $(VA_LIB_INSTALL_DIR) @@ -23,11 +24,13 @@ gallium_drv_video_la_LDFLAGS += \ -Wl,--version-script=$(top_srcdir)/src/gallium/targets/va/va.sym endif # HAVE_LD_VERSION_SCRIPT +# NOTE: gallium_drv_video does not use(link against) libva gallium_drv_video_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/va/libvatracker.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ - $(VA_LIBS) \ + $(VL_LIBS) \ + $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) EXTRA_gallium_drv_video_la_DEPENDENCIES = va.sym diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am index 68f72a09363..c363114c2bc 100644 --- a/src/gallium/targets/vdpau/Makefile.am +++ b/src/gallium/targets/vdpau/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ + $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) vdpaudir = $(VDPAU_LIB_INSTALL_DIR) @@ -28,11 +29,12 @@ libvdpau_gallium_la_LDFLAGS += \ -Wl,--dynamic-list=$(top_srcdir)/src/gallium/targets/dri-vdpau.dyn endif # HAVE_LD_DYNAMIC_LIST +# NOTE: libvdpau_gallium does not use(link against) libvdpau libvdpau_gallium_la_LIBADD = \ $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ - $(VDPAU_LIBS) \ + $(VL_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) diff --git a/src/gallium/targets/xvmc/Makefile.am b/src/gallium/targets/xvmc/Makefile.am index 7c8799c413e..64092f90929 100644 --- a/src/gallium/targets/xvmc/Makefile.am +++ b/src/gallium/targets/xvmc/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/src/gallium/Automake.inc AM_CFLAGS = \ + $(VL_CFLAGS) \ $(GALLIUM_TARGET_CFLAGS) xvmcdir = $(XVMC_LIB_INSTALL_DIR) @@ -28,6 +29,7 @@ libXvMCgallium_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/util/libmesautil.la \ $(XVMC_LIBS) \ + $(VL_LIBS) \ $(LIBDRM_LIBS) \ $(GALLIUM_COMMON_LIB_DEPS) -- 2.30.2