Makefile: add NO_PERL_CPAN_FALLBACKS knob

We include some perl modules which are not part of the core perl install, as a convenience. This allows us to rely on those modules in our perl-based tools and scripts without requiring users to install the modules from CPAN or their operating system packages. Users whose operating system provides these modules and packagers of Git often don't want to ship or use these bundled modules. Allow these users to set NO_PERL_CPAN_FALLBACKS to avoid installing the bundled modules. Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Todd Zullinger committed Mar 3, 2018 at 15:38 UTC 075321c0075b1ef86b98facc88bcaeefeb9584d1
1 file changed +8
Makefile
+8
@@ -296,6 +296,12 @@ all::
296 #
297 # Define NO_PERL if you do not want Perl scripts or libraries at all.
298 #
299 +# Define NO_PERL_CPAN_FALLBACKS if you do not want to install bundled
300 +# copies of CPAN modules that serve as a fallback in case the modules
301 +# are not available on the system. This option is intended for
302 +# distributions that want to use their packaged versions of Perl
303 +# modules, instead of the fallbacks shipped with Git.
304 +#
305 # Define PYTHON_PATH to the path of your Python binary (often /usr/bin/python
306 # but /usr/bin/python2.7 on some platforms).
307 #
@@ -2305,8 +2311,10 @@ LIB_CPAN_GEN := $(patsubst perl/%.pm,perl/build/lib/%.pm,$(LIB_CPAN))
2311
2312 ifndef NO_PERL
2313 all:: $(LIB_PERL_GEN)
2314 +ifndef NO_PERL_CPAN_FALLBACKS
2315 all:: $(LIB_CPAN_GEN)
2316 endif
2317 +endif
2318
2319 perl/build/lib/%.pm: perl/%.pm
2320 $(QUIET_GEN)mkdir -p $(dir $@) && \