Alien-Libjio
view release on metacpan or search on metacpan
lib/Alien/Libjio.pm view on Meta::CPAN
package Alien::Libjio;
BEGIN {
$Alien::Libjio::VERSION = '1.004';
}
# ABSTRACT: Utility package to install and locate libjio
use strict;
use warnings;
use Carp ();
sub new {
my ($class, @seed) = @_;
Carp::croak('You must call this as a class method') if ref($class);
my $self = {
installed => 0,
};
bless($self, $class);
$self->_try_pkg_config()
or $self->_try_liblist()
or delete($self->{method});
return $self;
}
sub installed {
my ($self) = @_;
Carp::croak('You must call this method as an object') unless ref($self);
return $self->{installed};
}
sub version {
my ($self) = @_;
Carp::croak('You must call this method as an object') unless ref($self);
return $self->{version};
}
sub ldflags {
my ($self) = @_;
Carp::croak('You must call this method as an object') unless ref($self);
# Return early if called in void context
return unless defined wantarray;
# If calling in array context, dereference and return
return @{ $self->{ldflags} } if wantarray;
return $self->{ldflags};
}
# Glob to create an alias to ldflags
*linker_flags = *ldflags;
sub cflags {
my ($self) = @_;
Carp::croak('You must call this method as an object') unless ref($self);
# Return early if called in void context
return unless defined wantarray;
# If calling in array context, dereference and return
return @{ $self->{cflags} } if wantarray;
return $self->{cflags};
}
*compiler_flags = *cflags;
( run in 1.406 second using v1.01-cache-2.11-cpan-6aa56a78535 )