Add new module in MakeMaker 6.43_01
Rafael Garcia-Suarez [Fri, 8 Feb 2008 13:09:27 +0000 (13:09 +0000)]
p4raw-id: //depot/perl@33251

MANIFEST
lib/ExtUtils/MM_Darwin.pm [new file with mode: 0644]

index f664896..be38939 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1784,6 +1784,7 @@ lib/ExtUtils/MM_AIX.pm            MakeMaker methods for AIX
 lib/ExtUtils/MM_Any.pm         MakeMaker methods for Any OS
 lib/ExtUtils/MM_BeOS.pm                MakeMaker methods for BeOS
 lib/ExtUtils/MM_Cygwin.pm      MakeMaker methods for Cygwin
+lib/ExtUtils/MM_Darwin.pm      MakeMaker methods for Darwin
 lib/ExtUtils/MM_DOS.pm         MakeMaker methods for DOS
 lib/ExtUtils/MM_MacOS.pm       MakeMaker methods for MacOS
 lib/ExtUtils/MM_NW5.pm         MakeMaker methods for NetWare
diff --git a/lib/ExtUtils/MM_Darwin.pm b/lib/ExtUtils/MM_Darwin.pm
new file mode 100644 (file)
index 0000000..dd7f251
--- /dev/null
@@ -0,0 +1,45 @@
+package ExtUtils::MM_Darwin;
+
+use strict;
+
+BEGIN {
+    require ExtUtils::MM_Unix;
+    our @ISA = qw( ExtUtils::MM_Unix );
+}
+
+
+=head1 NAME
+
+ExtUtils::MM_Darwin - special behaviors for OS X
+
+=head1 SYNOPSIS
+
+    For internal MakeMaker use only
+
+=head1 DESCRIPTION
+
+See L<ExtUtils::MM_Unix> for L<ExtUtils::MM_Any> for documention on the
+methods overridden here.
+
+=head2 Overriden Methods
+
+=head3 init_dist
+
+Turn off Apple tar's tendency to copy resource forks as "._foo" files.
+
+=cut
+
+sub init_dist {
+    my $self = shift;
+    
+    # Thank you, Apple, for breaking tar and then breaking the work around.
+    # 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE while 10.5 wants
+    # COPYFILE_DISABLE.  I'm not going to push my luck and instead just
+    # set both.
+    $self->{TAR} ||= 
+        'COPY_EXTENDED_ATTRIBUTES_DISABLE=1 COPYFILE_DISABLE=1 tar';
+    
+    $self->SUPER::init_dist(@_);
+}
+
+1;