office-gobmx/idlc/Executable_idlc.mk
Mike Kaganski e08cba00be 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 <sbergman@redhat.com>
2019-09-11 23:46:20 +02:00

73 lines
2 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Executable_Executable,idlc))
$(eval $(call gb_Executable_set_include,idlc,\
-I$(SRCDIR)/idlc/inc \
-I$(SRCDIR)/idlc/source \
$$(INCLUDE) \
))
$(eval $(call gb_Executable_use_externals,idlc,\
boost_headers \
))
$(eval $(call gb_Executable_use_libraries,idlc,\
reg \
$(if $(filter TRUE,$(DISABLE_DYNLOADING)),store) \
sal \
salhelper \
))
$(eval $(call gb_Executable_add_grammars,idlc,\
idlc/source/parser \
))
$(eval $(call gb_Executable_add_scanners,idlc,\
idlc/source/scanner \
))
ifneq (,$(SYSTEM_UCPP))
$(eval $(call gb_Executable_add_defs,idlc,\
-DSYSTEM_UCPP \
-DUCPP=\"file://$(SYSTEM_UCPP)\" \
))
endif
$(eval $(call gb_Executable_add_exception_objects,idlc,\
idlc/source/idlcmain \
idlc/source/idlc \
idlc/source/idlccompile \
idlc/source/idlcproduce \
idlc/source/errorhandler \
idlc/source/options \
idlc/source/fehelper \
idlc/source/astdeclaration \
idlc/source/astscope \
idlc/source/aststack \
idlc/source/astdump \
idlc/source/astinterface \
idlc/source/aststruct \
idlc/source/aststructinstance \
idlc/source/astoperation \
idlc/source/astconstant \
idlc/source/astenum \
idlc/source/astexpression \
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: