This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add NV_MIX_ENDIAN define.
[perl5.git] / configpm
index a8a8ca1..21bd3ef 100755 (executable)
--- a/configpm
+++ b/configpm
@@ -628,6 +628,24 @@ foreach my $prefix (qw(libs libswanted)) {
     $heavy_txt .= "${prefix}_nolargefiles='$value'\n";
 }
 
+if (open(my $fh, "cflags")) {
+    my $ccwarnflags;
+    my $ccstdflags;
+    while (<$fh>) {
+        if (/^warn="(.+)"$/) {
+            $ccwarnflags = $1;
+        } elsif (/^stdflags="(.+)"$/) {
+            $ccstdflags = $1;
+        }
+    }
+    if (defined $ccwarnflags) {
+      $heavy_txt .= "ccwarnflags='$ccwarnflags'\n";
+    }
+    if (defined $ccstdflags) {
+      $heavy_txt .= "ccstdflags='$ccstdflags'\n";
+    }
+}
+
 $heavy_txt .= "EOVIRTUAL\n";
 
 $heavy_txt .= <<'ENDOFGIT';
@@ -974,6 +992,7 @@ if ($Opts{glossary}) {
 my %seen = ();
 my $text = 0;
 $/ = '';
+my $errors= 0;
 
 sub process {
   if (s/\A(\w*)\s+\(([\w.]+)\):\s*\n(\t?)/=item C<$1>\n\nFrom F<$2>:\n\n/m) {
@@ -998,7 +1017,9 @@ EOF
   }
   elsif (!$text || !/\A\t/) {
     warn "Expected a Configure variable header",
-      ($text ? " or another paragraph of description" : () );
+      ($text ? " or another paragraph of description" : () ),
+      ", instead we got:\n$_";
+    $errors++;
   }
   s/n't/n\00t/g;               # leave can't, won't etc untouched
   s/^\t\s+(.*)/\n$1/gm;                # Indented lines ===> new paragraph
@@ -1035,6 +1056,13 @@ if ($Opts{glossary}) {
     process;
     print CONFIG_POD;
   }
+  if ($errors) {
+    die "Errors encountered while processing $Glossary. ",
+        "Header lines are expected to be of the form:\n",
+        "NAME (CLASS):\n",
+        "Maybe there is a malformed header?\n",
+    ;
+  }
 }
 
 print CONFIG_POD <<'ENDOFTAIL';