From: <mr...@mr...> - 2004-12-17 14:20:43
|
# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/12/17 15:20:18+01:00 mr...@fo... = # tc2make: fix auto-inherit # = # tools/tc2make # 2004/12/17 15:20:18+01:00 mr...@fo... +20 -6 # fix auto-inherit # = diff -Nru a/tools/tc2make b/tools/tc2make --- a/tools/tc2make 2004-12-17 15:20:33 +01:00 +++ b/tools/tc2make 2004-12-17 15:20:33 +01:00 @@ -699,10 +699,6 @@ } } = - if(!$ifd and $if =3D~ /(.*)\//){ - $ifd =3D find_if($1); - } - return $ifd; } = @@ -717,12 +713,30 @@ my($ifd, %syms, $inc, @inh); my($ifh, $hh); my(@preinc, @inc, @postinc); + my $if; = return $hints{$int} if exists $hints{$int}; = - $ifd =3D find_if $int or die "Interface $int not found.\n"; + $ifd =3D find_if $int; + + if($ifd){ + $if =3D parse_interface $int, $ifd; + } else { + my $iif =3D $int; + my $iifd; + + while($iif =3D~ /(.*)\//){ + $iif =3D $1; + $iifd =3D find_if($iif) and last; + } + if($iifd){ + my %int =3D (inherit =3D> [$iif]); + $if =3D \%int; + } else { + die "Interface $int not found.\n"; + } + } = - my $if =3D parse_interface $int, $ifd; = %syms =3D %{$$if{'symbols'}} if $$if{'symbols'}; $hints{$int} =3D \%syms; |