NAME
Alien::Base::ModuleBuild - A Module::Build subclass for building Alien:: modules and their libraries
SYNOPSIS
In your Build.PL:
use Alien::Base::ModuleBuild;
my $builder = Alien::Base::Module::Build->new(
module_name => 'Alien::MyLibrary',
configure_requires => {
'Alien::Base' => '0.005',
'Module::Build' => '0.28'
},
requires => {
'Alien::Base' => '0.005',
},
alien_name => 'mylibrary', # the pkg-config name if you want
# to use pkg-config to discover
# system version of the mylibrary
alien_repository => {
protocol => 'http',
host => 'myhost.org',
location => '/path/to/tarballs',
pattern => qr{^mylibrary-([0-9\.]+)\.tar\.gz$},
},
# this is the default:
alien_build_commands => [
"%c --prefix=%s", # %c is a platform independent version of ./configure
"make",
],
# this is the default for install:
alien_install_commands => [
"make install",
],
alien_isolate_dynamic => 1,
);
DESCRIPTION
This is a subclass of Module::Build, that with Alien::Base allows for easy creation of Alien distributions. This module is used during the build step of your distribution. When properly configured it will
- use pkg-config to find and use the system version of the library
- download, build and install the library if the system does not provide it
GUIDE TO DOCUMENTATION
The documentation for Module::Build
is broken up into sections:
- General Usage (Module::Build)
-
This is the landing document for Alien::Base::ModuleBuild's parent class. It describes basic usage and background information. Its main purpose is to assist the user who wants to learn how to invoke and control
Module::Build
scripts at the command line.It also lists the extra documentation for its use. Users and authors of Alien:: modules should familiarize themselves with these documents. Module::Build::API is of particular importance to authors.
- Alien-Specific Usage (Alien::Base::ModuleBuild)
-
This is the document you are currently reading.
- Authoring Reference (Alien::Base::Authoring)
-
This document describes the structure and organization of
Alien::Base
based projects, beyond that contained inModule::Build::Authoring
, and the relevant concepts needed by authors who are writing Build.PL scripts for a distribution or controllingAlien::Base::ModuleBuild
processes programmatically.Note that as it contains information both for the build and use phases of Alien::Base projects, it is located in the upper namespace.
- API Reference (Alien::Base::ModuleBuild::API)
-
This is a reference to the
Alien::Base::ModuleBuild
API beyond that contained inModule::Build::API
.
AUTHOR
Joel Berger <joel.a.berger@gmail.com>
SEE ALSO
SOURCE REPOSITORY
http://github.com/Perl5-Alien/Alien-Base
AUTHOR
Joel Berger, <joel.a.berger@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2012-2014 by Joel Berger
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.