[Mesa-dev] [PATCH 5/9] glsl: Handle failure of Python codegen scripts.

Ian Romanick idr at freedesktop.org
Mon Jan 11 15:56:17 PST 2016


Yes, please!

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

On 01/11/2016 02:48 PM, Matt Turner wrote:
> If a Python codegen script failed, it would write a zero-byte file,
> which on subsequent invocations of make would trick it into thinking the
> file was appropriately generated.
> ---
>  src/glsl/Makefile.am | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am
> index 95efdb3..ba7af7c 100644
> --- a/src/glsl/Makefile.am
> +++ b/src/glsl/Makefile.am
> @@ -247,23 +247,23 @@ PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
>  
>  nir/nir_builder_opcodes.h: nir/nir_opcodes.py nir/nir_builder_opcodes_h.py
>  	$(MKDIR_GEN)
> -	$(PYTHON_GEN) $(srcdir)/nir/nir_builder_opcodes_h.py > $@
> +	$(PYTHON_GEN) $(srcdir)/nir/nir_builder_opcodes_h.py > $@ || ($(RM) $@; false)
>  
>  nir/nir_constant_expressions.c: nir/nir_opcodes.py nir/nir_constant_expressions.py
>  	$(MKDIR_GEN)
> -	$(PYTHON_GEN) $(srcdir)/nir/nir_constant_expressions.py > $@
> +	$(PYTHON_GEN) $(srcdir)/nir/nir_constant_expressions.py > $@ || ($(RM) $@; false)
>  
>  nir/nir_opcodes.h: nir/nir_opcodes.py nir/nir_opcodes_h.py
>  	$(MKDIR_GEN)
> -	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_h.py > $@
> +	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_h.py > $@ || ($(RM) $@; false)
>  
>  nir/nir_opcodes.c: nir/nir_opcodes.py nir/nir_opcodes_c.py
>  	$(MKDIR_GEN)
> -	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_c.py > $@
> +	$(PYTHON_GEN) $(srcdir)/nir/nir_opcodes_c.py > $@ || ($(RM) $@; false)
>  
>  nir/nir_opt_algebraic.c: nir/nir_opt_algebraic.py nir/nir_algebraic.py
>  	$(MKDIR_GEN)
> -	$(PYTHON_GEN) $(srcdir)/nir/nir_opt_algebraic.py > $@
> +	$(PYTHON_GEN) $(srcdir)/nir/nir_opt_algebraic.py > $@ || ($(RM) $@; false)
>  
>  nir_tests_control_flow_tests_SOURCES =			\
>  	nir/tests/control_flow_tests.cpp
> 



More information about the mesa-dev mailing list