Commit | Line | Data |
bb4e9162 |
1 | package Module::Build::Platform::Unix; |
2 | |
3 | use strict; |
4 | use Module::Build::Base; |
5 | |
6 | use vars qw(@ISA); |
7 | @ISA = qw(Module::Build::Base); |
8 | |
9 | sub make_tarball { |
10 | my $self = shift; |
11 | $self->{args}{tar} ||= ['tar']; |
12 | $self->{args}{gzip} ||= ['gzip']; |
13 | $self->SUPER::make_tarball(@_); |
14 | } |
15 | |
f943a5bf |
16 | sub is_executable { |
17 | # We consider the owner bit to be authoritative on a file, because |
18 | # -x will always return true if the user is root and *any* |
19 | # executable bit is set. The -x test seems to try to answer the |
20 | # question "can I execute this file", but I think we want "is this |
21 | # file executable". |
22 | |
23 | my ($self, $file) = @_; |
24 | return +(stat $file)[2] & 0100; |
25 | } |
26 | |
bb4e9162 |
27 | sub _startperl { "#! " . shift()->perl } |
28 | |
29 | sub _construct { |
30 | my $self = shift()->SUPER::_construct(@_); |
31 | |
32 | # perl 5.8.1-RC[1-3] had some broken %Config entries, and |
33 | # unfortunately Red Hat 9 shipped it like that. Fix 'em up here. |
34 | my $c = $self->{config}; |
35 | for (qw(siteman1 siteman3 vendorman1 vendorman3)) { |
36 | $c->{"install${_}dir"} ||= $c->{"install${_}"}; |
37 | } |
38 | |
39 | return $self; |
40 | } |
41 | |
42 | 1; |
43 | __END__ |
44 | |
45 | |
46 | =head1 NAME |
47 | |
48 | Module::Build::Platform::Unix - Builder class for Unix platforms |
49 | |
50 | =head1 DESCRIPTION |
51 | |
52 | The sole purpose of this module is to inherit from |
53 | C<Module::Build::Base>. Please see the L<Module::Build> for the docs. |
54 | |
55 | =head1 AUTHOR |
56 | |
57 | Ken Williams <ken@cpan.org> |
58 | |
59 | =head1 SEE ALSO |
60 | |
61 | perl(1), Module::Build(3), ExtUtils::MakeMaker(3) |
62 | |
63 | =cut |