[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 17:06:55 UTC 2016


> On Jun 13, 2016, at 8:03 PM, Rowley, Timothy O <timothy.o.rowley at intel.com> wrote:
> 
> 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.

To answer my own question: the reason for builder_x86.cpp being regenerated is because of its dependency on builder_gen.h (through builder.h).

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