From 744d0d8f3b03b43de19941595f9bd900c7e4b510 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Fri, 1 Jul 2016 17:17:13 +0100 Subject: [PATCH] swr: automake: don't ship LLVM version specific generated sources 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 v4: comment cleanups (Tim) Cc: "12.0" Tested-by: Tim Rowley Tested-by: Chuck Atkins (v2) Reported-by: Chuck Atkins Signed-off-by: Emil Velikov --- src/gallium/drivers/swr/Makefile.am | 45 +++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/Makefile.am b/src/gallium/drivers/swr/Makefile.am index 210b2035a49..3459af3de96 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,31 @@ 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). +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 builder_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 +155,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 +178,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.30.2