From 8dc4048b3bdb4dc3a5b3d392dcde65eb37a87965 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Mon, 10 Sep 2012 13:34:09 -0700 Subject: [PATCH] r300g: Link ralloc.c and register_allocate.c into separate library --- src/gallium/drivers/r300/Makefile.am | 17 +++++++++++++---- src/gallium/targets/pipe-loader/Makefile | 1 + src/gallium/targets/vdpau-r300/Makefile | 4 ++-- src/gallium/targets/xorg-r300/Makefile | 1 + src/gallium/targets/xvmc-r300/Makefile | 1 + 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/r300/Makefile.am b/src/gallium/drivers/r300/Makefile.am index 3f39af3b104..3b88f7348f3 100644 --- a/src/gallium/drivers/r300/Makefile.am +++ b/src/gallium/drivers/r300/Makefile.am @@ -1,7 +1,7 @@ include Makefile.sources include $(top_srcdir)/src/gallium/Automake.inc -noinst_LTLIBRARIES = libr300.la +noinst_LTLIBRARIES = libr300.la libr300-helper.la check_PROGRAMS = r300_compiler_tests testdir = compiler/tests TESTS = r300_compiler_tests @@ -26,11 +26,20 @@ r300_compiler_tests_SOURCES = \ $(testdir)/rc_test_helpers.c \ $(testdir)/unit_test.c -libr300_la_SOURCES = \ - $(C_SOURCES) \ +libr300_la_SOURCES = $(C_SOURCES) + +# These two files are included in libmesagallium, which is included in the dri +# targets. So, they were added directly to r300g the dri-r300 target would have +# duplicated symbols, and if they weren't the other *-r300 targets would fail +# with undefined symbols. +# +# Solve this by building them into a separate helper library that can be linked +# in place of libmesagallium. +libr300_helper_la_SOURCES = \ $(top_srcdir)/src/glsl/ralloc.c \ $(top_srcdir)/src/mesa/program/register_allocate.c #XXX: Delete this when all r300 targets are converted to automake. -all-local: libr300.la +all-local: libr300.la libr300-helper.la ln -f $(builddir)/.libs/libr300.a $(builddir)/libr300.a + ln -f $(builddir)/.libs/libr300-helper.a $(builddir)/libr300-helper.a diff --git a/src/gallium/targets/pipe-loader/Makefile b/src/gallium/targets/pipe-loader/Makefile index b8688edcf53..7c17866667c 100644 --- a/src/gallium/targets/pipe-loader/Makefile +++ b/src/gallium/targets/pipe-loader/Makefile @@ -48,6 +48,7 @@ nouveau_SYS = $(NOUVEAU_LIBS) # r300 pipe driver r300_LIBS = \ $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/r300/libr300-helper.a \ $(TOP)/src/gallium/drivers/r300/libr300.a r300_SYS += $(RADEON_LIBS) diff --git a/src/gallium/targets/vdpau-r300/Makefile b/src/gallium/targets/vdpau-r300/Makefile index e79c920feb7..cc9252d1dfe 100644 --- a/src/gallium/targets/vdpau-r300/Makefile +++ b/src/gallium/targets/vdpau-r300/Makefile @@ -6,14 +6,14 @@ LIBBASENAME = vdpau_r300 DRIVER_INCLUDES = $(shell $(PKG_CONFIG) libdrm --cflags-only-I) PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/r300/libr300-helper.a \ $(TOP)/src/gallium/drivers/r300/libr300.a \ $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ $(TOP)/src/gallium/drivers/softpipe/libsoftpipe.a \ $(TOP)/src/gallium/drivers/rbug/librbug.a \ $(TOP)/src/gallium/drivers/trace/libtrace.a \ $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ - $(TOP)/src/gallium/auxiliary/libgallium.a \ - $(TOP)/src/mesa/libmesagallium.a + $(TOP)/src/gallium/auxiliary/libgallium.a C_SOURCES = \ target.c \ diff --git a/src/gallium/targets/xorg-r300/Makefile b/src/gallium/targets/xorg-r300/Makefile index 45bb3d7e701..08b87185f76 100644 --- a/src/gallium/targets/xorg-r300/Makefile +++ b/src/gallium/targets/xorg-r300/Makefile @@ -13,6 +13,7 @@ DRIVER_DEFINES = \ DRIVER_PIPES = \ $(TOP)/src/gallium/state_trackers/xorg/libxorgtracker.a \ $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ + $(TOP)/src/gallium/drivers/r300/libr300-helper.a \ $(TOP)/src/gallium/drivers/r300/libr300.a \ $(TOP)/src/gallium/drivers/galahad/libgalahad.a \ $(TOP)/src/gallium/drivers/trace/libtrace.a \ diff --git a/src/gallium/targets/xvmc-r300/Makefile b/src/gallium/targets/xvmc-r300/Makefile index d2ab4886944..0bf75cbe070 100644 --- a/src/gallium/targets/xvmc-r300/Makefile +++ b/src/gallium/targets/xvmc-r300/Makefile @@ -6,6 +6,7 @@ LIBBASENAME = XvMCr300 DRIVER_INCLUDES = $(shell $(PKG_CONFIG) libdrm --cflags-only-I) PIPE_DRIVERS = \ + $(TOP)/src/gallium/drivers/r300/libr300-helper.a \ $(TOP)/src/gallium/drivers/r300/libr300.a \ $(TOP)/src/gallium/winsys/radeon/drm/libradeonwinsys.a \ $(TOP)/src/gallium/drivers/trace/libtrace.a \ -- 2.30.2