On 08/20/2010 07:52 PM, James E Keenan wrote:
Since the #parrot theme of the week is to close Trac tickets, I took a fresh look at http://trac.parrot.org/parrot/ticket/677.Here is a list of tools/build/*.pl files found in the output of 'make': [li11-226:parrot] 531 $ grep -n 'tools/build' ~/learn/parrot/make.output/20100820.48587.parrot.txt | cut -d ' ' -f2 | sort | uniq -c 117 tools/build/c2str.pl 31 tools/build/h2inc.pl 2 tools/build/parrot_config_c.pl 1 tools/build/pbcversion_h.pl 192 tools/build/pmc2c.pl 1 tools/build/vtable_extend.pl 1 tools/build/vtable_h.pl (7 total) Now here is a list of all the Perl 5 programs in tools/build/: [li11-226:parrot] 532 $ ls tools/build/*.pl |cat tools/build/addopstags.pl tools/build/c2str.pl tools/build/fixup_gen_file.pl tools/build/h2inc.pl tools/build/headerizer.pl tools/build/ops2c.pl tools/build/parrot_config_c.pl tools/build/pbcversion_h.pl tools/build/pmc2c.pl tools/build/vtable_extend.pl tools/build/vtable_h.pl (11 total) 11 - 7 = 4 ... and one of the 4 *not* invoked by 'make all' really stood out for me: tools/build/ops2c.pl. (That's because I was involved in a major refactoring of this in early 2007. But since that time it's been replaced by (I think) an NQP thingee.) Peering in to tools/build/ops2c.pl, I see: # $Id: ops2c.pl 46938 2010-05-24 03:29:22Z bacek $ ... warn 'ops2c.pl is deprecated. Use ops2c$(EXE) instead'; # Ignore "core" shift @ARGV; my $ops2c = File::Spec->catfile($PConfig{bindir}, 'ops2c'); exec $ops2c, @ARGV; And this was the last commit of this file to trunk. I didn't see any mention of this deprecation in DEPRECATED.pod (but, then again, such notice might have already passed its removal date). In any event, is there any reason why 'ops2c.pl' cannot be removed outright at this time? (From my earlier work on this file, I don't recall its ever being invoked outside the context of 'make'.) bacek, can you comment? Thank you very much. kid51
bacek and I (but mostly him) did indeed replace ops2c.pl's guts with an nqp fakecutable. ops2c.pl was kept around so we could avoid a deprecation notice. Apparently we forgot to add a deprecation notice to remove the script. Rakudo and Partcl have both switched to the fakecutable and I'm not aware of any other users with dynops, but removing the script would strictly require a deprecation cycle. Since it's just a wrapper script now with little potential to mess anything else up, there's no harm in going through the proper deprecation cycle.
Christoph _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
