[Libreoffice-commits] core.git: 2 commits - idl/source

Michael Stahl mstahl at redhat.com
Wed Apr 24 03:41:03 PDT 2013


 idl/source/prj/database.cxx |   62 ++++++++++++--------------------------------
 1 file changed, 17 insertions(+), 45 deletions(-)

New commits:
commit e2013e86594fe49fa1839ddb85fb3eb09bfe6998
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Apr 24 12:37:14 2013 +0200

    svidl: make dependencies: handle removed include files:
    
    Write dummy targets for included files, so the incremental build does
    not break with "No rule to make target" if the included file is removed.
    
    Change-Id: I23c4406c4d1db9a8a4a7f0ecfec1cfc9ad05028a

diff --git a/idl/source/prj/database.cxx b/idl/source/prj/database.cxx
index c79318b..091fba3 100644
--- a/idl/source/prj/database.cxx
+++ b/idl/source/prj/database.cxx
@@ -844,12 +844,27 @@ struct WriteDep
     }
 };
 
+// write a dummy target for one included file, so the incremental build does
+// not break with "No rule to make target" if the included file is removed
+struct WriteDummy
+{
+    SvFileStream & m_rStream;
+    explicit WriteDummy(SvFileStream & rStream) : m_rStream(rStream) { }
+    void operator() (OUString const& rItem)
+    {
+        m_rStream << OUStringToOString(rItem, RTL_TEXTENCODING_UTF8).getStr();
+        m_rStream << " :\n\n";
+    }
+};
+
 bool SvIdlDataBase::WriteDepFile(
         SvFileStream & rStream, OUString const& rTarget)
 {
     rStream << OUStringToOString(rTarget, RTL_TEXTENCODING_UTF8).getStr();
     rStream << " :";
     ::std::for_each(m_DepFiles.begin(), m_DepFiles.end(), WriteDep(rStream));
+    rStream << "\n\n";
+    ::std::for_each(m_DepFiles.begin(), m_DepFiles.end(), WriteDummy(rStream));
     return rStream.GetError() == SVSTREAM_OK;
 }
 
commit a6ab5fa0e6ae9c8694902977892d7b717766e8af
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Apr 24 12:29:42 2013 +0200

    Revert "svidl: write dependencies with cygwin paths"
    
    This reverts commit a042c2a6ab29011800de55fa382740be56c2d928.
    
    A GNU make that understands native Win32 paths is required now anyway,
    so revert this.
    
    Conflicts:
    	idl/source/prj/database.cxx
    
    Change-Id: I6eb77d4b02728269f8dc484444df0cabc8c29b3e

diff --git a/idl/source/prj/database.cxx b/idl/source/prj/database.cxx
index e0c6fe6..c79318b 100644
--- a/idl/source/prj/database.cxx
+++ b/idl/source/prj/database.cxx
@@ -833,49 +833,6 @@ void SvIdlDataBase::AddDepFile(String const& rFileName)
     m_DepFiles.insert(rFileName);
 }
 
-#ifdef WNT
-static OString
-lcl_ConvertToCygwin(OString const& rString)
-{
-    sal_Int32 i = 0;
-    sal_Int32 const len = rString.getLength();
-    OStringBuffer buf(len + 16);
-    if ((2 <= len) && (':' == rString[1]))
-    {
-        buf.append("/cygdrive/");
-        buf.append(static_cast<sal_Char>(tolower(rString[0])));
-        i = 2;
-    }
-    for (; i < len; ++i)
-    {
-        sal_Char const c(rString[i]);
-        switch (c)
-        {
-            case '\\':
-                buf.append('/');
-            break;
-            case ' ':
-                buf.append("\\ ");
-            break;
-            default:
-                buf.append(c);
-            break;
-        }
-    }
-    return buf.makeStringAndClear();
-}
-#endif
-
-static OString
-lcl_Convert(OUString const& rString)
-{
-    return
-#ifdef WNT
-        lcl_ConvertToCygwin
-#endif
-            (OUStringToOString(rString, RTL_TEXTENCODING_UTF8));
-}
-
 struct WriteDep
 {
     SvFileStream & m_rStream;
@@ -883,14 +840,14 @@ struct WriteDep
     void operator() (OUString const& rItem)
     {
         m_rStream << " \\\n ";
-        m_rStream << lcl_Convert(rItem).getStr();
+        m_rStream << OUStringToOString(rItem, RTL_TEXTENCODING_UTF8).getStr();
     }
 };
 
 bool SvIdlDataBase::WriteDepFile(
         SvFileStream & rStream, OUString const& rTarget)
 {
-    rStream << lcl_Convert(rTarget).getStr();
+    rStream << OUStringToOString(rTarget, RTL_TEXTENCODING_UTF8).getStr();
     rStream << " :";
     ::std::for_each(m_DepFiles.begin(), m_DepFiles.end(), WriteDep(rStream));
     return rStream.GetError() == SVSTREAM_OK;


More information about the Libreoffice-commits mailing list