From 29c76da1f9d51ed1d473984596261d1c8e1d17c5 Mon Sep 17 00:00:00 2001 From: Johannes Obermayr Date: Mon, 28 Jan 2013 20:18:40 +0100 Subject: [PATCH] radeon: Build and use libradeon the right way. Better build system integration for: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91a160b http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b2855b The EGL runtime issue should be fixed now. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64810 --- configure.ac | 2 -- src/gallium/drivers/r600/Makefile.am | 8 +------ src/gallium/drivers/radeon/Makefile.am | 31 ++++++-------------------- src/gallium/drivers/radeonsi/Makefile.am | 3 --- src/gallium/targets/dri-r600/Makefile.am | 1 + src/gallium/targets/dri-radeonsi/Makefile.am | 1 + src/gallium/targets/egl-static/Makefile.am | 20 +++++++++-------- src/gallium/targets/pipe-loader/Makefile.am | 2 ++ src/gallium/targets/vdpau-r600/Makefile.am | 1 + src/gallium/targets/vdpau-radeonsi/Makefile.am | 1 + src/gallium/targets/xorg-r600/Makefile.am | 1 + src/gallium/targets/xorg-radeonsi/Makefile.am | 1 + src/gallium/targets/xvmc-r600/Makefile.am | 1 + 13 files changed, 28 insertions(+), 45 deletions(-) diff --git a/configure.ac b/configure.ac index 5f3484e..08d4080 100644 --- a/configure.ac +++ b/configure.ac @@ -1810,7 +1810,6 @@ if test "x$with_gallium_drivers" != x; then GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600" if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then radeon_llvm_check - R600_NEED_RADEON_GALLIUM=yes; LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" fi if test "x$enable_r600_llvm" = xyes; then @@ -1967,7 +1966,6 @@ AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \ "x$HAVE_GALLIUM_SVGA" = xyes) AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) -AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = xyes) AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) AM_CONDITIONAL(HAVE_LOADER_GALLIUM, test x$enable_gallium_loader = xyes) AM_CONDITIONAL(HAVE_DRM_LOADER_GALLIUM, test x$enable_gallium_drm_loader = xyes) diff --git a/src/gallium/drivers/r600/Makefile.am b/src/gallium/drivers/r600/Makefile.am index 9203d03..d8dc816 100644 --- a/src/gallium/drivers/r600/Makefile.am +++ b/src/gallium/drivers/r600/Makefile.am @@ -22,19 +22,13 @@ libr600_la_SOURCES = \ $(C_SOURCES) \ $(CXX_SOURCES) -libr600_la_LIBADD = ../radeon/libradeon.la - -if R600_NEED_RADEON_GALLIUM - +if NEED_RADEON_LLVM libr600_la_SOURCES += \ $(LLVM_C_SOURCES) -libr600_la_LIBADD += ../radeon/libllvmradeon.la - AM_CFLAGS += \ $(LLVM_CFLAGS) \ -I$(top_srcdir)/src/gallium/drivers/radeon/ - endif if USE_R600_LLVM_COMPILER diff --git a/src/gallium/drivers/radeon/Makefile.am b/src/gallium/drivers/radeon/Makefile.am index ac8cbd3..1a65a6a 100644 --- a/src/gallium/drivers/radeon/Makefile.am +++ b/src/gallium/drivers/radeon/Makefile.am @@ -1,38 +1,21 @@ include Makefile.sources include $(top_srcdir)/src/gallium/Automake.inc -LIBGALLIUM_LIBS= +libradeon_la_CFLAGS = \ + $(GALLIUM_CFLAGS) \ + $(RADEON_CFLAGS) \ + $(VISIBILTY_CFLAGS) \ + $(DEFINES) noinst_LTLIBRARIES = libradeon.la -AM_CFLAGS = $(GALLIUM_CFLAGS) $(RADEON_CFLAGS) - libradeon_la_SOURCES = \ $(C_SOURCES) if NEED_RADEON_LLVM - -libllvmradeon_la_LDFLAGS = \ - $(LLVM_LDFLAGS) - -noinst_LTLIBRARIES += libllvmradeon.la - -libllvmradeon_la_CXXFLAGS = \ - $(GALLIUM_CFLAGS) \ - $(DEFINES) - -libllvmradeon_la_CFLAGS = \ - $(GALLIUM_CFLAGS) \ +libradeon_la_CFLAGS += \ $(LLVM_CFLAGS) -libllvmradeon_la_SOURCES = \ - $(LLVM_CPP_FILES) \ +libradeon_la_SOURCES += \ $(LLVM_C_FILES) - -libllvmradeon_la_LIBADD = \ - $(LIBGALLIUM_LIBS) \ - $(CLOCK_LIB) \ - $(LLVM_LIBS) \ - $(ELF_LIB) - endif diff --git a/src/gallium/drivers/radeonsi/Makefile.am b/src/gallium/drivers/radeonsi/Makefile.am index 46aa998..6c97d83 100644 --- a/src/gallium/drivers/radeonsi/Makefile.am +++ b/src/gallium/drivers/radeonsi/Makefile.am @@ -33,6 +33,3 @@ AM_CPPFLAGS = \ AM_CFLAGS = $(LLVM_CFLAGS) libradeonsi_la_SOURCES = $(C_SOURCES) -libradeonsi_la_LIBADD = \ - ../radeon/libradeon.la \ - ../radeon/libllvmradeon.la diff --git a/src/gallium/targets/dri-r600/Makefile.am b/src/gallium/targets/dri-r600/Makefile.am index 2b3524b..d217f0d 100644 --- a/src/gallium/targets/dri-r600/Makefile.am +++ b/src/gallium/targets/dri-r600/Makefile.am @@ -51,6 +51,7 @@ 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/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/dri-radeonsi/Makefile.am b/src/gallium/targets/dri-radeonsi/Makefile.am index f7d87a6..28a09ba 100644 --- a/src/gallium/targets/dri-radeonsi/Makefile.am +++ b/src/gallium/targets/dri-radeonsi/Makefile.am @@ -52,6 +52,7 @@ radeonsi_dri_la_LIBADD = \ $(top_builddir)/src/mesa/libmesagallium.la \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/state_trackers/dri/drm/libdridrm.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/egl-static/Makefile.am b/src/gallium/targets/egl-static/Makefile.am index ec461b9..383d143 100644 --- a/src/gallium/targets/egl-static/Makefile.am +++ b/src/gallium/targets/egl-static/Makefile.am @@ -65,7 +65,7 @@ egl_gallium_la_LIBADD = \ $(PTHREAD_LIBS) \ -lm -egl_gallium_la_LDFLAGS = -Wl,--no-undefined -Wl,--allow-multiple-definition -avoid-version -module +egl_gallium_la_LDFLAGS = -Wl,--no-undefined -avoid-version -module if HAVE_EGL_PLATFORM_X11 AM_CPPFLAGS += $(LIBDRM_CFLAGS) @@ -175,27 +175,29 @@ egl_gallium_la_LIBADD += \ $(NOUVEAU_LIBS) endif +if NEED_RADEON_DRM_WINSYS if HAVE_GALLIUM_R300 AM_CPPFLAGS += -D_EGL_PIPE_R300=1 egl_gallium_la_LIBADD += \ - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ - $(top_builddir)/src/gallium/drivers/r300/libr300.la \ - $(RADEON_LIBS) + $(top_builddir)/src/gallium/drivers/r300/libr300.la endif - if HAVE_GALLIUM_R600 AM_CPPFLAGS += -D_EGL_PIPE_R600=1 egl_gallium_la_LIBADD += \ - $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ - $(RADEON_LIBS) + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la endif - if HAVE_GALLIUM_RADEONSI AM_CPPFLAGS += -D_EGL_PIPE_RADEONSI=1 egl_gallium_la_LIBADD += \ + $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la +if !HAVE_GALLIUM_R600 +egl_gallium_la_LIBADD += \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la +endif +endif +egl_gallium_la_LIBADD += \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ - $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ $(RADEON_LIBS) endif diff --git a/src/gallium/targets/pipe-loader/Makefile.am b/src/gallium/targets/pipe-loader/Makefile.am index e6772b8..3e8b8aa 100644 --- a/src/gallium/targets/pipe-loader/Makefile.am +++ b/src/gallium/targets/pipe-loader/Makefile.am @@ -103,6 +103,7 @@ pipe_r600_la_LIBADD = \ $(PIPE_LIBS) \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(LIBDRM_LIBS) \ $(RADEON_LIBS) pipe_r600_la_LDFLAGS = -no-undefined -avoid-version -module @@ -121,6 +122,7 @@ pipe_radeonsi_la_LIBADD = \ $(PIPE_LIBS) \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(LIBDRM_LIBS) \ $(RADEON_LIBS) pipe_radeonsi_la_LDFLAGS = -no-undefined -avoid-version -module diff --git a/src/gallium/targets/vdpau-r600/Makefile.am b/src/gallium/targets/vdpau-r600/Makefile.am index f6b82de..4bc39ed 100644 --- a/src/gallium/targets/vdpau-r600/Makefile.am +++ b/src/gallium/targets/vdpau-r600/Makefile.am @@ -46,6 +46,7 @@ libvdpau_r600_la_LDFLAGS = \ libvdpau_r600_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/vdpau-radeonsi/Makefile.am b/src/gallium/targets/vdpau-radeonsi/Makefile.am index beae309..d79cd51 100644 --- a/src/gallium/targets/vdpau-radeonsi/Makefile.am +++ b/src/gallium/targets/vdpau-radeonsi/Makefile.am @@ -47,6 +47,7 @@ libvdpau_radeonsi_la_LDFLAGS = \ libvdpau_radeonsi_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/state_trackers/vdpau/libvdpautracker.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/xorg-r600/Makefile.am b/src/gallium/targets/xorg-r600/Makefile.am index 1a21655..fc6e56e 100644 --- a/src/gallium/targets/xorg-r600/Makefile.am +++ b/src/gallium/targets/xorg-r600/Makefile.am @@ -47,6 +47,7 @@ r600g_drv_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/state_trackers/xorg/libxorgtracker.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/xorg-radeonsi/Makefile.am b/src/gallium/targets/xorg-radeonsi/Makefile.am index 5ca1056..51d9612 100644 --- a/src/gallium/targets/xorg-radeonsi/Makefile.am +++ b/src/gallium/targets/xorg-radeonsi/Makefile.am @@ -48,6 +48,7 @@ radeonsi_drv_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/state_trackers/xorg/libxorgtracker.la \ $(top_builddir)/src/gallium/drivers/radeonsi/libradeonsi.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/galahad/libgalahad.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ diff --git a/src/gallium/targets/xvmc-r600/Makefile.am b/src/gallium/targets/xvmc-r600/Makefile.am index b337c7e..68d8150 100644 --- a/src/gallium/targets/xvmc-r600/Makefile.am +++ b/src/gallium/targets/xvmc-r600/Makefile.am @@ -46,6 +46,7 @@ libXvMCr600_la_LDFLAGS = \ libXvMCr600_la_LIBADD = \ $(top_builddir)/src/gallium/auxiliary/libgallium.la \ $(top_builddir)/src/gallium/drivers/r600/libr600.la \ + $(top_builddir)/src/gallium/drivers/radeon/libradeon.la \ $(top_builddir)/src/gallium/state_trackers/xvmc/libxvmctracker.la \ $(top_builddir)/src/gallium/winsys/radeon/drm/libradeonwinsys.la \ $(top_builddir)/src/gallium/drivers/trace/libtrace.la \ -- 1.8.1.4