From: Vincent Pit Date: Mon, 21 Dec 2015 15:39:15 +0000 (+0100) Subject: Protect against d_cplusplus perls X-Git-Tag: v0.12~3 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=c8e0ea7d370e0a09da57acc6ffb139e2d9f010ac;p=perl%2Fmodules%2Fre-engine-Plugin.git Protect against d_cplusplus perls It's only a matter of time before someone uses this in the wild. --- diff --git a/Makefile.PL b/Makefile.PL index 53397f9..f82c8e5 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -4,6 +4,30 @@ use strict; use warnings; use ExtUtils::MakeMaker; +use Config; + +if ($Config{d_cplusplus}) { + print STDERR <<'FAILPLUSPLUS'; +Configuration aborted: C++ compilers are not supported + + Your perl has been built with a C++ compiler, which is then handed to + XS extensions as if it were a proper C compiler. This extension is + written in C, and naturally only supports C compilers, so it cannot be + built with your perl. + + Note that building perl with a C++ compiler is only supposed to be done + by core developers in order to check that the perl headers can be + included from C++ code. Its use in the wild is not supported by the + perl5 porters. If your vendor has built its perl binary with a C++ + compiler, please consider reporting this issue to them. + + This text will be displayed 10 seconds, and then the configuration + script will exit. +FAILPLUSPLUS + sleep 10; + exit 0; +} + my @DEFINES; # Fork emulation got "fixed" in 5.10.1