Ticket #677 (closed cage: fixed)
Which tools/*/*.pl programs belong in which tools/* directory?
Reported by: | jkeenan | Owned by: | jkeenan |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | configure | Version: | 1.1.0 |
Severity: | low | Keywords: | tools |
Cc: | Coke, allison | Language: | |
Patch status: | applied | Platform: |
Description
(I posed this question in 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?