release-1.10
Last change
on this file since 9bfab40 was
e4b8f93,
checked in by Anders Kaseorg <andersk@mit.edu>, 11 years ago
|
Really support building Perl modules from a separate builddir
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
|
-
Property mode set to
100644
|
File size:
1.2 KB
|
Rev | Line | |
---|
[300b470] | 1 | use warnings; |
---|
| 2 | use strict; |
---|
| 3 | |
---|
| 4 | =head1 NAME |
---|
| 5 | |
---|
| 6 | Module::Install::BarnOwl |
---|
| 7 | |
---|
| 8 | =head1 DESCRIPTION |
---|
| 9 | |
---|
[b8a3e00] | 10 | Module::Install::BarnOwl is a M::I module to help building BarnOwl |
---|
[300b470] | 11 | modules, |
---|
| 12 | |
---|
| 13 | =head1 SYNOPSIS |
---|
| 14 | |
---|
| 15 | use inc::Module::Install; |
---|
| 16 | barnowl_module('Jabber'); |
---|
| 17 | WriteAll; |
---|
| 18 | |
---|
| 19 | This is roughly equivalent to: |
---|
| 20 | |
---|
| 21 | use inc::Module::Install; |
---|
| 22 | |
---|
| 23 | name('BarnOwl-Module-Jabber'); |
---|
| 24 | all_from('lib/BarnOwl/Module/Jabber.pm'); |
---|
| 25 | requires_external_bin('barnowl'); |
---|
| 26 | |
---|
| 27 | WriteAll; |
---|
| 28 | |
---|
| 29 | As well as make rules to generate Jabber.par, and to put some |
---|
[b8a3e00] | 30 | additional BarnOwl-specific information into META.yml |
---|
[300b470] | 31 | |
---|
| 32 | =cut |
---|
| 33 | |
---|
| 34 | package Module::Install::BarnOwl; |
---|
| 35 | |
---|
| 36 | use base qw(Module::Install::Base); |
---|
| 37 | |
---|
| 38 | sub barnowl_module { |
---|
| 39 | my $self = shift; |
---|
| 40 | my $name = ucfirst shift; |
---|
| 41 | my $class = ref $self; |
---|
| 42 | |
---|
[e4b8f93] | 43 | my $srcdir = $ENV{BARNOWL_SRCDIR} || '.'; |
---|
| 44 | |
---|
[300b470] | 45 | $self->name("BarnOwl-Module-$name"); |
---|
[e4b8f93] | 46 | $self->all_from("$srcdir/lib/BarnOwl/Module/$name.pm"); |
---|
| 47 | $self->makemaker_args(PMLIBDIRS => ["$srcdir/lib"], |
---|
| 48 | PMLIBPARENTDIRS => ["$srcdir/lib"]); |
---|
[300b470] | 49 | |
---|
| 50 | $self->postamble(<<"END_MAKEFILE"); |
---|
| 51 | |
---|
| 52 | # --- $class section: |
---|
| 53 | |
---|
[e4b8f93] | 54 | BARNOWL_SRCDIR = $srcdir |
---|
| 55 | export BARNOWL_SRCDIR |
---|
| 56 | |
---|
[925faae] | 57 | $name.par: pm_to_blib |
---|
[3519d06] | 58 | \tcd blib; zip -q ../$name.par -r arch lib |
---|
[300b470] | 59 | |
---|
| 60 | END_MAKEFILE |
---|
| 61 | } |
---|
| 62 | |
---|
| 63 | =head1 SEE ALSO |
---|
| 64 | |
---|
| 65 | L<Module::Install>, L<BarnOwl> |
---|
| 66 | |
---|
| 67 | =cut |
---|
| 68 | |
---|
| 69 | 1; |
---|
Note: See
TracBrowser
for help on using the repository browser.