our %manifests;
our %packagemap;
-sub read_manifest ($) {
- my ($subdir) = @_;
+sub read_manifest ($$) {
+ my ($subdir, $why) = @_;
my $manifest = "../$subdir/Cargo.toml";
print STDERR "$self: reading $manifest...\n" if $verbose>=4;
if (defined $manifests{$manifest}) {
foreach my $p (keys %{ $nail->{packages} }) {
my $v = $nail->{packages}{$p};
my $subdir = ref($v) ? $v->{subdir} : $v;
- my $gotpackage = read_manifest($subdir) // '<nothing!>';
+ my $gotpackage = read_manifest($subdir, "from [packages]") // '<nothing!>';
if ($gotpackage ne $p) {
print STDERR
"$self: warning: honouring Cargo.nail packages.$subdir=$p even though $subdir contains package $gotpackage!\n";
$packagemap{$p} = $subdir;
}
foreach my $subdir (@{ $nail->{subdirs} }) {
- my $gotpackage = read_manifest($subdir);
+ my $gotpackage = read_manifest($subdir, "from [subdirs]");
if (!defined $gotpackage) {
print STDERR
"$self: warning: ignoring subdir $subdir which has no (suitable) Cargo.toml\n";