[Mesa-dev] [PATCH 2/5] automake: rework VL dependency tracking
Emil Velikov
emil.l.velikov at gmail.com
Sat Nov 8 20:44:14 PST 2014
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.
Cc: Christian König <christian.koenig at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---
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 | 2 ++
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, 30 insertions(+), 8 deletions(-)
diff --git a/configure.ac b/configure.ac
index d073bab..c7d74a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1419,28 +1419,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 68eed02..d68746c 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 ec64c3f..2a93a90 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 a74b5bf..d7fd68b 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 abaa88e..9f51280 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
diff --git a/src/gallium/targets/omx/Makefile.am b/src/gallium/targets/omx/Makefile.am
index 4be1063..5f4106c 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)
if HAVE_GALLIUM_STATIC_TARGETS
diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am
index 8112f78..9fbdc58 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)
if HAVE_GALLIUM_STATIC_TARGETS
diff --git a/src/gallium/targets/vdpau/Makefile.am b/src/gallium/targets/vdpau/Makefile.am
index ac80dfb..7059306 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 9bef87a..49cb75e 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.1.3
More information about the mesa-dev
mailing list