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 |