[Mesa-dev] [PATCH v2] swr: automake: don't ship LLVM version specific generated sources

Emil Velikov emil.l.velikov at gmail.com
Mon Jun 13 23:46:00 UTC 2016


From: Emil Velikov <emil.velikov at collabora.com>

Otherwise things will fail to build, if the builder is using another
version of LLVM.

v2: annotate all the dependencies of builder_gen.h

Cc: "12.0" <mesa-stable at lists.freedesktop.org>
Cc: Tim Rowley <timothy.o.rowley at intel.com>
Cc: Chuck Atkins <chuck.atkins at kitware.com>
Reported-by: Chuck Atkins <chuck.atkins at kitware.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
Unlike v1, this ones seems to work. Please give it a try and let me know
how it fares on your end.

Thanks
Emil
---
 src/gallium/drivers/swr/Makefile.am | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
index 8151e4a..63dadbf 100644
--- a/src/gallium/drivers/swr/Makefile.am
+++ b/src/gallium/drivers/swr/Makefile.am
@@ -52,8 +52,6 @@ BUILT_SOURCES = \
 	rasterizer/scripts/gen_knobs.cpp \
 	rasterizer/scripts/gen_knobs.h \
 	rasterizer/jitter/state_llvm.h \
-	rasterizer/jitter/builder_gen.h \
-	rasterizer/jitter/builder_gen.cpp \
 	rasterizer/jitter/builder_x86.h \
 	rasterizer/jitter/builder_x86.cpp
 
@@ -122,6 +120,23 @@ COMMON_LDFLAGS = \
 	$(NO_UNDEFINED) \
 	$(LLVM_LDFLAGS)
 
+
+# XXX: As we cannot use BUILT_SOURCES (the files will end up in the dist
+# tarball) just annotate the dependency directly.
+# As the single direct user of builder_gen.h is a header (builder.h) trace all
+# the translusive users (one that use the latter header).
+#
+# Note: one should really clean the includes a bit, according to Tim there's
+# only 4 users of the builder_gen methods/API.
+rasterizer/jitter/blend_jit.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/builder.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/builder_gen.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/builder_x86.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/builder_misc.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/fetch_jit.cpp: rasterizer/jitter/builder_gen.h
+rasterizer/jitter/streamout_jit.cpp: rasterizer/jitter/builder_gen.h
+swr_shader.cpp: rasterizer/jitter/builder_gen.h
+
 lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
 
 libswrAVX_la_CXXFLAGS = \
@@ -132,6 +147,15 @@ libswrAVX_la_CXXFLAGS = \
 libswrAVX_la_SOURCES = \
 	$(COMMON_SOURCES)
 
+# XXX: Don't ship these generated sources for now, since they are specific
+# to the LLVM version they are generated from. Thus a release tarball
+# containing the said files, generated against eg. LLVM 3.8 will fail to build
+# on systems with other versions of LLVM eg. 3.7 or 3.6.
+# Move these back to BUILT_SOURCES once that is resolved.
+nodist_libswrAVX_la_SOURCES = \
+	rasterizer/jitter/builder_gen.h \
+	rasterizer/jitter/builder_gen.cpp
+
 libswrAVX_la_LIBADD = \
 	$(COMMON_LIBADD)
 
@@ -146,6 +170,15 @@ libswrAVX2_la_CXXFLAGS = \
 libswrAVX2_la_SOURCES = \
 	$(COMMON_SOURCES)
 
+# XXX: Don't ship these generated sources for now, since they are specific
+# to the LLVM version they are generated from. Thus a release tarball
+# containing the said files, generated against eg. LLVM 3.8 will fail to build
+# on systems with other versions of LLVM eg. 3.7 or 3.6.
+# Move these back to BUILT_SOURCES once that is resolved.
+nodist_libswrAVX2_la_SOURCES = \
+	rasterizer/jitter/builder_gen.h \
+	rasterizer/jitter/builder_gen.cpp
+
 libswrAVX2_la_LIBADD = \
 	$(COMMON_LIBADD)
 
-- 
2.8.2



More information about the mesa-dev mailing list