[Module::Build] Re: ExtUtils::MakeMaker or Module::Build
Status: Beta
Brought to you by:
kwilliams
|
From: Randy W. S. <Ra...@Th...> - 2003-11-20 12:25:12
|
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. |