On Mar 15, 2007, at 8:54 PM, Adam Kennedy wrote:

Chris Dolan wrote:
M::B does not require make nor a C compiler to install or run, once you have all of its dependencies installed. That means that in theory it can be installed on a Mac that lacks the Developer Tools or on Windows with just Perl, for example.

Again, neither does M:I or EU:MM (at least for the C compiler).

The one difference here is make.

Agreed. My mention of the C compiler was a red herring. Sorry about that. :-) What I really should have pointed out was that M::B can build XS and C modules even without make thanks largely to ExtUtils::CBuilder and ExtUtils::ParseXS. The other point I failed to make was that M::B builds itself without resorting to a Makefile, which I've always found satisfying.

If you want to install modules from a source repository, you need the ability to work with source. I'd be quite (and pleasantly) surprised if the entire dependency chain of a typical catalyst application didn't involve needing a C compiler at some point.

<catalyst_digression>
It's actually not THAT bad. My Catalyst app currently needs Perl 5.8.6+ and the following non-portable/non-PARable dependencies:
  install PAR
  install Params::Validate
  install Date::Calc
  install DateTime
  install Encode      (>= 2.10)
  install Template::Stash::XS
  install DBD::mysql
  install Test::Exception
  install Config::Any
  install HTML::Parser
  install Time::Piece

I know this because I develop on my Mac and deploy on Mac, FreeBSD and Linux via a single .par file. The list above are what I install by hand on each server and omit from the PAR bundle.
</catalyst_digression>

In any case, this isn't an attack on Module::Build, just a suggestion to refer correctly to the deficiencies in other things. The known deficiencies in Module::Install should be plenty to flame about, without resorting to adding more. :)

I certainly did not mean to dismiss M::I. My goal was to reinforce the uniqueness of the M::B approach among the various CPAN toolchain elements. M::I is a clever evolutionary step from EU::MM intermingled with a self-bootstrapping solution to the agony of installing prereqs.

Chris

--
Chris Dolan, Equilibrious LLC, http://equilibrious.net/
Public key: http://chrisdolan.net/public.key
vCard: http://chrisdolan.net/ChrisDolan.vcf



Reply via email to