Alien-Judy
view release on metacpan or search on metacpan
inc/My/Judy/Builder.pm view on Meta::CPAN
'..'
)
);
}
my $html3 = $self->install_destination('libhtml');
my $html;
if ( $html3 ) {
$html =
Cwd::abs_path(
File::Spec->catdir(
$html3,
'..'
)
);
}
my %args = (
sysconfdir => $arch,
sharedstatedir => $arch,
localstatedir => $arch,
libdir => $arch,
includedir => $arch,
oldincludedir => $arch,
datarootdir => $arch,
datadir => $arch,
$bin ? ( bindir => $bin,
sbindir => $bin,
libexecdir => $bin )
: (),
$man ? ( mandir => $man )
: (),
$html ? ( htmldir => $html )
: (),
);
return
join ' ',
map { "--$_=$args{$_}" }
sort
keys %args;
}
sub ACTION_code {
my ($self) = @_;
if ( $self->notes('build_judy') =~ /^y/i ) {
$self->SUPER::ACTION_code();
_chdir_to_judy();
$self->_run(MAKE())
or do {
warn "building Judy failed";
_chdir_back();
return 0;
};
# "Install" a minor copy of Judy.h and libJudy.so to my own
# blib/arch/Alien/Judy because it looks like some CPAN smokers
# don't install dependencies but just adjust @INC to point
# into depended-on- blib/* directories.
my $alien = File::Spec->catdir( $Orig_CWD, 'blib', 'arch', 'Alien', 'Judy' );
File::Path::make_path( $alien );
my @files = (
'src/Judy.h',
glob('src/obj/.libs/*'),
);
for my $file ( @files ) {
File::Copy::copy( $file, $alien );
}
_chdir_back();
return 1;
}
else {
return $self->SUPER::ACTION_code();
}
}
sub ACTION_test {
my ($self) = @_;
if ( $self->notes('build_judy') =~ /^y/i ) {
$self->SUPER::ACTION_test();
_chdir_to_judy();
$self->_run( MAKE(), 'check' )
or do {
warn "checking Judy failed ";
_chdir_back();
return 0;
};
_chdir_back();
return 1;
}
else {
return $self->SUPER::ACTION_test();
}
}
sub ACTION_install {
my ($self) = @_;
if ( $self->notes('build_judy') =~ /^y/i ) {
$self->SUPER::ACTION_install();
_chdir_to_judy();
$self->_run( MAKE(), 'install' )
or do {
warn "installing Judy failed ";
_chdir_back();
return 0;
};
( run in 3.133 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )