Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Perl6 - Module::Build

by PodMaster (Abbot)
on May 27, 2005 at 20:30 UTC ( #461225=note: print w/ replies, xml ) Need Help??


in reply to Perl6 - Module::Build

Currently both ExtUtils::MakeMaker and Module::Build complicate the install step (which is just a copy operation) by using some XS modules (Cwd), which means that you can't upgrade those modules on platforms like win32 (can't delete .dll while it's use). I'd like to not see this mistake repeated :)

Another thing I'd like to see is good detection of compilers, headers, external libraries, ... The developer would only specify what his module needs to function (libexpat, version 2) and the user would automatically be prompted if some things are missing (or might be named differently).

A user shouldn't be able to get past the Makefile.PL step if he's missing a C compiler, expat.h, or version 2 of libexpat ...

With regards to tests, a developer need only write something like

test_prompt( "need_socket", "Needs to create sockets to blah.com", "default if no default from config" [ qw[t/sock1. t/sock2.t]] ); test_prompt( "need_server_socket", [qw[t/servsock1. t/servsock2.t]] );
And a user would be prompted if he'd like to run those tests, with a defaults (need_socket, need_server_socket) being provided through a config file.

Also see Module::Install for ideas.

update: Whether to build manpages/htmldocs should also be user configurable

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.


Comment on Re: Perl6 - Module::Build
Download Code
OT: Cwd is indeed pain
by Courage (Parson) on May 28, 2005 at 13:43 UTC
    Now I know I'm not the only one with problems with Cwd.

    While it certainly should be built into perl.dll (speaking of Win32), it is not, and some non-trivial usages of Cwd from Perl built into C makes my program even segfault.
    I therefore trade portability and use Win32::GetCwd which in turn built into perl.dll

    Also, during its execution it constantly checks for $^O, suspecting my script to start on Win32 and then continue working on VMS.

    FWIW Cwd is a perfect example of poorly designed module, however visually it looks sane but implemented insane, yet its task is trivial.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://461225]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-10-02 06:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (49 votes), past polls