Makefile: add Perl runtime prefix support
authorDan Jacques <dnj@google.com>
Tue, 10 Apr 2018 15:05:43 +0000 (11:05 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Apr 2018 09:09:56 +0000 (18:09 +0900)
commit07d90eadb50ee687a7313186b654975b0944a74e
treed6bee14117a8c61c5c18220d2ffb5f1d40d871b6
parentf6a0ad4be71a337e2e8787788a4b467204a4c4bb
Makefile: add Perl runtime prefix support

Broaden the RUNTIME_PREFIX flag to configure Git's Perl scripts to
locate the Git installation's Perl support libraries by resolving
against the script's path, rather than hard-coding that path at
build-time. Hard-coding at build time worked on previous
RUNTIME_PREFIX configurations (i.e., Windows) because the Perl
scripts were run within a virtual filesystem whose paths were
consistent regardless of the location of the actual installation.
This will no longer be the case for non-Windows RUNTIME_PREFIX users.

When enabled, RUNTIME_PREFIX now requires Perl's system paths to be
expressed relative to a common installation directory in the Makefile,
and uses that relationship to locate support files based on the known
starting point of the script being executed, much like RUNTIME_PREFIX
does for the Git binary.

This change enables Git's Perl scripts to work when their Git installation
is relocated or moved to another system, even when they are not in a
virtual filesystem environment.

Signed-off-by: Dan Jacques <dnj@google.com>
Thanks-to: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Thanks-to: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
perl/Git/I18N.pm
perl/header_templates/runtime_prefix.template.pl [new file with mode: 0644]