blob: b54b04a619b0aa338cae37ade9350bb52f2edd05 [file] [log] [blame]
Ævar Arnfjörð Bjarmason5e9637c2011-11-18 00:14:42 +01001use strict;
2use warnings;
Petr Baudisb1edc532006-06-24 04:34:29 +02003use ExtUtils::MakeMaker;
Ævar Arnfjörð Bjarmason5e9637c2011-11-18 00:14:42 +01004use Getopt::Long;
5
6# Sanity: die at first unknown option
7Getopt::Long::Configure qw/ pass_through /;
8
9GetOptions("localedir=s" => \my $localedir);
Petr Baudisb1edc532006-06-24 04:34:29 +020010
11sub MY::postamble {
12 return <<'MAKE_FRAG';
13instlibdir:
Petr Baudis18b0fc12006-09-23 20:20:47 +020014 @echo '$(INSTALLSITELIB)'
Petr Baudise2a38712006-07-02 01:48:32 +020015
Brandon Caseyefe47f82009-09-24 13:21:03 -050016ifneq (,$(DESTDIR))
17ifeq (0,$(shell expr '$(MM_VERSION)' '>' 6.10))
18$(error ExtUtils::MakeMaker version "$(MM_VERSION)" is older than 6.11 and so \
19 is likely incompatible with the DESTDIR mechanism. Try setting \
20 NO_PERL_MAKEMAKER=1 instead)
21endif
22endif
23
Petr Baudisb1edc532006-06-24 04:34:29 +020024MAKE_FRAG
25}
26
Jonathan Niederd22e5672012-06-15 13:14:46 -050027# XXX. When editing this list:
28#
29# * Please update perl/Makefile, too.
30# * Don't forget to test with NO_PERL_MAKEMAKER=YesPlease
Ævar Arnfjörð Bjarmason5e9637c2011-11-18 00:14:42 +010031my %pm = (
32 'Git.pm' => '$(INST_LIBDIR)/Git.pm',
33 'Git/I18N.pm' => '$(INST_LIBDIR)/Git/I18N.pm',
Jonathan Nieder68f532f2012-06-09 17:35:35 -050034 'Git/SVN/Memoize/YAML.pm' => '$(INST_LIBDIR)/Git/SVN/Memoize/YAML.pm',
Jonathan Niedera6180322012-05-28 02:03:58 -050035 'Git/SVN/Fetcher.pm' => '$(INST_LIBDIR)/Git/SVN/Fetcher.pm',
Jonathan Nieder8f9facf2012-06-09 17:25:56 -050036 'Git/SVN/Editor.pm' => '$(INST_LIBDIR)/Git/SVN/Editor.pm',
Jonathan Niederc102f4c2012-05-27 19:39:01 -050037 'Git/SVN/Prompt.pm' => '$(INST_LIBDIR)/Git/SVN/Prompt.pm',
Jonathan Nieder9f7ad142012-06-09 17:28:10 -050038 'Git/SVN/Ra.pm' => '$(INST_LIBDIR)/Git/SVN/Ra.pm',
Ævar Arnfjörð Bjarmason5e9637c2011-11-18 00:14:42 +010039);
Petr Baudis5c4082f2006-06-24 04:34:40 +020040
41# We come with our own bundled Error.pm. It's not in the set of default
42# Perl modules so install it if it's not available on the system yet.
Pavel Roskin1d8c9dc2006-06-30 01:09:23 -040043eval { require Error };
Eric Wong4a40cbd2007-04-21 00:55:00 -070044if ($@ || $Error::VERSION < 0.15009) {
Pavel Roskin1d8c9dc2006-06-30 01:09:23 -040045 $pm{'private-Error.pm'} = '$(INST_LIBDIR)/Error.pm';
Petr Baudis5c4082f2006-06-24 04:34:40 +020046}
47
Johannes Schindelin8bef6202007-01-16 22:10:54 +010048# redirect stdout, otherwise the message "Writing perl.mak for Git"
49# disrupts the output for the target 'instlibdir'
50open STDOUT, ">&STDERR";
51
Petr Baudisb1edc532006-06-24 04:34:29 +020052WriteMakefile(
53 NAME => 'Git',
54 VERSION_FROM => 'Git.pm',
Petr Baudis5c4082f2006-06-24 04:34:40 +020055 PM => \%pm,
Ævar Arnfjörð Bjarmason5e9637c2011-11-18 00:14:42 +010056 PM_FILTER => qq[\$(PERL) -pe "s<\\Q++LOCALEDIR++\\E><$localedir>"],
Junio C Hamano2cdf87e2006-12-08 14:07:45 -080057 MAKEFILE => 'perl.mak',
Gerrit Pape28072a52007-12-10 09:31:02 +000058 INSTALLSITEMAN3DIR => '$(SITEPREFIX)/share/man/man3'
Petr Baudisb1edc532006-06-24 04:34:29 +020059);