You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.6 KiB
62 lines
1.6 KiB
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' |
|
);
|
|
|