OSDN Git Service

r600g: Don't build llvm_wrapper.cpp when we aren't using LLVM
authorTom Stellard <thomas.stellard@amd.com>
Fri, 25 Jan 2013 15:01:47 +0000 (15:01 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Fri, 25 Jan 2013 22:05:00 +0000 (22:05 +0000)
We were using the NEED_RADEON_GALLIUM conditional to decide whether or not
to build llvm_wrapper.cpp, which is required for using the LLVM backend.
llvm_wrapper.cpp needs to be linked against the LLVM IPO libary
and this library is only added to LLVM_LIBS if either opencl or the
r600-llvm-compiler is enabled.

The NEED_RADEON_GALLIUM conditional is set to true when enabling the
radeonsi driver, so if the radeonsi and r600 drivers are enabled without
also enabling opencl or r600-llvm-compiler, llvm_wrapper.cpp will be
built, but the IPO library won't be added to LLVM_LIBS.  This was
causing unresolved symbol errors when buiding with this configuration.

https://bugs.freedesktop.org/show_bug.cgi?id=59831

Tested-by: Alex Deucher <alexander.deucher@amd.com>
src/gallium/drivers/r600/Makefile.am

index 995261b..6de7e0f 100644 (file)
@@ -13,7 +13,8 @@ AM_CFLAGS = \
 libr600_la_SOURCES = \
        $(C_SOURCES)
 
-if NEED_RADEON_GALLIUM
+if USE_R600_LLVM_COMPILER
+if HAVE_GALLIUM_COMPUTE
 
 libr600_la_SOURCES += \
        $(LLVM_C_SOURCES) \
@@ -28,6 +29,7 @@ AM_CFLAGS += \
 AM_CXXFLAGS= \
        $(LLVM_CXXFLAGS)
 endif
+endif
 
 if USE_R600_LLVM_COMPILER
 AM_CFLAGS += \