diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-02-20 16:28:06 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-02-21 10:18:58 +0000 |
commit | 0a99b5a1b7325454fe3d1174d44354888aa22012 (patch) | |
tree | 9edc1d3cca42c07ae4767ad7ca3b150895ac5295 /solenv/gbuild/TargetLocations.mk | |
parent | 0649622956431e0a1955cb80d1175025401ab5e5 (diff) |
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 <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'solenv/gbuild/TargetLocations.mk')
-rw-r--r-- | solenv/gbuild/TargetLocations.mk | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index 78ed59c07835..394b44eae7d4 100644 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -127,6 +127,7 @@ gb_Module_get_uicheck_target = $(WORKDIR)/Module/uicheck/$(1) gb_Module_get_target = $(WORKDIR)/Module/$(1) gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o +gb_CxxClrObject_get_target = $(WORKDIR)/CxxClrObject/$(1).o gb_Pagein_get_target = $(WORKDIR)/Pagein/pagein-$(1) gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1) gb_Package_get_target = $(WORKDIR)/Package/$(1).filelist @@ -313,6 +314,7 @@ $(eval $(call gb_Helper_make_dep_targets,\ CxxObject \ ObjCObject \ ObjCxxObject \ + CxxClrObject \ AsmObject \ GenCObject \ GenCxxObject \ |