Hi Michael On Sat, 2009-03-21 at 19:38 -0700, Michael G Schwern wrote: > Eric Wilhelm wrote: > > # from Michael G Schwern > > # on Saturday 21 March 2009 17:02: > > > >>> Hmm, what if there were a module named 'compiler'? Not sure I want > >>> to play that game through though. > >> Having module wrappers confirming the existence of external utilities > >> and an API/config to where they may be found and how they are run may > >> be the simplest game to play. ExtUtils::CBuilder being one, and > >> possibly the most complicated, example. > > > > So that brings us back to where I started, which is that build_requires: > > ExtUtils::CBuilder is at least a definitive "not pure_perl" indicator. > > > > Except, Inline::C and swig are at least two other possible cases. > > > > So, would pure_perl or some sort of arch_independent flag be warranted? > > Rather than the author declaring whether or not their code is pure Perl, this > is something which can derive from the meta data about external dependencies. > Once we have that info the author's fiat is redundant (and probably
Gasp! > inaccurate). And that information is very useful, so we should have it. Phew! > ExtUtils::CBuilder one part of what will be necessary to make a full external > utility system, an API around the various versions and variants of the tool. > The other part is what Alien:: does: install it. > > What you wind up with is something like External::C which encapsulates both > what ExtUtils::CBuilder does. It won't install without a working C compiler. > If possible, it installs one (possibly too complicated for a C compiler, but > doable for other things). > > It might be overambitious to ask for each External module to provide a unified > API. To begin it would be simple enough to have External::X modules which > simply confirm that X is installed and works. If its a command line utility > it might generate a config file to the install paths. > > Then whether or not a module is pure Perl or whatever can be derived from its > external dependencies and also by recursively examining its dependencies. At what time :-). I was thinking of when I (a human) hit CPAN , I'd like to see a statement as to whether or not a module, and all its dependencies, are pure Perl, for example. So, I was expecting this metadata would be stored somewhere convenient. Of s^Hcourc^Hse, I have no problem with the data being easily generatable, on demand... -- Ron Savage [email protected] http://savage.net.au/index.html
