Orton, Yves wrote:
But as we start to put this together we run across

Module::Build. In


the past I have always used ExtUtils::MakaMaker. Is there

a preference


(if one were starting from scratch), to using one over the other?


Personally my feeling is that Module::Build isn't mature enough for release
ready code.

The fact that without manual intervention what it produces isnt compatible
with CPAN is IMO a serious argument against using it, and poses serious
questions in my mind about its suitability in 5.10.  Luckily it will be a
long time before 5.10 is released, so Ken has lots of time to get it right.

BTW, it shouldnt be seen that I am critical of Kens efforts, I actually
think his project is quite a good idea and will eventually be an excellent
replacement for older tools. But IMO it is not production worthy code at the
current time.

I dont know the logic behind using Build.pl instead of makefile.pl, but the
fact that it doesnt create the later by defualt (or so I have been told) is
in my eyes a serious mistake that will greatly reduce its overall uptake in
the market.  And for those people releasing code without a Makefile.pl, I
wonder at the point of putting such things on CPAN. (Others such as Randal
Schwartz have said the same thing)

Module::Build has a compatibility feature that does in fact produce a Makefile.PL file for distribution. In addition, you can have both a Build.PL and a MakeMaker Makefile.PL if you want to go that route.


Another serious issue with Module::Build is that for the last ages on Win32
it doesnt. Have a look at the transaction report of trying to install it
(using itself) from CPAN.  It doesnt play nicely with CPAN's prerequisite
system, (a Makefile.pl program would have caused CPAN to autoload these
prerequisites on my system by default) and fails build.

Module::Build has worked on Windows since version 0.16 (it also now works on Cygwin as of 0.21); I ported it. Unfortunately the latest release (0.21) had some Windows bugs that I didn't catch before it was released. Despite this last release, I have found it to be very stable.


There are nearly 200 distinct distributions on CPAN that now use Module::Build. And the number continues to inch upward. M::B is scheduled to appear in perl 5.10 and ultimately to replace MakeMaker, see perldelta. M::B doesn't require a make tool, so on platforms that do not include easy access to make, users can still build

and


install pure perl modules.


I agree that the makeless make is a worthy objective, and Kens efforts are
to be applauded. But IMO currently its a bit of a waste that these modules
use it and are on CPAN. First off this means that they are unavailable to
Win32 users, a group that make up the majority of the Perl user base
(whatever the *nixens think). And for those that havent bothered including
Makefile.pl's and only Build.pl's, well that code wont install cleanly from
the cpan shell.

Anyway,
thats my take on using Module::Build.

Yves


I believe current releases of CPAN(PLUS)? do natively support Build.PL files, but I don't use either of them. (I prefer manual installs).


I'm not arguing; I just wanted to clarify a few points. ;) Module::Build is a long way from being complete, but I think it's further along than you think, and it's catching on relatively fast.

BTW, If you want to see who and what is using Build.PL, I generated a report a while back at <http://sourceforge.net/mailarchive/forum.php?thread_id=3333245&forum_id=10905>

Regards,
Randy.



Reply via email to