Alien::bz2 - Build and make available bz2
version 0.24
Build.PL
use Alien::bz2; use Module::Build; my $alien = Alien::bz2->new; my $build = Module::Build->new( ... extra_compiler_flags => [$alien->cflags], extra_linker_flags => [$alien->libs], ... ); $build->create_build_script;
Makefile.PL
use Alien::bz2; use ExtUtils::MakeMaker; my $alien = Alien::bz2; WriteMakefile( ... CCFLAGS => scalar $alien->cflags, LIBS => [$alien->libs], );
FFI::Platypus
use Alien::bz2; use FFI::Platypus; my $ffi = FFI::Platypus->new(lib => [Alien::bz2->new->dlls]); $ffi->attach( BZ2_bzlibVersion => [] => 'string' );
Note: This class exists only for backwards compatibility only! I recommend that you use Alien::Libbz2 instead!
If you just want to compress or decompress bzip2 data in Perl you probably want one of Compress::Bzip2, Compress::Raw::Bzip2 or IO::Compress::Bzip2.
This distribution installs bz2 so that it can be used by other Perl distributions. If already installed for your operating system, and it can be found, this distribution will use the bz2 that comes with your operating system, otherwise it will download it from the Internet, build and install it.
If you set the environment variable ALIEN_BZ2
to 'share', this distribution will ignore any system bz2 found, and build from source instead. This may be desirable if your operating system comes with a very old version of bz2 and an upgrade path for the system bz2 is not possible.
This distribution also honors the ALIEN_FORCE
environment variable used by Alien::Base. Setting ALIEN_FORCE
has the same effect as setting ALIEN_BZ2
to 'share'.
my $alien = Alien::bz2->new;
Although not necessary, you may create an instance of Alien::bz2.
my $cflags = Alien::bz2->cflags; my @cflags = Alien::bz2->cflags;
Returns the C compiler flags necessary to build against bz2.
Returns flags as a list in list context and combined into a string in scalar context.
my $libs = Alien::bz2->libs; my @libs = Alien::bz2->libs;
Returns the library flags necessary to build against bz2.
Returns flags as a list in list context and combined into a string in scalar context.
my @dlls = Alien::bz2->dlls;
Returns a list of dynamic libraries (usually a list of just one library) that make up bz2. This can be used for FFI::Platypus.
Returns just the first dynamic library found in scalar context.
my $version = Alien::bz2->version;
Returns the version of bz2.
my $type = Alien::bz2->install_type;
Returns the install type, one of either system
or share
.
Graham Ollis <plicease@cpan.org>
This software is copyright (c) 2017 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.