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

Rowley, Timothy O timothy.o.rowley at intel.com
Tue Jun 14 01:03:18 UTC 2016


A clean tree build works with this version, but distcheck fails:

...
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f Makefile
ERROR: files left in build directory after distclean:
./src/gallium/drivers/swr/rasterizer/jitter/builder_gen.cpp
./src/gallium/drivers/swr/rasterizer/jitter/builder_x86.cpp
./src/gallium/drivers/swr/rasterizer/jitter/builder_gen.h
make[1]: *** [distcleancheck] Error 1
make[1]: Leaving directory `/home/torowley/work/mesa-opt/mesa-12.1.0-devel/_build'
make: *** [distcheck] Error 1

Not sure how builder_x86.cpp managed to change its status.

> On Jun 13, 2016, at 6:46 PM, 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
> 
> 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