#677: Which tools/*/*.pl programs belong in which tools/* directory?
-----------------------+----------------------------------------------------
 Reporter:  jkeenan    |       Owner:       
     Type:  bug        |      Status:  new  
 Priority:  minor      |   Milestone:       
Component:  configure  |     Version:  1.1.0
 Severity:  low        |    Keywords:  tools
     Lang:             |       Patch:       
 Platform:             |  
-----------------------+----------------------------------------------------
 (I posed this question in
 [http://rt.perl.org/rt3/Ticket/Display.html?id=41912 RT #41912] two months
 ago but got no response.  I want to close that ticket because its main
 concerns have been addressed.  So I am re-posing the question here in
 Trac.)

 We have many Perl 5 programs stored in subdirectories of ''tools/''.  Do
 we have a rule as to which programs ought to be under ''tools/build/'',
 which under ''tools/dev'', and which under, say, ''tools/util/''?

 I thought the rule -- or a rule -- went like this: If the program is
 invoked by ''make'', put it under ''tools/build''. (Example:
 ''tools/build/pmc2c.pl''.) If the program is one a Parrot developer uses
 as a one-off aid, put it under ''tools/dev''. (Example:
 ''tools/dev/nopaste.pl''.)

 However, today I noticed that there are quite a few ''tools/dev/''
 programs that make their way into the top-level Makefile:
 {{{
 $ grep -n 'tools/dev' Makefile
 116:RECONFIGURE      := $(PERL) tools/dev/reconfigure.pl
 640:    @$(PERL) tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS $(CC) ""
 $(CFLAGS) -I$(@D) -o $@ -c $<
 645:    @$(PERL) tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS $(CC) ""
 $(CFLAGS) -I$(@D) -o $@ -c $<
 647:#UNLESS(win32)      @$(PERL) tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS
 $(CC) "" $(CFLAGS) -I$(@D) -o $@ -c $<
 866:    @$(PERL) tools/dev/cc_flags.pl $(CUR_DIR)/CFLAGS echo $(CC)
 $(CFLAGS) -I$(@D) -o  xx$(O) -c xx.c
 882:$(PBC_TO_EXE) : tools/dev/pbc_to_exe.pir
 runtime/parrot/library/config.pir $(PARROT)
 883:    $(PARROT) -o pbc_to_exe.pbc tools/dev/pbc_to_exe.pir
 956:    $(PERL) tools/dev/lib_deps.pl object $(O_FILES)
 959:    $(PERL) tools/dev/lib_deps.pl source all_source
 2851:   $(PERL) tools/dev/svnclobber.pl
 2857:   $(PERL) tools/dev/manicheck.pl
 2860:   $(PERL) tools/dev/opsrenumber.pl $(OPS_FILES)
 2863:   $(PERL) tools/dev/pmcrenumber.pl $(SRC_DIR)/pmc/pmc.num
 3183:   $(PERL) tools/dev/install_files.pl \
 3196:   $(PERL) tools/dev/install_dev_files.pl \
 3227:   $(PERL) tools/dev/mk_inno.pl
 }}}
 Of the above, ''tools/dev/cc_flags.pl'' seems to be one which really
 should be in ''tools/build/''.

 And I don't know what rule applies to ''tools/util'':
 {{{
 $ grep -n 'tools/util' Makefile
 886:$(PARROT_CONFIG) : tools/util/parrot-config.pir $(PARROT)
 $(PBC_TO_EXE)
 887:    $(PARROT) -o parrot_config.pbc tools/util/parrot-config.pir
 985:    $(PARROT) -o parrot_config.pbc tools/util/parrot-config.pir
 3292:   perlcritic --profile tools/util/perlcritic.conf $(CRITIC_FILES)
 3296:   perlcritic -1 --profile tools/util/perlcritic-cage.conf
 $(CRITIC_FILES)
 }}}
 For example, why should ''perlcritic-cage.conf'' be under ''tools/util/''
 rather than ''tools/dev/''?

 Thoughts?

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/677>
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