v2: Johannes Obermayr <johannesobermayr@gmx.de>
Fix some undefined symbols.
v3: Johannes Obermayr <johannesobermayr@gmx.de>
Build it -shared to fix egl_gallium.so on r600/radeonsi builds.
tags/mesa-9.1-rc1
| @@ -2034,6 +2034,7 @@ AC_CONFIG_FILES([configs/current | |||
| src/gallium/drivers/nvc0/Makefile | |||
| src/gallium/drivers/r300/Makefile | |||
| src/gallium/drivers/r600/Makefile | |||
| src/gallium/drivers/radeon/Makefile | |||
| src/gallium/drivers/radeonsi/Makefile | |||
| src/gallium/drivers/rbug/Makefile | |||
| src/gallium/drivers/softpipe/Makefile | |||
| @@ -1,7 +1,7 @@ | |||
| include Makefile.sources | |||
| include $(top_srcdir)/src/gallium/Automake.inc | |||
| noinst_LIBRARIES = libr600.a | |||
| noinst_LTLIBRARIES = libr600.la | |||
| AM_CFLAGS = \ | |||
| -I$(top_srcdir)/src/gallium/drivers \ | |||
| @@ -10,22 +10,20 @@ AM_CFLAGS = \ | |||
| $(RADEON_CFLAGS) \ | |||
| $(VISIBILITY_CFLAGS) | |||
| libr600_a_SOURCES = \ | |||
| libr600_la_SOURCES = \ | |||
| $(C_SOURCES) | |||
| if NEED_RADEON_GALLIUM | |||
| # This is a hack until we can move the backend into the LLVM project. | |||
| # We need to use mklib, because it splits up libradeon.a into object files | |||
| # so that we can link it with the r600 objects. | |||
| libr600_a_AR = $(top_srcdir)/bin/mklib -o r600 -static | |||
| libr600_a_SOURCES += \ | |||
| libr600_la_SOURCES += \ | |||
| $(LLVM_C_SOURCES) \ | |||
| $(LLVM_CXX_SOURCES) | |||
| libr600_a_LIBADD = \ | |||
| $(top_builddir)/src/gallium/drivers/radeon/libradeon.a | |||
| libr600_la_LIBADD = ../radeon/libllvmradeon@VERSION@.la | |||
| libr600_la_LDFLAGS = \ | |||
| $(LLVM_LDFLAGS) \ | |||
| $(shell $(LLVM_CONFIG) --libs asmparser bitreader ipo) | |||
| AM_CFLAGS += \ | |||
| $(LLVM_CFLAGS) \ | |||
| @@ -33,8 +31,6 @@ AM_CFLAGS += \ | |||
| AM_CXXFLAGS= \ | |||
| $(LLVM_CXXFLAGS) | |||
| else | |||
| libr600_a_AR = $(AR) $(ARFLAGS) | |||
| endif | |||
| if USE_R600_LLVM_COMPILER | |||
| @@ -46,3 +42,7 @@ if HAVE_GALLIUM_COMPUTE | |||
| AM_CFLAGS += \ | |||
| -DHAVE_OPENCL | |||
| endif | |||
| #XXX: Delete this when all r600 targets are converted to automake. | |||
| all-local: libr600.la | |||
| ln -f $(builddir)/.libs/libr600.a $(builddir)/libr600.a | |||
| @@ -1,15 +0,0 @@ | |||
| TOP = ../../../.. | |||
| include $(TOP)/configs/current | |||
| include Makefile.sources | |||
| LIBNAME = radeon | |||
| LIBRARY_INCLUDES = -I$(TOP)/include | |||
| CXXFLAGS+= $(LLVM_CXXFLAGS) | |||
| include ../../Makefile.template | |||
| CXXFLAGS := $(filter-out -DDEBUG, $(CXXFLAGS)) | |||
| @@ -0,0 +1,31 @@ | |||
| include Makefile.sources | |||
| include $(top_srcdir)/src/gallium/Automake.inc | |||
| if HAVE_GALLIUM_R600 | |||
| if HAVE_GALLIUM_RADEONSI | |||
| lib_LTLIBRARIES = libllvmradeon@VERSION@.la | |||
| libllvmradeon@VERSION@_la_LDFLAGS = -Wl,--no-undefined -shared -avoid-version \ | |||
| $(LLVM_LDFLAGS) | |||
| else | |||
| noinst_LTLIBRARIES = libllvmradeon@VERSION@.la | |||
| endif | |||
| else | |||
| noinst_LTLIBRARIES = libllvmradeon@VERSION@.la | |||
| endif | |||
| AM_CXXFLAGS = \ | |||
| $(filter-out -DDEBUG, $(LLVM_CXXFLAGS)) \ | |||
| $(DEFINES) | |||
| AM_CFLAGS = \ | |||
| $(GALLIUM_CFLAGS) \ | |||
| $(LLVM_CFLAGS) | |||
| libllvmradeon@VERSION@_la_SOURCES = \ | |||
| $(CPP_FILES) \ | |||
| $(C_FILES) | |||
| libllvmradeon@VERSION@_la_LIBADD = \ | |||
| $(top_builddir)/src/gallium/auxiliary/libgallium.la \ | |||
| $(CLOCK_LIB) \ | |||
| $(LLVM_LIBS) | |||
| @@ -1,5 +1,5 @@ | |||
| CPP_SOURCES := \ | |||
| CPP_FILES := \ | |||
| radeon_llvm_emit.cpp | |||
| C_SOURCES := \ | |||
| C_FILES := \ | |||
| radeon_setup_tgsi_llvm.c | |||
| @@ -23,7 +23,7 @@ | |||
| include Makefile.sources | |||
| include $(top_srcdir)/src/gallium/Automake.inc | |||
| noinst_LIBRARIES = libradeonsi.a | |||
| noinst_LTLIBRARIES = libradeonsi.la | |||
| AM_CPPFLAGS = \ | |||
| -I$(top_srcdir)/src/gallium/drivers/radeon \ | |||
| @@ -32,10 +32,9 @@ AM_CPPFLAGS = \ | |||
| $(GALLIUM_CFLAGS) | |||
| AM_CFLAGS = $(LLVM_CFLAGS) | |||
| # This is a hack until we can move the backend into the LLVM project. | |||
| # We need to use mklib, because it splits up libradeon.a into object files | |||
| # so that we can link it with the radeonsi objects. | |||
| libradeonsi_a_AR = $(top_srcdir)/bin/mklib -o radeonsi -static | |||
| libradeonsi_la_SOURCES = $(C_SOURCES) | |||
| libradeonsi_la_LIBADD = ../radeon/libllvmradeon@VERSION@.la | |||
| libradeonsi_a_SOURCES = $(C_SOURCES) | |||
| libradeonsi_a_LIBADD = ../radeon/libradeon.a | |||
| #XXX: Delete this when all radeonsi targets are converted to automake. | |||
| all-local: libradeonsi.la | |||
| ln -f $(builddir)/.libs/libradeonsi.a $(builddir)/libradeonsi.a | |||