From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

our %PREREQ_PM;
BEGIN {
%PREREQ_PM= (
'ExtUtils::Depends' => '0.405',
);
# If the prereqs for this script are missing,
# write out a Makefile that tells CPAN to install them
my $use_prereqs_code= join('', map { "use $_ '$PREREQ_PM{$_}'; " } keys %PREREQ_PM).'1;';
print $use_prereqs_code."\n";
unless (eval $use_prereqs_code) {
warn "$@\n";
WriteMakefile(
NAME => 'Tree::RB::XS',
PREREQ_FATAL => 1,
PREREQ_PM => \%PREREQ_PM,
);
exit 1; # not reached
}
}
# Write out the rbtree.h and rbtree.c files
use FindBin;
use lib "$FindBin::RealBin/util";
use RBGen;
RBGen->new(namespace => 'rbtree_')
->write_api("$FindBin::RealBin/rbtree.h")
->write_impl("$FindBin::RealBin/rbtree.c");
my $dep= ExtUtils::Depends->new('Tree::RB::XS');
$dep->add_c('rbtree.c');
$dep->add_xs('TreeRBXS.xs');
$dep->add_pm(map { my $n= $_; $n =~ s/^lib/\$(INST_LIB)/; $_ => $n } <lib/*/*.pm>, <lib/*/*/*.pm>);
$dep->add_typemaps('typemap');