]> granicus.if.org Git - git/commitdiff
perl: regenerate perl.mak if perl -V changes
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Wed, 29 Mar 2017 13:57:03 +0000 (13:57 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 29 Mar 2017 16:48:13 +0000 (09:48 -0700)
Change the perl/perl.mak build process so that the file is regenerated
if the output of "perl -V" changes.

Before this change updating e.g. /usr/bin/perl to a new major version
would cause the next "make" command to fail, since perl.mak has
hardcoded paths to perl library paths retrieved from its first run.

Now the logic added in commit ee9be06770 ("perl: detect new files in
MakeMaker builds", 2012-07-27) is extended to regenerate
perl/perl.mak if there's any change to "perl -V".

This will in some cases redundantly trigger perl/perl.mak to be
re-made, e.g. if @INC is modified in ways the build process doesn't
care about through sitecustomize.pl, but the common case is that we
just do the right thing and re-generate perl/perl.mak when needed.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile

index 76267262c155fa907cc6e806f8eb1ce1108e3a6a..af51044fe0290d61c18757485b8933260c2582cf 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1837,6 +1837,7 @@ perl/perl.mak: perl/PM.stamp
 
 perl/PM.stamp: FORCE
        @$(FIND) perl -type f -name '*.pm' | sort >$@+ && \
+       $(PERL_PATH) -V >>$@+ && \
        { cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@; } && \
        $(RM) $@+