Re: [MacPerl-Porters] Status of RuntimeBuilder?
[email protected] (Axel Rose) Thu, 22 Nov 2001 17:23:18 +0100
| Newsgroups | perl.macperl.porters |
|---|---|
| Message-ID | <p04330108b822d0eefb4b@[172.16.172.241]> |
Hello Morbus, Um 10:49 Uhr -0500 22.11.2001, fragtest Du: >Where are you at with it? What's left to be done? attached you'll find the latest version. Keitarou started with an OO scheme, developed cRuntimeBuilder plus Mac::ResFork and made adaptions for MacJPerl. I tried to stay with Michael Ziege's original version. Bart Lateur fixed a few things there. Now I found that both schemes did not resolve dependencies through several hierarchies, like # file1.pl require "file2.pl"; # file2.pl require "file3.pl"; # file3.pl use SomeModule; They work by finding "require" and/or "use" lines, evaluing them and watch the growth of %INC. I found this to be time and resource consuming and hard to grasp. Now I thought I first write a "ModuleFinder" which recursively goes through the files referenced by "use"/"require" lines. This is more or less complete. The conceptual problem with this idea is that it never can be perfect. I'm using a lot of regexp to find a potential runtime module but for obvious reasons cannot parse the full Perl syntax. (a Perl precompiler could solve this issue) Help is needed here to check the regexp and perhaps teach them to check multiline "use" syntax. A good test case btw is CPAN which needs more than 200 modules at runtime. After I have the list of modules now I'm going to use Keitarou's cRuntimeBuilder package which needs some corrections for the planned use. To help I would be happy to get a code review by an experienced Perl programmer, corrections, comments of any kind, test results, cleanups, documentation, etc. I not sure whether many people will make use of the resulting standalone builder and I really wonder if I'm making to much fuzz about it here... Thanks for your understanding, Axel.
%ModuleFinder.pl.011122.sit
(application/applefile, 554 B) - not displayed
ModuleFinder.pl.011122.sit
(application/octet-stream, 12.1 KB) - not displayed