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

Rowley, Timothy O timothy.o.rowley at intel.com
Wed Jun 22 19:44:52 UTC 2016


Couple of minor comments inlined below.

Tested-by: Tim Rowley <timothy.o.rowley at intel.com>

> On Jun 22, 2016, at 7:04 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> 
> 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.

This note can be removed; I was thinking of the final users of the builder class, and forgot about the other files which make up the definition.

> +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

buildder -> builder

> +# 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-stable mailing list
> mesa-stable at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-stable



More information about the mesa-dev mailing list