#677: Which tools/*/*.pl programs belong in which tools/* directory?
-----------------------+----------------------------------------------------
 Reporter:  jkeenan    |       Owner:  jkeenan 
     Type:  cage       |      Status:  assigned
 Priority:  minor      |   Milestone:          
Component:  configure  |     Version:  1.1.0   
 Severity:  low        |    Keywords:  tools   
     Lang:             |       Patch:          
 Platform:             |  
-----------------------+----------------------------------------------------
Changes (by jkeenan):

 * cc: Coke, allison (added)


Comment:

 Replying to [comment:6 jkeenan]:
 >
 > I think ''tools/build'' should hold programs invoked by ''make''
 > (or, more precisely, ''make all'').

 Prodded by the "close TTs", I took a look at this ticket tonight for the
 first time in many months.

 With regard to the 11 Perl 5 programs currently found in ''tools/build/'':
 7 are clearly invoked in the course of `make all`.  The other 4 are:
 {{{
 tools/build/addopstags.pl
 tools/build/fixup_gen_file.pl
 tools/build/headerizer.pl
 tools/build/ops2c.pl
 }}}
 I have posted to list a question as to whether we can now eliminate
 ''ops2c.pl'' outright.

 ''headerizer.pl'' should move to ''tools/dev/''.  Although there is a
 `make headerizer` target, that target is not a prerequisite for `make
 all`.  It is clearly a Parrot developer's tool used for the purpose of
 getting source code files into the best condition possible.

 ''addopstags.pl'':  I was unfamiliar with this program until tonight.
 It's invoked as part of `make tags-vi`, as indicated by this passage from
 ''config/gen/makefiles/root.in'':
 {{{
 tags-vi: tags.vi.dummy
     $(RM_F) tags
     @ctags@ \
     --links=no --totals \
     -R --exclude=blib --exclude=.svn  \
     --languages=c,perl --langmap=c:+.h,c:+.pmc,c:+.ops \
     -I NOTNULL,NULLOK,ARGIN,ARGMOD,ARGOUT,ARGINOUT,ARGIN_NULLOK,
 ARGOUT_NULLOK,ARGMOD_NULLOK,ARGFREE,ARGFREE_NOTNULL \
     .
     $(PERL) $(BUILD_TOOLS_DIR)/addopstags.pl $(OPS_FILES)
 }}}
 So, it too belongs in ''tools/dev'' rather than ''tools/build''.

 ''fixup_gen_file.pl'':  I was also unfamiliar with this program until
 tonight.  Here is an excerpt from its documentation:
 {{{
 NAME
        tools/build/fixup_gen_file.pl - mark a generated file as generated

 SYNOPSIS
            % perl tools/build/fixup_gen_file.pl <options> <generated_file>
 <dest_file>

 DESCRIPTION
        This script adds special headers and footers to files generated by
        tools outside of Parrot's normal build process.  This is so that
 people
        do not accidentally modify these files.
 }}}
 So, like ''headerizer.pl'', this is a tool which Parrot developers use to
 get files into better shape.  I recommend that it move to ''tools/dev/''
 as well.

 Any disagreements?  (Note: I have not yet examined those programs already
 found in ''tools/dev/''.  But I would appreciate feedback on the 3
 proposed directory shifts mentioned above.

 Thank you very much.

 kid51

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/677#comment:9>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to