Module::ConfigureRequires, version 0.02 (beta)
A CPAN distribution's META.yml can contain a configure_requires entry,
that lists modules needed for Makefile.PL or Build.PL to run.
Tools such as CPAN.pm and CPANPLUS automatically read this file, and
everything just works, *if* you have the latest version.
The problem is that perl 5.10.1 and earlier do not ship with a suffic-
iently recent version of CPAN.pm, and even the one that comes with
5.12.x has problems.
This module attempts to solve this problem by using a different
approach: The Makefile (or Build script) can be made to re-run
Makefile.PL (or Build.PL), if it was generated without the necessary
modules, and then re-run the make command.
The Makefile.PL script will, of course, have to be able to generate
at least a dummy Makefile if the configuration prerequisites are not
present, in order for this to work. It must also list the configura-
tion prerequisites along with the build- or run-time prerequisites.
So, this is how it would work under an old CPAN shell with
this setup:
1. User types ‘install Your::Module’ at the CPAN shell.
2. CPAN.pm downloads and unpacks Your::Module.
3. CPAN.pm runs Makefile.PL.
4. CPAN.pm installs the modules that Makefile.PL claims it needs,
including Some::ConfigurePrereq.
5. CPAN.pm runs make.
6. The Makefile runs Makefile.PL, and then re-runs make.
7. CPAN.pm proceeds with the tests and installation.
See the POD documentation in lib/Module/ConfigureRequires.pod (or
use perldoc or man after installation) for more information.
INSTALLATION
The easiest way to install this module is to use the CPAN module or
the cpan script:
[sudo] perl -MCPAN -e "install Module::ConfigureRequires"
[sudo] cpan Module::ConfigureRequires
Or you can use the following:
perl Makefile.PL
make
make test
[sudo] make install
PREREQUISITES
This module requires perl 5 or higher.
DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc Module::ConfigureRequires
Or try using man (it’s faster, in my experience):
man Module::ConfigureRequires
AUTHOR & COPYLEFT
Copyright © 2010 Father Chrysostomos
This program is free software; you may redistribute it, modify it, or
both, under the same terms as perl.