logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Carp::Datum::MakeMaker - Offer to strip Carp::Datum calls statically

Authors

       Christophe Dehaudt and Raphael Manfredi are the original authors.

       Send bug reports, hints, tips, suggestions to Dave Hoover at <squirrel@cpan.org>.

Description

       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...

Name

       Carp::Datum::MakeMaker - Offer to strip Carp::Datum calls statically

See Also

Carp::Datum::Strip(3), ExtUtils::MakeMaker(3).

perl v5.34.0                                       2022-06-30                              Datum::MakeMaker(3pm)

Synopsis

        # Put this at the top of the Makefile.PL for your module
        use ExtUtils::MakeMaker;       # you may omit this line
        use Carp::Datum::MakeMaker;

See Also