[Libreoffice-commits] core.git: solenv/gbuild

Miklos Vajna vmiklos at collabora.co.uk
Wed Jul 26 19:16:51 UTC 2017


 solenv/gbuild/platform/filter-showIncludes.awk |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit e9b9a456221b4b0660f90efa1ee092ea00c2c728
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Jul 26 15:50:09 2017 +0200

    gbuild: strip away unexpected CR char at the end of Windows filenames
    
    As reported at e.g.
    <https://ask.libreoffice.org/en/question/90346/building-libreoffice-in-cygwin-leads-to-infinite-loop/>,
    sometimes MSVC (seen with 2013 on libreoffice-5-2, but there is no
    indication that 2015 on master would be different) emits CR characters
    at the end of filenames, resulting in unnecessary rebuilds at per-module
    builds, and actually to an infinite loop when doing toplevel make.
    
    Given that CR characters are unexpected in any filenames, it should be
    safe to just strip those away unconditionally.
    
    Change-Id: I3d56670b4d930a32489f889085711bfd436de82a
    Reviewed-on: https://gerrit.libreoffice.org/40452
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/solenv/gbuild/platform/filter-showIncludes.awk b/solenv/gbuild/platform/filter-showIncludes.awk
index a05af586aefa..b8a1db052701 100755
--- a/solenv/gbuild/platform/filter-showIncludes.awk
+++ b/solenv/gbuild/platform/filter-showIncludes.awk
@@ -45,6 +45,13 @@ BEGIN {
     if (index($0, showincludes_prefix) == 1) {
         $0 = substr($0, length(showincludes_prefix) + 1)
         sub(/^ */, "")
+
+        # The output from MSVC may contain a carriage return character at the
+        # end of filenames, in which case the translation unit will depend on a
+        # non-existing header, resulting in constant rebuild of all files,
+        # prevent that.
+        sub(/
/, "")
+
         gsub(/\\/, "/")
         gsub(/ /, "\\ ")
         if ($0 ~ whitelist) { # filter out system headers


More information about the Libreoffice-commits mailing list