]> git.vpit.fr Git - perl/modules/re-engine-Plugin.git/blobdiff - Makefile.PL
Protect against d_cplusplus perls
[perl/modules/re-engine-Plugin.git] / Makefile.PL
index 665168cbf5679678d15675cc8c5cd0db8143b3eb..f82c8e507d1bfece6affc034efb0234a3841b38f 100644 (file)
@@ -4,11 +4,35 @@ 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
-if ($^O eq 'MSWin32' && $^V lt v5.10.1) {
- push @DEFINES, '-DREP_FORKSAFE=0';
+if ($^O eq 'MSWin32' && "$]" < 5.010_001) {
+ push @DEFINES, '-DXSH_FORKSAFE=0';
 }
 
 @DEFINES = (DEFINE => join ' ', @DEFINES) if @DEFINES;
@@ -39,16 +63,24 @@ my %META = (
  },
 );
 
+my @AUTHORS = (
+ "\x{C6}var Arnfj\x{F6}r\x{F0} Bjarmason <avar\@cpan.org>",
+ 'Vincent Pit <perl@profvince.com>',
+);
+
+my $AUTHOR = $ExtUtils::MakeMaker::VERSION < 6.58 ? $AUTHORS[0]
+                                                  : \@AUTHORS;
+
 WriteMakefile(
  NAME             => $name,
- AUTHOR           => 'Vincent Pit <perl@profvince.com>',
+ AUTHOR           => $AUTHOR,
  LICENSE          => 'perl',
  ABSTRACT_FROM    => 'Plugin.pod',
  VERSION_FROM     => 'Plugin.pm',
  PL_FILES         => {},
  @DEFINES,
  PREREQ_PM        => \%PREREQ_PM,
- MIN_PERL_VERSION => 5.010,
+ MIN_PERL_VERSION => '5.010',
  META_MERGE       => \%META,
  dist             => {
   PREOP    => 'pod2text -u Plugin.pod > $(DISTVNAME)/README',