Graham Ollis > Alien-Base-0.005 > Alien::Base::ModuleBuild

Download:
Alien-Base-0.005.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.005   Source   Latest Release: Alien-Base-0.005_01

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 in Module::Build::Authoring, and the relevant concepts needed by authors who are writing Build.PL scripts for a distribution or controlling Alien::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 in Module::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.

syntax highlighting: