diff options
author | Andrey Ponomarenko <aponomarenko@rosalab.ru> | 2012-06-18 17:50:25 +0400 |
---|---|---|
committer | Andrey Ponomarenko <aponomarenko@rosalab.ru> | 2012-06-18 17:50:25 +0400 |
commit | 35c44fd1428ba96f71ba80f1d45c175a9ab4a197 (patch) | |
tree | a797c2b0f3f8cf4713aa883519e113e5ca1ec0d0 /modules/Internals | |
parent | 5c09ef3aadb39afc16c59258feebbee1e49609d9 (diff) | |
download | abi-compliance-checker-35c44fd1428ba96f71ba80f1d45c175a9ab4a197.tar.gz |
ABI Compliance Checker 1.98.1
Diffstat (limited to 'modules/Internals')
-rw-r--r-- | modules/Internals/SysCheck.pm | 37 | ||||
-rw-r--r-- | modules/Internals/XmlDump.pm | 13 |
2 files changed, 43 insertions, 7 deletions
diff --git a/modules/Internals/SysCheck.pm b/modules/Internals/SysCheck.pm index 5823b57..d5c8ffd 100644 --- a/modules/Internals/SysCheck.pm +++ b/modules/Internals/SysCheck.pm @@ -719,6 +719,7 @@ sub read_sys_descriptor($) my %Tags = ( "headers" => "mf", "skip_headers" => "mf", + "skip_including" => "mf", "skip_libs" => "mf", "include_preamble" => "mf", "non_self_compiled" => "mf", @@ -1384,12 +1385,24 @@ sub dumpSystem($) next; } } + if(my $Skip = $SysInfo->{$LSName}{"skip_including"}) + { # do NOT search for some headers + if(check_list($HRelPath, $Skip)) { + next; + } + } if(my $Skip = $SysCInfo->{"skip_headers"}) { # do NOT search for some headers if(check_list($HRelPath, $Skip)) { next; } } + if(my $Skip = $SysCInfo->{"skip_including"}) + { # do NOT search for some headers + if(check_list($HRelPath, $Skip)) { + next; + } + } if(my $Skip = $SysInfo->{$LSName}{"non_self_compiled"}) { # do NOT search for some headers if(check_list($HRelPath, $Skip)) { @@ -1448,6 +1461,12 @@ sub dumpSystem($) next; } } + if(my $Skip = $SysCInfo->{"skip_including"}) + { # do NOT search for some headers + if(check_list($Path, $Skip)) { + next; + } + } $SysLib_SysHeaders{$Path}{$Path} = 1; } if($CheckHeadersOnly) { @@ -1562,14 +1581,24 @@ sub dumpSystem($) if($SysCInfo->{"skip_headers"}) { @Skip = (@Skip, @{$SysCInfo->{"skip_headers"}}); } + if(@Skip) { + push(@Content, "<skip_headers>\n ".join("\n ", @Skip)."\n</skip_headers>"); + } + my @SkipInc = (); + if($SysInfo->{$LSName}{"skip_including"}) { + @SkipInc = (@SkipInc, @{$SysInfo->{$LSName}{"skip_including"}}); + } + if($SysCInfo->{"skip_including"}) { + @SkipInc = (@SkipInc, @{$SysCInfo->{"skip_including"}}); + } if($SysInfo->{$LSName}{"non_self_compiled"}) { - @Skip = (@Skip, @{$SysInfo->{$LSName}{"non_self_compiled"}}); + @SkipInc = (@SkipInc, @{$SysInfo->{$LSName}{"non_self_compiled"}}); } if($SkipDHeaders{$LSName}) { - @Skip = (@Skip, @{$SkipDHeaders{$LSName}}); + @SkipInc = (@SkipInc, @{$SkipDHeaders{$LSName}}); } - if(@Skip) { - push(@Content, "<skip_headers>\n ".join("\n ", @Skip)."\n</skip_headers>"); + if(@SkipInc) { + push(@Content, "<skip_including>\n ".join("\n ", @SkipInc)."\n</skip_including>"); } if($SysInfo->{$LSName}{"add_include_paths"}) { push(@Content, "<add_include_paths>\n ".join("\n ", @{$SysInfo->{$LSName}{"add_include_paths"}})."\n</add_include_paths>"); diff --git a/modules/Internals/XmlDump.pm b/modules/Internals/XmlDump.pm index 04b16fb..3d243ae 100644 --- a/modules/Internals/XmlDump.pm +++ b/modules/Internals/XmlDump.pm @@ -281,10 +281,17 @@ sub createXmlDump($) $ABI_DUMP .= openTag("symbols"); foreach my $Lib (sort {lc($a) cmp lc($b)} @Libs) { - $ABI_DUMP .= openTag_E("library", "name", $Lib); + $ABI_DUMP .= openTag("library", "name", $Lib); foreach my $Symbol (sort {lc($a) cmp lc($b)} keys(%{$ABI->{"Symbols"}{$Lib}})) { - $ABI_DUMP .= addTag("symbol", $Symbol); + if((my $Size = $ABI->{"Symbols"}{$Lib}{$Symbol})<0) + { # data + $ABI_DUMP .= addTag("symbol", $Symbol, "size", -$Size); + } + else + { # functions + $ABI_DUMP .= addTag("symbol", $Symbol); + } } $ABI_DUMP .= closeTag("library"); } @@ -296,7 +303,7 @@ sub createXmlDump($) $ABI_DUMP .= openTag("dep_symbols"); foreach my $Lib (sort {lc($a) cmp lc($b)} @DepLibs) { - $ABI_DUMP .= openTag_E("library", "name", $Lib); + $ABI_DUMP .= openTag("library", "name", $Lib); foreach my $Symbol (sort {lc($a) cmp lc($b)} keys(%{$ABI->{"DepSymbols"}{$Lib}})) { $ABI_DUMP .= addTag("symbol", $Symbol); |