[Mesa-dev] [PATCH v2] isl: Replace bash generator with python generator
Emil Velikov
emil.l.velikov at gmail.com
Fri Jun 10 20:16:43 UTC 2016
On 10 June 2016 at 01:31, Dylan Baker <dylan at pnwbakers.com> wrote:
> This replaces the current bash generator with a python based generator
> using mako. It's quite fast and works with both python 2.7 and python
> 3.5, and should work with 3.3+ and maybe even 3.2.
>
> It produces an almost identical file except for a minor layout changes,
> and the addition of a "generated file, do not edit" warning.
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
>
> v2: - Provide the python file with the csvfile and output location as
> arguments (Jason, Emil)
> - Put the mako template in the python file (Jason)
> - Merge Emil's Android.mk changes
> ---
> src/intel/isl/Android.mk | 6 +-
> src/intel/isl/Makefile.am | 13 +-
> src/intel/isl/gen_format_layout.py | 207 +++++++++++++++++++++++++++++++
> src/intel/isl/isl_format_layout_gen.bash | 129 -------------------
> 4 files changed, 218 insertions(+), 137 deletions(-)
> create mode 100644 src/intel/isl/gen_format_layout.py
> delete mode 100755 src/intel/isl/isl_format_layout_gen.bash
>
> diff --git a/src/intel/isl/Android.mk b/src/intel/isl/Android.mk
> index 3134981..ec3c656 100644
> --- a/src/intel/isl/Android.mk
> +++ b/src/intel/isl/Android.mk
> @@ -139,14 +139,14 @@ LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, $(ISL_GENERATED_FILES)
> define bash-gen
> @mkdir -p $(dir $@)
> @echo "Gen Bash: $(PRIVATE_MODULE) <= $(notdir $(@))"
> - $(hide) $(PRIVATE_SCRIPT) < $(PRIVATE_CSV) > $@
> + $(hide) $(PRIVATE_SCRIPT) --csv $(PRIVATE_CSV) --out $(ISL_GENERATED_FILES)
> endef
>
> isl_format_layout_deps := \
> - $(LOCAL_PATH)/isl_format_layout_gen.bash \
> + $(LOCAL_PATH)/gen_format_layout.py \
> $(LOCAL_PATH)/isl_format_layout.csv
>
> -$(intermediates)/isl_format_layout.c: PRIVATE_SCRIPT := bash -c $(LOCAL_PATH)/isl_format_layout_gen.bash
> +$(intermediates)/isl_format_layout.c: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/gen_format_layout.py
> $(intermediates)/isl_format_layout.c: PRIVATE_CSV := $(LOCAL_PATH)/isl_format_layout.csv
> $(intermediates)/isl_format_layout.c: $(isl_format_layout_deps)
> $(call bash-gen)
> diff --git a/src/intel/isl/Makefile.am b/src/intel/isl/Makefile.am
> index 74f863a..8142932 100644
> --- a/src/intel/isl/Makefile.am
> +++ b/src/intel/isl/Makefile.am
> @@ -1,4 +1,4 @@
> -# Copyright 2015 Intel Corporation
> +# Copyright 2015-2016 Intel Corporation
> #
> # Permission is hereby granted, free of charge, to any person obtaining a
> # copy of this software and associated documentation files (the "Software"),
> @@ -66,10 +66,13 @@ libisl_gen9_la_CFLAGS = $(libisl_la_CFLAGS) -DGEN_VERSIONx10=90
>
> BUILT_SOURCES = $(ISL_GENERATED_FILES)
>
> -isl_format_layout.c: isl_format_layout_gen.bash \
> +PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS)
> +
> +isl_format_layout.c: gen_format_layout.py \
> isl_format_layout.csv
> - $(AM_V_GEN)$(srcdir)/isl_format_layout_gen.bash \
> - <$(srcdir)/isl_format_layout.csv >$@
> + $(PYTHON_GEN) $(srcdir)/gen_format_layout.py \
> + --csv $(srcdir)/isl_format_layout.csv \
> + --out $(srcdir)/isl_format_layout.c
I'm thinking that this should be builddir/isl_format_layout.c. Then
again one could/should use $@ in the first place. Both here and in the
Android case.
Regardless of which option you go for builddir/... or $@ the patch is
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
-Emil
More information about the mesa-dev
mailing list