my ($key, $declared_val) = $item =~ /(\w+)\s*(?:=\s*(.*))?/;
$val = defined($declared_val) && length($declared_val) ? $declared_val : 1 + $val;
$seen_define{$key} = $val;
- $const_names{$key}++;
+ $const_names{$key} = { name => $key, macro => 1 };
}
} # while (...)
} # if (!defined $opt_e or $opt_e)
}
}
}
-my @const_names = sort keys %const_names;
+my (@const_specs, @const_names);
+
+for (sort(keys(%const_names))) {
+ my $v = $const_names{$_};
+
+ push(@const_specs, ref($v) ? $v : $_);
+ push(@const_names, $_);
+}
-d $modpmdir || mkpath([$modpmdir], 0, 0775);
open(PM, ">$modpmname") || die "Can't create $ext$modpname/$modpmname: $!\n";
XS_FILE => $xsfallback,
DEFAULT_TYPE => $opt_t,
NAME => $module,
- NAMES => \@const_names,
+ NAMES => \@const_specs,
);
print XS "#include \"$constscfname\"\n";
}
XS_FILE => $constsxsfname,
DEFAULT_TYPE => $opt_t,
NAME => $module,
- NAMES => \@const_names,
+ NAMES => \@const_specs,
);
print PL <<"END";
if (eval {require ExtUtils::Constant; 1}) {