| use strict; | 
 | use warnings; | 
 | use ExtUtils::MakeMaker; | 
 | use Getopt::Long; | 
 | use File::Find; | 
 |  | 
 | # Don't forget to update the perl/Makefile, too. | 
 | # Don't forget to test with NO_PERL_MAKEMAKER=YesPlease | 
 |  | 
 | # Sanity: die at first unknown option | 
 | Getopt::Long::Configure qw/ pass_through /; | 
 |  | 
 | my $localedir = ''; | 
 | GetOptions("localedir=s" => \$localedir); | 
 |  | 
 | sub MY::postamble { | 
 | 	return <<'MAKE_FRAG'; | 
 | instlibdir: | 
 | 	@echo '$(INSTALLSITELIB)' | 
 |  | 
 | ifneq (,$(DESTDIR)) | 
 | ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10)) | 
 | $(error ExtUtils::MakeMaker version "$(MM_VERSION)" is older than 6.11 and so \ | 
 | 	is likely incompatible with the DESTDIR mechanism.  Try setting \ | 
 | 	NO_PERL_MAKEMAKER=1 instead) | 
 | endif | 
 | endif | 
 |  | 
 | MAKE_FRAG | 
 | } | 
 |  | 
 | # Find all the .pm files in "Git/" and Git.pm | 
 | my %pm; | 
 | find sub { | 
 | 	return unless /\.pm$/; | 
 |  | 
 | 	# sometimes File::Find prepends a ./  Strip it. | 
 | 	my $pm_path = $File::Find::name; | 
 | 	$pm_path =~ s{^\./}{}; | 
 |  | 
 | 	$pm{$pm_path} = '$(INST_LIBDIR)/'.$pm_path; | 
 | }, "Git", "Git.pm"; | 
 |  | 
 |  | 
 | # We come with our own bundled Error.pm. It's not in the set of default | 
 | # Perl modules so install it if it's not available on the system yet. | 
 | if ( !eval { require Error } || $Error::VERSION < 0.15009) { | 
 | 	$pm{'private-Error.pm'} = '$(INST_LIBDIR)/Error.pm'; | 
 | } | 
 |  | 
 | # redirect stdout, otherwise the message "Writing perl.mak for Git" | 
 | # disrupts the output for the target 'instlibdir' | 
 | open STDOUT, ">&STDERR"; | 
 |  | 
 | WriteMakefile( | 
 | 	NAME            => 'Git', | 
 | 	VERSION_FROM    => 'Git.pm', | 
 | 	PM		=> \%pm, | 
 | 	PM_FILTER	=> qq[\$(PERL) -pe "s<\\Q++LOCALEDIR++\\E><$localedir>"], | 
 | 	MAKEFILE	=> 'perl.mak', | 
 | 	INSTALLSITEMAN3DIR => '$(SITEPREFIX)/share/man/man3' | 
 | ); |