From: Vincent Pit Date: Mon, 21 Dec 2015 14:58:25 +0000 (+0100) Subject: Protect against d_cplusplus perls X-Git-Tag: v0.17~2 X-Git-Url: http://git.vpit.fr/?a=commitdiff_plain;h=048a0f61d8110a79e17aa1792b6ba1ed38d40e35;p=perl%2Fmodules%2Fautovivification.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 51fa2c8..1a7a80b 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 @DEFINES; my %macro;