On Wednesday, December 03, 2014 11:34:10 AM Emil Velikov wrote:
> On 03/12/14 11:30, Emil Velikov wrote:
> > Hi Iago,
> > 
> > On 01/12/14 11:04, Iago Toral Quiroga wrote:
> >> From: Jason Ekstrand <jason.ekstr...@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.ekstr...@intel.com>
> >> 
> >> v2 by Samuel Iglesias <sigles...@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 <sigles...@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 <sigles...@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 :)
> 
> Completely forgot, please add a couple of mines into the scons build
> while you're here. src/mapi/shared-glapi/SConscript could serve as an
> example.
> 

This is my first time modifying a SConscript file. Looking at what was done for 
format_info.c, I think that the following modification is enough to have 
format_pack.c autogenerated:

format_pack = env.CodeGenerate(
      target = 'main/format_pack.c',
      script = 'main/run_mako.py',
      template = 'main/format_pack.c.mako',
      source = 'main/formats.csv',
      command = python_cmd + ' $SCRIPT ' + ' $TEMPLATE $SOURCE | ' +
                '$INDENT $INDENT_FLAGS > $TARGET'
)

I did a 80-char line wrap (it was not my email client), I suppose this is 
valid in SConscript, right? scons -f SConscript did not complain about it.

If this is right, I will do the same for format_unpack.c

Thanks,

Sam

> -Emil
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to