idlc/Executable_idlc.mk |    7 +++++++
 1 file changed, 7 insertions(+)

New commits:
commit e08cba00beaf29b9953cb4c3f89faca2bc7b42c1
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Wed Sep 4 10:20:38 2019 +0300
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Wed Sep 11 23:46:20 2019 +0200

    Fix missing dependency
    
    Without this, e.g. 'make clean; make CustomTarget_idlc/parser_test' may
    fail on localized Windows, because the library is not built yet.
    
    $ locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_ALL=en_US.UTF-8
    
    (but what is relevant, is that on Windows, osl_getThreadTextEncoding
    returns active codepage, independent on cygwin locale settings; in my
    case, it's Win1251)
    
    Backtrace:
    
        ucrtbased.dll!issue_debug_notification(const wchar_t * const message) 
Line 28
            at 
minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(28)
        ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 
154
            at 
minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(154)
        ucrtbased.dll!abort() Line 61
            at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(61)
        sal3.dll!`anonymous 
namespace'::FullTextEncodingData::FullTextEncodingData() Line 389
            at c:\lo\src\core\sal\textenc\textenc.cxx(389)
        sal3.dll!rtl::Static<`anonymous 
namespace'::FullTextEncodingData,A0xa37698ef::FullTextEncodingDataSingleton>::get()
 Line 395
            at c:\lo\src\core\include\rtl\instance.hxx(395)
        sal3.dll!Impl_getTextEncodingData(unsigned short nEncoding) Line 434
            at c:\lo\src\core\sal\textenc\textenc.cxx(434)
        sal3.dll!rtl_createTextToUnicodeConverter(unsigned short eTextEncoding) 
Line 110
            at c:\lo\src\core2\sal\textenc\textcvt.cxx(110)
        sal3.dll!rtl_string2UString_status(_rtl_uString * * ppThis, const char 
* pStr, long nLen, unsigned short eTextEncoding, unsigned long nCvtFlags, 
unsigned long * pInfo) Line 807
            at c:\lo\src\core\sal\rtl\ustring.cxx(807)
        sal3.dll!rtl_string2UString(_rtl_uString * * ppThis, const char * pStr, 
long nLen, unsigned short eTextEncoding, unsigned long nCvtFlags) Line 887
            at c:\lo\src\core\sal\rtl\ustring.cxx(887)
        idlc.exe!rtl::OUString::OUString(const char * value, long length, 
unsigned short encoding, unsigned long convertFlags) Line 363
            at c:\lo\src\core\include\rtl\ustring.hxx(363)
        idlc.exe!convertToAbsoluteSystemPath(const rtl::OString & fileName) 
Line 62
            at c:\lo\src\core\idlc\source\idlccompile.cxx(62)
        idlc.exe!sal_main_with_args(int argc, char * * argv) Line 86
            at c:\lo\src\core\idlc\source\idlcmain.cxx(86)
        idlc.exe!main(int argc, char * * argv) Line 26
            at c:\lo\src\core\idlc\source\idlcmain.cxx(26)
        idlc.exe!invoke_main() Line 79
            at 
d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79)
        idlc.exe!__scrt_common_main_seh() Line 288
            at 
d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
        idlc.exe!__scrt_common_main() Line 331
            at 
d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
        idlc.exe!mainCRTStartup() Line 17
            at 
d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)
        kernel32.dll!BaseThreadInitThunk()
        ntdll.dll!RtlUserThreadStart()
    
    
    Change-Id: Ida88eca9d477c61870a8fb94aab043f894b16d10
    Reviewed-on: https://gerrit.libreoffice.org/78580
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/idlc/Executable_idlc.mk b/idlc/Executable_idlc.mk
index d5d1af3f9d13..e194e9049c77 100644
--- a/idlc/Executable_idlc.mk
+++ b/idlc/Executable_idlc.mk
@@ -63,4 +63,11 @@ $(eval $(call gb_Executable_add_exception_objects,idlc,\
     idlc/source/astservice \
 ))
 
+# Without this, e.g. 'make clean; make CustomTarget_idlc/parser_test' may fail 
on Windows localized
+# to something other than listed in Impl_getTextEncodingData, because 
osl_getThreadTextEncoding()
+# returns Windows ACP, calling FullTextEncodingData ctor which loads the 
not-yet-built library
+$(call gb_Executable_add_runtime_dependencies,idlc, \
+    $(call gb_Library_get_target,sal_textenc) \
+)
+
 # vim:set noet sw=4 ts=4:
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to