浏览代码

radeon/llvm: Convert to Automake

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
Tom Stellard 13 年前
父节点
当前提交
0dcb9ae0d9

+ 1
- 0
configure.ac 查看文件

@@ -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

+ 12
- 12
src/gallium/drivers/r600/Makefile.am 查看文件

@@ -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

+ 0
- 15
src/gallium/drivers/radeon/Makefile 查看文件

@@ -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))

+ 31
- 0
src/gallium/drivers/radeon/Makefile.am 查看文件

@@ -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)

+ 2
- 2
src/gallium/drivers/radeon/Makefile.sources 查看文件

@@ -1,5 +1,5 @@
CPP_SOURCES := \
CPP_FILES := \
radeon_llvm_emit.cpp

C_SOURCES := \
C_FILES := \
radeon_setup_tgsi_llvm.c

+ 6
- 7
src/gallium/drivers/radeonsi/Makefile.am 查看文件

@@ -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

正在加载...
取消
保存