[Mesa-dev] [PATCH v2 13/23] mesa: Autogenerate most of format_pack.c
Samuel Iglesias Gonsálvez
siglesias at igalia.com
Wed Dec 3 04:20:40 PST 2014
On Wednesday, December 03, 2014 11:30:12 AM Emil Velikov wrote:
> Hi Iago,
>
> On 01/12/14 11:04, Iago Toral Quiroga wrote:
> > From: Jason Ekstrand <jason.ekstrand at intel.com>
> >
> > We were auto-generating it before. The problem was that the
> > autogeneration
> > tool we were using was called "copy, paste, and edit". Let's use a more
> > sensible solution.
> >
> > Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
> >
> > v2 by Samuel Iglesias <siglesias at igalia.com>
> > - Remove format_pack.c as it is now autogenerated
> > - Add usage of INDENT_FLAGS in Makefile.am
> > - Remove trailing blank line
> >
> > v3 by Samuel Iglesias <siglesias at igalia.com>
> > - Merge format_convert.py into format_parser.py
> >
> > - Adapt pack_*_* function generations
> >
> > - Fix out-of-tree build
> >
> > Signed-off-by: Samuel Iglesias Gonsalvez <siglesias at igalia.com>
> > ---
> >
> > src/mesa/Makefile.am | 14 +
> > src/mesa/Makefile.sources | 2 +-
> > src/mesa/main/format_pack.c | 2982
> > -------------------------------------- src/mesa/main/format_pack.c.mako
> > | 897 ++++++++++++
> > src/mesa/main/format_parser.py | 71 +
> > src/mesa/main/run_mako.py | 7 +
> > 6 files changed, 990 insertions(+), 2983 deletions(-)
> > delete mode 100644 src/mesa/main/format_pack.c
> > create mode 100644 src/mesa/main/format_pack.c.mako
> > create mode 100644 src/mesa/main/run_mako.py
> >
> > diff --git a/src/mesa/Makefile.am b/src/mesa/Makefile.am
> > index 932db4f..849c9da 100644
> > --- a/src/mesa/Makefile.am
> > +++ b/src/mesa/Makefile.am
> > @@ -19,6 +19,8 @@
> >
> > # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> > DEALINGS # IN THE SOFTWARE.
> >
> > +BUILDDIR_ABSOLUTE_PATH = $(PWD)
> > +
>
> You should not need this new variable. Additionally I'm suspecting this
> is the reason between the build hickups you/Jason are seeing.
>
> > SUBDIRS = . main/tests
> >
> > if HAVE_X11_DRIVER
> >
> > @@ -66,6 +68,7 @@ BUILT_SOURCES = \
> >
> > main/get_hash.h \
> >
> > main/format_info.c \
> >
> > $(BUILDDIR)main/git_sha1.h \
> >
> > + $(BUILDDIR)main/format_pack.c \
> >
> > $(BUILDDIR)program/program_parse.tab.c \
> > $(BUILDDIR)program/lex.yy.c
> >
> > CLEANFILES = \
> >
> > @@ -89,6 +92,17 @@ main/format_info.c: main/formats.csv
> > \>
> > $< > $@.tmp; \
> >
> > mv $@.tmp $@;
> >
> > +$(BUILDDIR)main/format_pack.c: main/format_pack.c.mako main/formats.csv \
> > + main/run_mako.py main/format_parser.py
> > + $(AM_V_GEN)set -e; \
> > + cd $(srcdir); \
> > + $(PYTHON2) $(PYTHON_FLAGS) main/run_mako.py \
> > + main/format_pack.c.mako main/formats.csv > \
> > + $(BUILDDIR_ABSOLUTE_PATH)/$@.tmp; \
> > + cd $(BUILDDIR_ABSOLUTE_PATH); \
> > + cat $@.tmp | $(INDENT) $(INDENT_FLAGS) > $@; \
> > + rm $@.tmp;
> > +
>
> Can you prefix the files in the srcdir, and drop the tmp file (pipe
> directly into indent). It will make the above ~1/2 the size and a bit
> easier to follow :)
>
> > main/formats.c: main/format_info.c
> >
> > noinst_LTLIBRARIES = $(ARCH_LIBS)
>
> [...]
>
> > diff --git a/src/mesa/main/run_mako.py b/src/mesa/main/run_mako.py
> > new file mode 100644
> > index 0000000..8d1e945
> > --- /dev/null
> > +++ b/src/mesa/main/run_mako.py
>
> Do we need this file, or we can fold it in format_parser.py ?
>
I prefer to have a separate file because it imports mako and create
the files following the given templates. It is not completely related to
format_parser.py
Sam
> > @@ -0,0 +1,7 @@
> > +#! /usr/bin/env python
>
> Gracious space space between ! and /
>
> Thanks
> -Emil
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141203/345d0208/attachment.sig>
More information about the mesa-dev
mailing list