From 0a99b5a1b7325454fe3d1174d44354888aa22012 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Mon, 20 Feb 2017 16:28:06 +0100 Subject: When building with clang-cl on Windows, build CLR code with MSVC ...as clang-cl doesn't support the /clr switch. * In configure.ac, capture the MSCV version (that would be used if CC hadn't been overridden to use clang-cl) into MSVC_CXX. * The logic which flags to pass into gb_CObject__command_pattern is coded into the platform-agnostic LinkTarget.mk, so it's too late to try and filter all relevant flags in com_GCC_class.mk, depending on whether a given .cxx file is a normal one built with the normal $CXX or a special /clr one built with $MSVC_CXX. Thus, a new CxxClrObject class had to be introduced that captures this information early. * When building with clang-cl, the generated config_host/config_*.h files contain values suitable for clang-cl, but not for MSVC. But the .cxx files compiled with MSVC happen to include config_global.h, and would fail. Hack around that problem for now by introducing a hard-coded, minimal solenv/clang-cl/config_global.h that is found first when buliding such a CxxClrObject. Needs cleaning-up properly. Change-Id: Iff8aac51c0b4fa906b14503c692640dda0996d33 Reviewed-on: https://gerrit.libreoffice.org/34509 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- cli_ure/Library_cli_uno.mk | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'cli_ure/Library_cli_uno.mk') diff --git a/cli_ure/Library_cli_uno.mk b/cli_ure/Library_cli_uno.mk index 0629a171ec6c..75eadae723d6 100644 --- a/cli_ure/Library_cli_uno.mk +++ b/cli_ure/Library_cli_uno.mk @@ -9,13 +9,6 @@ $(eval $(call gb_Library_Library,cli_uno)) -$(eval $(call gb_Library_add_cxxflags,cli_uno,\ - -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \ - -EHa \ - -clr \ - -wd4339 \ -)) - $(eval $(call gb_Library_add_ldflags,cli_uno,\ -ignore:4248 \ )) @@ -32,7 +25,7 @@ $(eval $(call gb_Library_use_system_win32_libs,cli_uno,\ msvcmrt \ )) -$(eval $(call gb_Library_add_exception_objects,cli_uno,\ +$(eval $(call gb_Library_add_cxxclrobjects,cli_uno,\ cli_ure/source/uno_bridge/cli_bridge \ cli_ure/source/uno_bridge/cli_data \ cli_ure/source/uno_bridge/cli_environment \ -- cgit