Carp::Datum::MakeMaker3pm
Offer to strip carp::datum calls statically
Usage
# Put this at the top of the Makefile.PL for your moduleuse ExtUtils::MakeMaker; # you may omit this lineuse Carp::Datum::MakeMaker;
Overview
The "Carp::Datum::MakeMaker" module supersedes the regular WriteMakefile() routine of "ExtUtils::MakeMaker".
When running the Makefile.PL from a module interactively, the user will be asked whether calls to "Carp::Datum" should be stripped at build time.
By default, or when running non-interactively, most calls to Carp::Datum routines will be removed: the "datum_strip" program will be invoked to filter *.pm files during the build process. This program is a mere wrapper for the datum_strip() routine, defined in "Carp::Datum::Strip".
The only call that will not be stripped is the DTRACE() call. However, it will be dynamically remapped to a "Log::Agent" call. It cannot be statically remapped because of its baroque interface.
At the top of Makefile.PL, insert
use Carp::Datum::MakeMaker;
which will take care of loading "ExtUtils::MakeMaker". Note that it makes sense to refer to this module, since "Carp::Datum" is being used internally, and therefore the user will not be able to install the module if they do not have "Carp::Datum" already installed.
If you wish to be nicer about "Carp::Datum" not being installed, you can say instead:
use ExtUtils::MakeMaker;eval "use Carp::Datum::MakeMaker;";WriteMakefile('NAME' => "Your::module::name",'PREREQ_PM' => {'Carp::Datum' => '0.100',},);
It will allow them to run the Makefile.PL, and yet be reminded about the missing "Carp::Datum" module. Chances are they won't be able to go much farther though...
Releases
12 releases since Debian 3.0 (Woody); the text changed 6 times.