From d812c745829be2155fdd0d10e4a12606c2a10826 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sat, 10 May 2014 14:35:08 +0100 Subject: [PATCH] gallium/radeon: link in libradeon.la at target level It makes more sense to link the core and common parts of the driver as the target is build. Additionally this will help us drop duplicating symbols for targets that static link mulitple pipe-drivers. Only egl-static needs that currently with more to come. To simplify things a bit add HAVE_GALLIUM_RADEON_COMMON variable. Signed-off-by: Emil Velikov Reviewed-by: Tom Stellard --- configure.ac | 2 ++ src/gallium/drivers/Makefile.am | 24 +++++++------------ src/gallium/drivers/r600/Makefile.am | 2 -- src/gallium/drivers/radeonsi/Makefile.am | 2 -- src/gallium/targets/egl-static/Makefile.am | 5 ++++ src/gallium/targets/pipe-loader/Makefile.am | 2 ++ src/gallium/targets/r600/dri/Makefile.am | 1 + src/gallium/targets/r600/omx/Makefile.am | 1 + src/gallium/targets/r600/vdpau/Makefile.am | 1 + src/gallium/targets/r600/xvmc/Makefile.am | 1 + src/gallium/targets/radeonsi/dri/Makefile.am | 1 + src/gallium/targets/radeonsi/omx/Makefile.am | 1 + .../targets/radeonsi/vdpau/Makefile.am | 1 + 13 files changed, 24 insertions(+), 20 deletions(-) diff --git a/configure.ac b/configure.ac index d3e96de976b..4e4d76155fb 100644 --- a/configure.ac +++ b/configure.ac @@ -1967,6 +1967,8 @@ AM_CONDITIONAL(HAVE_GALLIUM_ILO, test "x$HAVE_GALLIUM_ILO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_R600" = xyes -o \ + "x$HAVE_GALLIUM_RADEONSI" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes) diff --git a/src/gallium/drivers/Makefile.am b/src/gallium/drivers/Makefile.am index f8baa3cf92c..3d53cade7b8 100644 --- a/src/gallium/drivers/Makefile.am +++ b/src/gallium/drivers/Makefile.am @@ -5,22 +5,6 @@ SUBDIRS = . galahad identity noop trace rbug ################################################################################ -if HAVE_GALLIUM_R600 - -SUBDIRS += radeon - -else - -if HAVE_GALLIUM_RADEONSI - -SUBDIRS += radeon - -endif - -endif - -################################################################################ - if HAVE_GALLIUM_FREEDRENO SUBDIRS += freedreno @@ -61,6 +45,14 @@ endif ################################################################################ +if HAVE_GALLIUM_RADEON_COMMON + +SUBDIRS += radeon + +endif + +################################################################################ + if HAVE_GALLIUM_R300 SUBDIRS += r300 diff --git a/src/gallium/drivers/r600/Makefile.am b/src/gallium/drivers/r600/Makefile.am index be8635d26e2..30e098e1770 100644 --- a/src/gallium/drivers/r600/Makefile.am +++ b/src/gallium/drivers/r600/Makefile.am @@ -17,8 +17,6 @@ libr600_la_SOURCES = \ $(C_SOURCES) \ $(CXX_SOURCES) -libr600_la_LIBADD = ../radeon/libradeon.la - if NEED_RADEON_LLVM AM_CFLAGS += \ diff --git a/src/gallium/drivers/radeonsi/Makefile.am b/src/gallium/drivers/radeonsi/Makefile.am index f409f7e3bc4..926b2032c8a 100644 --- a/src/gallium/drivers/radeonsi/Makefile.am +++ b/src/gallium/drivers/radeonsi/Makefile.am @@ -32,5 +32,3 @@ AM_CFLAGS = \ noinst_LTLIBRARIES = libradeonsi.la libradeonsi_la_SOURCES = $(C_SOURCES) -libradeonsi_la_LIBADD = \ - ../radeon/libradeon.la diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am index 1aa5d37b7f0..332b38db062 100644 --- a/src/gallium/targets/egl-static/Makefile.am +++ b/src/gallium/targets/egl-static/Makefile.am @@ -183,6 +183,11 @@ egl_gallium_la_LIBADD += \ $(NOUVEAU_LIBS) endif +if HAVE_GALLIUM_RADEON_COMMON +egl_gallium_la_LIBADD += \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la +endif + if HAVE_GALLIUM_R300 AM_CPPFLAGS += -D_EGL_PIPE_R300=1 egl_gallium_la_LIBADD += \ diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am index a1c7d251b5a..328069416d1 100644 --- a/src/gallium/targets/pipe-loader/Makefile.am +++ b/src/gallium/targets/pipe-loader/Makefile.am @@ -107,6 +107,7 @@ nodist_EXTRA_pipe_r600_la_SOURCES = dummy.cpp pipe_r600_la_LIBADD = \ $(PIPE_LIBS) \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ $(LIBDRM_LIBS) \ $(RADEON_LIBS) @@ -121,6 +122,7 @@ nodist_EXTRA_pipe_radeonsi_la_SOURCES = dummy.cpp pipe_radeonsi_la_LIBADD = \ $(PIPE_LIBS) \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ $(LIBDRM_LIBS) \ $(RADEON_LIBS) diff --git a/src/gallium/targets/r600/dri/Makefile.am b/src/gallium/targets/r600/dri/Makefile.am index e13275ee230..8e3e5619f24 100644 --- a/src/gallium/targets/r600/dri/Makefile.am +++ b/src/gallium/targets/r600/dri/Makefile.am @@ -42,6 +42,7 @@ r600_dri_la_LDFLAGS = \ r600_dri_la_LIBADD = \ $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.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 \ diff --git a/src/gallium/targets/r600/omx/Makefile.am b/src/gallium/targets/r600/omx/Makefile.am index e96027eb2be..d2470eaf72c 100644 --- a/src/gallium/targets/r600/omx/Makefile.am +++ b/src/gallium/targets/r600/omx/Makefile.am @@ -36,6 +36,7 @@ libomx_r600_la_SOURCES = \ libomx_r600_la_LDFLAGS = $(GALLIUM_OMX_LINKER_FLAGS) libomx_r600_la_LIBADD = \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(GALLIUM_OMX_LIB_DEPS) \ diff --git a/src/gallium/targets/r600/vdpau/Makefile.am b/src/gallium/targets/r600/vdpau/Makefile.am index b212024b752..8125e2d61c6 100644 --- a/src/gallium/targets/r600/vdpau/Makefile.am +++ b/src/gallium/targets/r600/vdpau/Makefile.am @@ -38,6 +38,7 @@ libvdpau_r600_la_LDFLAGS = \ -Wl,--dynamic-list=$(srcdir)/../../r300/dri/radeon.dyn libvdpau_r600_la_LIBADD = \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(GALLIUM_VDPAU_LIB_DEPS) \ diff --git a/src/gallium/targets/r600/xvmc/Makefile.am b/src/gallium/targets/r600/xvmc/Makefile.am index a6c22f4b1e2..3e32f86d42c 100644 --- a/src/gallium/targets/r600/xvmc/Makefile.am +++ b/src/gallium/targets/r600/xvmc/Makefile.am @@ -37,6 +37,7 @@ libXvMCr600_la_LDFLAGS = \ $(GALLIUM_XVMC_LINKER_FLAGS) libXvMCr600_la_LIBADD = \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(GALLIUM_XVMC_LIB_DEPS) \ diff --git a/src/gallium/targets/radeonsi/dri/Makefile.am b/src/gallium/targets/radeonsi/dri/Makefile.am index c9910dd669f..470b2130907 100644 --- a/src/gallium/targets/radeonsi/dri/Makefile.am +++ b/src/gallium/targets/radeonsi/dri/Makefile.am @@ -42,6 +42,7 @@ radeonsi_dri_la_LDFLAGS = \ radeonsi_dri_la_LIBADD = \ $(top_builddir)/src/mesa/drivers/dri/common/libdricommon.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ diff --git a/src/gallium/targets/radeonsi/omx/Makefile.am b/src/gallium/targets/radeonsi/omx/Makefile.am index 2cfc2703c25..6d6066fe335 100644 --- a/src/gallium/targets/radeonsi/omx/Makefile.am +++ b/src/gallium/targets/radeonsi/omx/Makefile.am @@ -36,6 +36,7 @@ libomx_radeonsi_la_SOURCES = \ libomx_radeonsi_la_LDFLAGS = $(GALLIUM_OMX_LINKER_FLAGS) libomx_radeonsi_la_LIBADD = \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(GALLIUM_OMX_LIB_DEPS) \ diff --git a/src/gallium/targets/radeonsi/vdpau/Makefile.am b/src/gallium/targets/radeonsi/vdpau/Makefile.am index 975ae7884b7..9ed40e65b0b 100644 --- a/src/gallium/targets/radeonsi/vdpau/Makefile.am +++ b/src/gallium/targets/radeonsi/vdpau/Makefile.am @@ -39,6 +39,7 @@ libvdpau_radeonsi_la_LDFLAGS = \ libvdpau_radeonsi_la_LIBADD = \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(GALLIUM_VDPAU_LIB_DEPS) \ -- 2.30.2