File Coverage

lib/ExtUtils/MM_Darwin.pm
Criterion Covered Total %
statement 8 19 42.1
branch 0 6 0.0
condition 0 2 0.0
subroutine 3 5 60.0
pod 2 2 100.0
total 13 34 38.2


line stmt bran cond sub pod time code
1             package ExtUtils::MM_Darwin;
2              
3 1     1   9780 use strict;
  1         2  
  1         29  
4 1     1   4 use warnings;
  1         2  
  1         51  
5              
6             BEGIN {
7 1     1   5 require ExtUtils::MM_Unix;
8 1         319 our @ISA = qw( ExtUtils::MM_Unix );
9             }
10              
11             our $VERSION = '7.70';
12             $VERSION =~ tr/_//d;
13              
14              
15             =head1 NAME
16              
17             ExtUtils::MM_Darwin - special behaviors for OS X
18              
19             =head1 SYNOPSIS
20              
21             For internal MakeMaker use only
22              
23             =head1 DESCRIPTION
24              
25             See L<ExtUtils::MM_Unix> or L<ExtUtils::MM_Any> for documentation on the
26             methods overridden here.
27              
28             =head2 Overridden Methods
29              
30             =head3 init_dist
31              
32             Turn off Apple tar's tendency to copy resource forks as "._foo" files.
33              
34             =cut
35              
36             sub init_dist {
37 0     0 1   my $self = shift;
38              
39             # Thank you, Apple, for breaking tar and then breaking the work around.
40             # 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE while 10.5 wants
41             # COPYFILE_DISABLE. I'm not going to push my luck and instead just
42             # set both.
43             $self->{TAR} ||=
44 0   0       'COPY_EXTENDED_ATTRIBUTES_DISABLE=1 COPYFILE_DISABLE=1 tar';
45              
46 0           $self->SUPER::init_dist(@_);
47             }
48              
49             =head3 cflags
50              
51             Over-ride Apple's automatic setting of -Werror
52              
53             =cut
54              
55             sub cflags {
56 0     0 1   my($self,$libperl)=@_;
57 0 0         return $self->{CFLAGS} if $self->{CFLAGS};
58 0 0         return '' unless $self->needs_linking();
59              
60 0           my $base = $self->SUPER::cflags($libperl);
61              
62 0           foreach (split /\n/, $base) {
63 0 0         /^(\S*)\s*=\s*(\S*)$/ and $self->{$1} = $2;
64             };
65 0           $self->{CCFLAGS} .= " -Wno-error=implicit-function-declaration";
66              
67 0           return $self->{CFLAGS} = qq{
68             CCFLAGS = $self->{CCFLAGS}
69             OPTIMIZE = $self->{OPTIMIZE}
70             PERLTYPE = $self->{PERLTYPE}
71             };
72             }
73              
74             1;