[Mesa-dev] [PATCH] targets/*-r600: Add workaround for fixing multiple defined symbols

Andreas Boll andreas.boll.dev at gmail.com
Fri Jan 11 05:13:05 PST 2013


Until we have jobermayr's shared libs patches,
don't link libgallium.la twice.

Fixes
http://lists.freedesktop.org/archives/mesa-dev/2013-January/032515.html

Cc: Andy Furniss <andyqos at ukfsn.org>
---

targets/*-radeonsi: need the same workaround

 src/gallium/targets/dri-r600/Makefile.am   |    6 +++++-
 src/gallium/targets/vdpau-r600/Makefile.am |    6 +++++-
 src/gallium/targets/xvmc-r600/Makefile.am  |    6 +++++-
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/gallium/targets/dri-r600/Makefile.am b/src/gallium/targets/dri-r600/Makefile.am
index a3dbcde..e59e8f4 100644
--- a/src/gallium/targets/dri-r600/Makefile.am
+++ b/src/gallium/targets/dri-r600/Makefile.am
@@ -48,7 +48,6 @@ r600_dri_la_LDFLAGS = -module -avoid-version -shared -no-undefined
 
 r600_dri_la_LIBADD = \
 	$(top_builddir)/src/mesa/libmesagallium.la \
-	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/drivers/r600/libr600.la \
 	$(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \
 	$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
@@ -59,6 +58,11 @@ r600_dri_la_LIBADD = \
 	$(LIBDRM_LIBS) \
 	$(RADEON_LIBS)
 
+if !NEED_RADEON_GALLIUM
+r600_dri_la_LIBADD += \
+	$(top_builddir)/src/gallium/auxiliary/libgallium.la
+endif
+
 if HAVE_MESA_LLVM
 r600_dri_la_LINK = $(CXXLINK) $(r600_dri_la_LDFLAGS)
 # Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
diff --git a/src/gallium/targets/vdpau-r600/Makefile.am b/src/gallium/targets/vdpau-r600/Makefile.am
index f6b82de..d1923da 100644
--- a/src/gallium/targets/vdpau-r600/Makefile.am
+++ b/src/gallium/targets/vdpau-r600/Makefile.am
@@ -44,7 +44,6 @@ libvdpau_r600_la_LDFLAGS = \
 	-no-undefined
 
 libvdpau_r600_la_LIBADD = \
-	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/drivers/r600/libr600.la \
 	$(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \
 	$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
@@ -54,6 +53,11 @@ libvdpau_r600_la_LIBADD = \
 	$(LIBDRM_LIBS) \
 	$(RADEON_LIBS)
 
+if !NEED_RADEON_GALLIUM
+libvdpau_r600_la_LIBADD += \
+	$(top_builddir)/src/gallium/auxiliary/libgallium.la
+endif
+
 if HAVE_MESA_LLVM
 libvdpau_r600_la_LINK = $(CXXLINK) $(libvdpau_r600_la_LDFLAGS)
 # Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
diff --git a/src/gallium/targets/xvmc-r600/Makefile.am b/src/gallium/targets/xvmc-r600/Makefile.am
index b337c7e..6bdc7f8 100644
--- a/src/gallium/targets/xvmc-r600/Makefile.am
+++ b/src/gallium/targets/xvmc-r600/Makefile.am
@@ -44,7 +44,6 @@ libXvMCr600_la_LDFLAGS = \
 	-no-undefined
 
 libXvMCr600_la_LIBADD = \
-	$(top_builddir)/src/gallium/auxiliary/libgallium.la \
 	$(top_builddir)/src/gallium/drivers/r600/libr600.la \
 	$(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \
 	$(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \
@@ -54,6 +53,11 @@ libXvMCr600_la_LIBADD = \
 	$(LIBDRM_LIBS) \
 	$(RADEON_LIBS)
 
+if !NEED_RADEON_GALLIUM
+libXvMCr600_la_LIBADD += \
+	$(top_builddir)/src/gallium/auxiliary/libgallium.la
+endif
+
 if HAVE_MESA_LLVM
 libXvMCr600_la_LINK = $(CXXLINK) $(libXvMCr600_la_LDFLAGS)
 # Mention a dummy pure C++ file to trigger generation of the $(LINK) variable
-- 
1.7.10.4



More information about the mesa-dev mailing list