On Tue, 26 Oct 1999, Chris Nandor wrote: > At 17.22 -0500 1999.10.25, terry chay wrote: > > Basically I would like to present my MacPerl as a stand alone > >application with the source code in the documentation. This way > >people wouldn't need to install the MacPerl application in order to > >run it. I am aware of the bloatware issue--the application just > >contains the compiler and will still be dynamically compiled at > >runtime. <snip> > > Get RuntimeBuilder. It is on the http://www.macperl.com/ site and can > probably be found by searching the MacPerl mailing list archives. Agreed. Since I was just working with it today, let me point out a gotcha in RunTimeBuilder: 'use' or 'require' must be at the start of the line, ie the regex in RunTimeBuilder is looking for /^use*/ or /^require*/. That should knock out the first level of problems. I think it could safely be changed to /^\w*use*/ and /^\w*require*/; am I missing an obvious reason why this isn't done? But the second gotcha doesn't seem so simple. RunTimeBuilder doesn't seem to handle copying the shared libraries. It has a "shared libs" folder, but I couldn't seem to get my runtime to find a shlib until I duplicated the exact same folder structure found in MacPerl. Specifically, I needed the Text::CSV_XS shlib, so I had to create (I'm doing this from memory, so I hope I get this right) a "site_perl" folder in the same directory as the runtime, then "MacPPC", "auto", "Text", and "CSV_XS". The CSV_XS shlib went inside the CSV_XS folder. Similarly, I used StandardFile, so I needed a top level "lib" directory (I think that's right), then "MacPPC", "auto", "Mac", and "StandardFile". This was a bit of a pain. I hope these simple tidbits help someone else. Two questions occurred to me. The "missing thing" error msg showed me the runtime's @INC, which included the "shared libs" folder. Why couldn't the runtime find the shared libs when I duplicated the structure underneath "site_perl" and the "lib" folders inside "shared libs"? Might it be related to the fact that "shared libs" was a relative path and the others were absolute paths? I know about @INC, but how does MacPerl know about all those other folders (auto from AutoLoader, I 'spose)? There's probably a pod on this, but the information is probably spread across many pods. Would someone "in the know" be willing to summarize? Second question...could RunTimeBuilder be modified to work with shared libs? How does Perl know that a shared lib is needed? Perhaps RunTimeBuilder could look at the path of an included file and automatically check for the existence of a corresponding MacPPC complement file? (Mac68K under 68K environment. Speaking of which, is there a simple test in MacPerl to know which environment we're working under? Is this an FAQ?) I think I overran my two question mark...think of it as questions 1a,1b,1c, 2a,2b... :) -- MattLangford # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org