[Libreoffice-commits] core.git: 2 commits - bin/module-deps.pl solenv/gbuild vcl/generic

Michael Meeks michael.meeks at collabora.com
Mon Sep 7 06:41:42 PDT 2015


 bin/module-deps.pl                             |   54 +++++++++++++++++++++----
 solenv/gbuild/extensions/pre_MergedLibsList.mk |   16 ++++++-
 vcl/generic/glyphs/gcach_ftyp.cxx              |    1 
 3 files changed, 59 insertions(+), 12 deletions(-)

New commits:
commit 1502e969f5e79e8c9594f617626e999c971b7ef2
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Fri Sep 4 18:24:08 2015 +0100

    module-deps now distinguishes merged-libs in its output.
    
    Change-Id: Icc3a965e59f5b2d4e23e0e5a4d0400b6b175c9c1
    Reviewed-on: https://gerrit.libreoffice.org/18346
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Meeks <michael.meeks at collabora.com>

diff --git a/bin/module-deps.pl b/bin/module-deps.pl
index 08126d0..8134dff 100755
--- a/bin/module-deps.pl
+++ b/bin/module-deps.pl
@@ -15,6 +15,7 @@ my $to_file;
 my $output_file;
 my $preserve_libs = 0;
 my $toposort = 0;
+my %merged_libs;
 
 sub logit($)
 {
@@ -46,7 +47,11 @@ sub read_deps()
         logit($line);
         print $to $line if defined $to_file;
         chomp ($line);
-        if ($line =~ m/^LibraryDep:\s+(\S+) links against (.*)$/) {
+        if ($line =~ m/^MergeLibContents:\s+(\S+.*)\s*$/) {
+        for my $dep (split / /, $1) {
+        $merged_libs{$dep} = 1 if $dep ne '';
+        }
+        } elsif ($line =~ m/^LibraryDep:\s+(\S+) links against (.*)$/) {
 #        if ($line =~ m/^LibraryDep:\s+(\S+)\s+links against/) {
             $deps{$1} = ' ' if (!defined $deps{$1});
             $deps{$1} = $deps{$1} . ' ' . $2;
@@ -95,7 +100,7 @@ sub clean_tree($)
         my %result;
         $result{type} = $type;
         $result{target} = $target;
-        $result{generation} = 0;
+        $result{merged} = 0;
         my @clean_needs;
         for my $need (@needs) {
             push @clean_needs, clean_name($need);
@@ -215,10 +220,13 @@ sub collapse_lib_to_module($)
     my %digraph;
     my $l2m = create_lib_module_map();
     my %unknown_libs;
-    for my $name (sort keys %{$tree}) {
-        my $result = $tree->{$name};
-        $unknown_libs{$name} = 1 && next if (!grep {/$name/} keys $l2m);
-        $name = $l2m->{$name};
+    for my $lib_name (sort keys %{$tree}) {
+        my $result = $tree->{$lib_name};
+        $unknown_libs{$lib_name} = 1 && next if (!grep {/$lib_name/} keys $l2m);
+
+    # new collapsed name.
+        my $name = $l2m->{$lib_name};
+
         # sal has no dependencies, take care of it
         # otherwise it doesn't have target key
         if (!@{$result->{deps}}) {
@@ -226,6 +234,7 @@ sub collapse_lib_to_module($)
                 my @empty;
                 $digraph{$name}{deps} = \@empty;
                 $digraph{$name}{target} = $result->{target};
+        $digraph{$name}{merged} = $result->{merged};
             }
         }
         for my $dep (@{$result->{deps}}) {
@@ -248,6 +257,7 @@ sub collapse_lib_to_module($)
                 push @deps, $dep;
                 $digraph{$name}{deps} = \@deps;
                 $digraph{$name}{target} = $result->{target};
+        $digraph{$name}{merged} = $result->{merged};
             }
         }
     }
@@ -282,6 +292,17 @@ sub prune_leaves($)
     return optimize_tree($tree);
 }
 
+sub annotate_mergelibs($)
+{
+    my $tree = shift;
+    print STDERR "annotating mergelibs";
+    for my $name (keys %{$tree}) {
+    if (defined $merged_libs{$name}) {
+        $tree->{$name}->{merged} = 1;
+        print STDERR "mark $name as merged\n";
+    }
+    }
+}
 
 sub dump_graphviz($)
 {
@@ -290,11 +311,27 @@ sub dump_graphviz($)
     open($to, ">$output_file") if defined($output_file);
     print $to <<END;
 digraph LibreOffice {
-node [shape="Mrecord", color="#BBBBBB"]
-node  [fontname=Verdana, color="#BBBBBB", fontsize=10, height=0.02, width=0.02]
 edge  [color="#31CEF0", len=0.4]
 edge  [fontname=Arial, fontsize=10, fontcolor="#31CEF0"]
 END
+;
+
+   my @merged_names;
+   my @normal_names;
+   for my $name (sort keys %{$tree}) {
+       if ($tree->{$name}->{merged}) {
+       push @merged_names, $name;
+       } else {
+       push @normal_names, $name;
+       }
+   }
+   print $to "node  [fontname=Verdana, fontsize=10, height=0.02, width=0.02,".
+            'shape=Mrecord,color="#BBBBBB"' .
+            "];" . join(';', @normal_names) . "\n";
+   print $to "node  [fontname=Verdana, fontsize=10, height=0.02, width=0.02,".
+            'shape=box,style=filled,color="#CCCCCC"' .
+            "];" . join(';', @merged_names) . "\n";
+
    for my $name (sort keys %{$tree}) {
        my $result = $tree->{$name};
        logit("minimising deps for $result->{target}\n");
@@ -386,6 +423,7 @@ sub main()
     my $tree = clean_tree($deps);
     filter_targets($tree);
     optimize_tree($tree);
+    annotate_mergelibs($tree);
     if (!$preserve_libs && !defined($ENV{PRESERVE_LIBS})) {
         $tree = collapse_lib_to_module($tree);
     }
diff --git a/solenv/gbuild/extensions/pre_MergedLibsList.mk b/solenv/gbuild/extensions/pre_MergedLibsList.mk
index 1ca047f..b9b8d75 100644
--- a/solenv/gbuild/extensions/pre_MergedLibsList.mk
+++ b/solenv/gbuild/extensions/pre_MergedLibsList.mk
@@ -8,10 +8,8 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-ifneq ($(MERGELIBS),)
-
 # we link all object files from these libraries into one, merged library
-gb_MERGEDLIBS := \
+MERGE_LIBRARY_LIST := \
 	avmedia \
 	$(if $(filter $(OS),ANDROID),,basebmp) \
 	basegfx \
@@ -62,6 +60,18 @@ gb_MERGEDLIBS := \
 	xo \
 	xstor \
 
+
+# allow module-deps.pl to color based on this.
+ifneq ($(ENABLE_PRINT_DEPS),)
+
+$(info MergeLibContents: $(MERGE_LIBRARY_LIST))
+
+endif
+
+ifneq ($(MERGELIBS),)
+
+gb_MERGEDLIBS := $(MERGE_LIBRARY_LIST)
+
 endif
 
 # vim: set noet sw=4 ts=4:
commit 984df756592c4cf2f784fda1d0cbdf8e5c7ef64c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Mon Sep 7 15:40:06 2015 +0200

    clang-analyzer-deadcode.DeadStores
    
    ...ever since its inception with 5624be5a3520a16d57724064e16df3722d728010
    "CWS-TOOLING: integrate CWS graphite01"
    
    Change-Id: Ib530362efe1b52f43a2a25e531cce9326001044d

diff --git a/vcl/generic/glyphs/gcach_ftyp.cxx b/vcl/generic/glyphs/gcach_ftyp.cxx
index 54a7aa6..1d1e1ac 100644
--- a/vcl/generic/glyphs/gcach_ftyp.cxx
+++ b/vcl/generic/glyphs/gcach_ftyp.cxx
@@ -1041,7 +1041,6 @@ bool ServerFont::GetGlyphBitmap1( sal_GlyphId aGlyphId, RawBitmap& rRawBitmap )
 
     if( (cbox.xMax - cbox.xMin) == 0 || (cbox.yMax - cbox.yMin == 0) )
     {
-        nAngle = 0;
         memset(&rRawBitmap, 0, sizeof rRawBitmap);
         FT_Done_Glyph( pGlyphFT );
         return true;


More information about the Libreoffice-commits mailing list