NAME

Module::Build::Pluggable::XSUtil::Cookbook - Cookbook for XSUtil

DESCRIPTION

This document describes porting from Module::Install::XSUtil

FUNCTIONS

-g Option
use Module::Build::Pluggable (
    'XSUtil',
);

Module::Build::Pluggable::XSUtil supports it.

cc_available
$builder->have_c_compiler()

Module::Build supports to check the system having compiler natively.

c99_available
use Devel::CheckCompiler;

my $c99_available = check_c99();

Use Devel::CheckCompiler.

want_xs()
use Devel::WantXS;
my $want_xs = want_xs();

Devel::WantXS provides this feature.

use_ppport()
use Module::Build::Pluggable (
    'XSUtil' => {
        ppport => 1,
    },
);

Module::Build::Pluggable::XSUtil provides this feature.

use_xshelper()
use Module::Build::Pluggable (
    'XSUtil' => {
        'xshelper' => 1,
    },
);

Module::Build::Pluggable::XSUtil provides this feature.

cc_warnings()
use Module::Build::Pluggable (
    'XSUtil' => {
        cc_warnings => 1,
    },
);

Moule::Build::Pluggable::XSUtil provides this feature.

cc_define(@macros)
Module::Build->new(
    extra_compiler_flags => join(' ', @macros)
);
cc_src_paths(@source_paths)
Module::Build->new(
    c_source => \@source_paths
);
cc_include_paths(@include_paths)
Module::Build->new(
    include_dirs => \@include_paths
);
cc_libs(@libs)
Module::Build->new(
    extra_linker_flags => join(' ', map { "-l$_" } @libs)
);
cc_assert_lib(%args)
use Module::Build::Pluggable (
    'CheckLib' => {
        %args
    },
);

Module::Build::Pluggable::CheckLib provides this feature.

requires_c99()
use Module::Build::Pluggable (
    'XSUtil' => {
        c99 => 1,
    },
);

Module::Build::Pluggable::XSUtil provides this feature.

requires_cplusplus()
use Module::Build::Pluggable (
    'XSUtil' => {
        'c++' => 1,
    },
);

Module::Build::Pluggable::XSUtil provides this feature.