From: Emil Velikov <emil.veli...@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-sta...@lists.freedesktop.org> Cc: Tim Rowley <timothy.o.row...@intel.com> Cc: Chuck Atkins <chuck.atk...@kitware.com> Tested-by: Chuck Atkins <chuck.atk...@kitware.com> (v2) Reported-by: Chuck Atkins <chuck.atk...@kitware.com> Signed-off-by: Emil Velikov <emil.veli...@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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev