---
name: "Carp::Datum::MakeMaker"
section: "3pm"
platform: "linux"
package: "libcarp-datum-perl"
version: "1:0.1.3-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Carp::Datum::MakeMaker"
---

# Carp::Datum::MakeMaker(3pm)

Offer to strip Carp::Datum calls statically

## NAME

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

## 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;
```

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

## AUTHORS

Christophe Dehaudt and Raphael Manfredi are the original authors.

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

## SEE ALSO

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