NAME
Module::Install-Cookbook - A Cornucopiæ of Module::Install Recipes
DESCRIPTION
It's a lot easier for most of us to cook a meal from a recipe, rather than just throwing things into a pot until something edible forms. So it is with programming as well. Module::Install makes writing Perl module installers as easy as possible. Having a set of easy to understand samples, makes it simpler yet.
This Cookbook is intended to be an ever-growing repository of small yet complete coding examples; each showing how to accomplish a particular task with Module::Install. Each example is followed by a short discussion, explaining in detail the particular features that are being demonstrated.
Guten Appetit!
Appetizers
Replacing ExtUtils::MakeMaker
- Problem
-
As a CPAN author, you are likely to have some ExtUtils::MakeMaker based Makefile.PL already. You want to take advantage of cool features offered by Module::Install extensions, but why fix something that's not broken?
- Solution
-
The fix turns out to be extremely simple. Where you had:
use ExtUtils::MakeMaker; WriteMakefile( NAME => "Foo::Bar" );Now just write:
use inc::Module::Install; WriteMakefile( NAME => "Foo::Bar" );Presto! Your Makefile.PL is now ready to receive all sort of magic extensions; see below for details.
- Problem
-
XXX Build.PL
- Solution
Fast Food
XXX: to be written
The Main Course
- Problem
-
Installing XS extensions from CPAN was difficult. Some platforms do not come with a compiler (Win32, MacOSX...); some headers or libraries may be missing.
- Solution
-
Just use the
par_baseandfetch_parfunctions:# same old Makefile.PL, with a few changes use inc::Module::Install; # was "use ExtUtils::MakeMaker;" WriteMakefile( ... ); # same as the original check_nmake(); # make sure the user have nmake par_base('AUTRIJUS'); # your CPAN ID or a URL fetch_par() unless can_cc(); # use precompiled PAR only if necessaryUsers will not notice anything, except now it works. Of course, you still need to type
make parand upload the precompiled package.
Just Desserts
XXX: to be written
Entertaining Guests
XXX: to be written
Food for Thought
XXX: to be written
SEE ALSO
For generic information, see Module::Install.
AUTHOR
Autrijus Tang <autrijus@autrijus.org>
Structure based on Inline::C-Cookbook by Brian Ingerson <INGY@cpan.org>
COPYRIGHT
Copyright 2003, 2004 by Autrijus Tang <autrijus@autrijus.org>.
Copyright 2002 by Brian Ingerson <INGY@cpan.org>.
This document is free documentation; you can redistribute it and/or modify it under the same terms as Perl itself.