From: Vincent Pit Date: Sat, 4 Nov 2017 15:41:35 +0000 (+0100) Subject: Protect against d_cplusplus perls X-Git-Tag: v0.30~2 X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScope-Upper.git;a=commitdiff_plain;h=bed9ac0713800543385ae073d3c046fb3390190a 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 08560fb..787889a 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -6,6 +6,28 @@ 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 $pl = $Config{perl_patchlevel}; my $desc = $Config{git_describe}; for ($pl, $desc) {