From: Brandon Casey Date: Thu, 24 Sep 2009 18:21:03 GMT Subject: [PATCH v2] perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR Message-ID: In-Reply-To: <7wQSYSBJPoVtvyGI0lqsDW37w4byCpgpMaHiDKALwW_oJ9nHXddX9OBMnqXGZBVAo2U7Tc1BMxg@cipher.nrlssc.navy.mil> From: Brandon Casey It appears that ExtUtils::MakeMaker versions older than 6.11 do not implement the DESTDIR mechanism. So add a test to the generated perl.mak to detect when DESTDIR is used along with a too old ExtUtils::MakeMaker and abort with a message suggesting the use of NO_PERL_MAKEMAKER. Signed-off-by: Brandon Casey --- This just reverses the logic in the test on $(MM_VERSION) so that the test will also fail if MM_VERSION is unset. Who knows if ancient versions set it. Sorry for the quick v2. -brandon perl/Makefile.PL | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/perl/Makefile.PL b/perl/Makefile.PL index 320253e..0b9deca 100644 --- a/perl/Makefile.PL +++ b/perl/Makefile.PL @@ -5,6 +5,14 @@ sub MY::postamble { 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 } -- 1.6.4.3