[Mesa-dev] [PATCH 4/4] swr: automake: don't ship LLVM version specific generated sources
Emil Velikov
emil.l.velikov at gmail.com
Wed Jun 22 12:04:43 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
v3: clean the generated files as needed
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>
Tested-by: Chuck Atkins <chuck.atkins at kitware.com> (v2)
Reported-by: Chuck Atkins <chuck.atkins at kitware.com>
Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
src/gallium/drivers/swr/Makefile.am | 48 +++++++++++++++++++++++++++++++++++--
1 file changed, 46 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am
index d896154..30087be 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,34 @@ 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
+
+CLEANFILES = \
+ rasterizer/jitter/builder_gen.h \
+ rasterizer/jitter/builder_gen.cpp
+
+# XXX: Due to the funky dependencies above, the buildder_x86.cpp file gets
+# generated (copied) into builddir when building from release tarball.
+# Add a temporary workaround to remove it, until the above issue is resolved.
+distclean-local:
+ ( test $(top_srcdir) != $(top_builddir) && \
+ rm $(builddir)/rasterizer/jitter/builder_x86.cpp ) || true
+
lib_LTLIBRARIES = libswrAVX.la libswrAVX2.la
libswrAVX_la_CXXFLAGS = \
@@ -132,6 +158,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 +181,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