there's a number of scripts and utilities in the tools/ subtree which
i suspect have gone unused for some time now. this ticket is a
placeholder to track efforts on surveying and fixing the files under
tools/.
~jerry
Here is some *non-definitive, non-exhaustive* data concerning the tools/build/*.pl scripts
that may be useful in this effort.
1. Invocations by 'make':
94 tools/build/c2str.pl
4 tools/build/dynpmc.pl
1 tools/build/fingerprint_c.pl
2 tools/build/jit2c.pl
1 tools/build/nativecall.pl
12 tools/build/ops2c.pl
1 tools/build/ops2pm.pl
2 tools/build/parrot_config_c.pl
179 tools/build/pmc2c.pl
1 tools/build/revision_c.pl
1 tools/build/vtable_extend.pl
tools/build/vtable_h.pl has not been invoked by make since Nov 11 2006. However, it may
be invoked elsewhere. See config/gen/parrot_include.pm (54); lib/Parrot/Docs/Section/
Tools.pm (51); lib/Parrot/Vtable.pm (16, 419).
2. Quite a few of the tools/build/*.pl scripts are called by Parrot::Docs::Sections::Tools.
Personally, I don't think providing a Perl script as an argument to a Perl method call is a "best
practice." So I view these instances as ripe for refactoring.
lib/Parrot/Docs/Section/Tools.pm:49: $self->new_item( '', 'tools/build/nativecall.pl' ),
lib/Parrot/Docs/Section/Tools.pm:50: $self->new_item( '', 'tools/build/jit2c.pl' ),
lib/Parrot/Docs/Section/Tools.pm:51: $self->new_item( '', 'tools/build/vtable_h.pl' ),
lib/Parrot/Docs/Section/Tools.pm:52: $self->new_item( '', 'tools/build/
vtable_extend.pl' ),
lib/Parrot/Docs/Section/Tools.pm:56: $self->new_item( '', 'tools/build/pbc2c.pl' ),
lib/Parrot/Docs/Section/Tools.pm:82: $self->new_item( '', 'tools/build/
fingerprint_c.pl' ),
lib/Parrot/Docs/Section/Tools.pm:85: $self->new_item( '', 'tools/build/
parrot_config_c.pl' ),
lib/Parrot/Docs/Section/Tools.pm:87: $self->new_item( '', 'tools/build/
revision_c.pl' ),
lib/Parrot/Docs/Section/Tools.pm:104: $self->new_item( '', 'tools/build/
list_unjitted.pl' ),
I haven't yet looked at scripts in other directories such as tools/dev/.
kid51
Here's a bit of information about tools/dev/*.pl: last revision for each script
[parrot] 520 $ svn status -v tools/dev/*.pl | tr -s ' ' | sort -t ' ' +7 -12 | cut -d ' ' -f 3,5
16172 tools/dev/check_source_standards.pl
16172 tools/dev/lib_deps.pl
16243 tools/dev/gen_manifest_skip.pl
16243 tools/dev/install_files.pl
16243 tools/dev/mk_inno.pl
16243 tools/dev/mk_manifests.pl
16243 tools/dev/nm.pl
16243 tools/dev/parrot_api.pl
16243 tools/dev/rebuild_miniparrot.pl
16243 tools/dev/symlink.pl
16663 tools/dev/pbc_header.pl
16687 tools/dev/extract_file_descriptions.pl
16741 tools/dev/manicheck.pl
16741 tools/dev/parrot_coverage.pl
16741 tools/dev/parrotbench.pl
16741 tools/dev/run_indent.pl
17087 tools/dev/gen_class.pl
17580 tools/dev/cc_flags.pl
17580 tools/dev/gen_charset_tables.pl
18146 tools/dev/mk_manifest_and_skip.pl
18146 tools/dev/ops_not_tested.pl
18308 tools/dev/as2c.pl
>
> Here's a bit of information about tools/dev/*.pl: last revision for
> each script
>
Here are the results of the same search run today:
svn status -v tools/dev/*.pl | tr -s ' ' | sort -t ' ' -k 7 -k 12 | cut
-d ' ' -f 3,5
18810 tools/dev/lib_deps.pl
18810 tools/dev/rebuild_miniparrot.pl
19262 tools/dev/parrot_api.pl
19264 tools/dev/mk_rpm_manifests.pl
21225 tools/dev/gen_charset_tables.pl
21451 tools/dev/as2c.pl
21451 tools/dev/nm.pl
21451 tools/dev/ops_not_tested.pl
21451 tools/dev/reconfigure.pl
22480 tools/dev/manicheck.pl
22485 tools/dev/parrotbench.pl
22887 tools/dev/parrot_coverage.pl
24274 tools/dev/cc_flags.pl
24755 tools/dev/nopaste.pl
25885 tools/dev/svnclobber.pl
26387 tools/dev/pbc_header.pl
26553 tools/dev/gen_class.pl
26553 tools/dev/vtablize.pl
26724 tools/dev/pbc_to_exe_gen.pl
26748 tools/dev/symlink.pl
26792 tools/dev/list_unjitted.pl
27206 tools/dev/mk_inno.pl
27427 tools/dev/install_files.pl
28020 tools/dev/search-ops.pl
28055 tools/dev/mk_manifest_and_skip.pl
28137 tools/dev/mk_language_shell.pl
28155 tools/dev/pmctree.pl
So, at the very least, all these programs have received some attention
since April 2007 -- even if that attention is application of coding
standards, etc.
Can anyone identify any of these programs which is definitely no longer
needed?
$ svn status -v tools/dev/* | tr -s ' ' | sort -t ' ' -k 7 -k 12 | cut
-d ' ' -f3,5
11501 tools/dev/mk_native_pbc
11501 tools/dev/testyamd
17087 tools/dev/parrot_8.supp
17087 tools/dev/src-t.sh
17087 tools/dev/vms-patch
18810 tools/dev/lib_deps.pl
18810 tools/dev/rebuild_miniparrot.pl
19262 tools/dev/parrot_api.pl
19264 tools/dev/mk_rpm_manifests.pl
21225 tools/dev/gen_charset_tables.pl
21451 tools/dev/as2c.pl
21451 tools/dev/nm.pl
21451 tools/dev/ops_not_tested.pl
22480 tools/dev/manicheck.pl
22485 tools/dev/parrotbench.pl
22887 tools/dev/parrot_coverage.pl
24274 tools/dev/cc_flags.pl
24489 tools/dev/debian_docs.sh
24755 tools/dev/nopaste.pl
25185 tools/dev/parrot.supp
25819 tools/dev/bench_op.pir
25885 tools/dev/svnclobber.pl
26387 tools/dev/pbc_header.pl
26553 tools/dev/gen_class.pl
26553 tools/dev/vtablize.pl
26748 tools/dev/symlink.pl
26792 tools/dev/list_unjitted.pl
27153 tools/dev/ops_renum.mak
27427 tools/dev/install_files.pl
28020 tools/dev/search-ops.pl
28055 tools/dev/mk_manifest_and_skip.pl
28155 tools/dev/pmctree.pl
28657 tools/dev/mk_language_shell.pl
28999 tools/dev/mk_inno.pl
29436 tools/dev/reconfigure.pl
29701 tools/dev/pbc_to_exe_gen.pl
. . .
I tried that, with these results:
$ sh tools/dev/src-t.sh t/src/extend_15
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
-I./include -c t/src/extend_15 t/src/extend_15.c
tools/dev/src-t.sh: line 33: -I./include: No such file or directory
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
Error reading source file parrot-config.
t/src/extend_15 src/parrot_config t/src/extend_15 -L -lparrot
tools/dev/src-t.sh: line 53: t/src/extend_15: No such file or directory
Can anyone diagnose this?
When updating an old working copy, I just happened to notice that
"parrot-config" was deleted since June. So was able to find this:
r28977 | chromatic | 2008-07-02 21:42:27 -0400 (Wed, 02 Jul 2008) | 2 lines
[parrot-config] Turned parrot-config into a fakecutable; this allows programs
to query Parrot's configuration. See RT #32365.
HTH.
-- Bob Rogers
http://www.rgrjr.com/
Well, I have to admit I don't know what a fakecutable would be. In any
event, my main concern right now is to see if someone deems this program
valuable enough to take it over and get it working. Otherwise, per
Jerry's original post in this ticket, it should be deleted.
Thank you very much.
kid51
> Well, I have to admit I don't know what a fakecutable would be. In any
> event, my main concern right now is to see if someone deems this program
> valuable enough to take it over and get it working. Otherwise, per
> Jerry's original post in this ticket, it should be deleted.
A fakecutable is perl6 or pbc_to_exe. It's a C program which contains PBC
inside, then launches it when you run it.
parrot-config used to be a PIR program, but now it's a compiled C program.
We can delete tools/dev/src-t.sh, though; I don't know if anyone's used it in
years.
-- c
1. I've been looking at this ticket on and off for two years. We've
cleared out some programs that clearly were no longer needed. I've
looked at the remaining programs and am somewhat satisfied that, with
exceptions noted below, the remaining programs are still either
essential or are useful to some Parrot developers somewhere. So I'm
going to close this ticket, having transferred some remaining questions
to Trac tickets.
>
> Jerry:
>
> 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/'?
>
>
2. I didn't get any response to this question, so I've transferred it
to https://trac.parrot.org/parrot/ticket/677 in the hope that it will
have greater visibility in Trac.
3. The question I posed about the Valgrind suppression file
'parrot_8.supp' has been transferred to
https://trac.parrot.org/parrot/ticket/678.