in reply to Adding CPAN Modules to Active State Perl

As long as we're asking about Active State Perl and the CPAN . . .

I've had Active Perl for about three months, and I've use the PPM effectively, and when I've had to go get stuff from the CPAN I've just downloaded the .tar.qz, unzipped it to a temp directory, and moved it to the appropriate place. The way we talk about nmake and the like I wonder what's wrong with this method. I suspect that it has something to do with modules that are interfaces to bit of C or the like, but I can't actually find an explanation in the docs, which are somewhat *nix centric and assume you know what make does.

I'd appreciate an explanation.

Cheers,
Erik

Replies are listed 'Best First'.
Re: Re: Adding CPAN Modules to Active State Perl
by rinceWind (Monsignor) on Feb 27, 2002 at 11:24 UTC
    It depends on whether the module contains any C code. If this is the case, the glue between perl and C is usually XS (though SWIG is also available). An output of these tools is the file makefile.pl.

    When you run this perl code, it uses ExtUtils::MakeMaker to produce a makefile (= make script) for the platform on which you are running. This file (called MAKEFILE on Win32) contains dependency rules to build the software (nmake), test it (nmake test) and install it (nmake install).

    On CPAN, all modules are packaged up to use makefile.pl, hence the installation instructions are nearly always the same, saving you having to grok the readme file every time.

    You don't need to know the syntax of a makefile to use it, but this is useful when the build breaks - usually because the author has made some assumptions about file path syntax (Grrr :-{).

    In terms of getting a make tool that works, nmake is your best bet, as described by Ovid