office-gobmx/cli_ure/Library_cli_cppuhelper_native.mk
Stephan Bergmann 0a99b5a1b7 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>
2017-02-21 10:18:58 +00:00

51 lines
1.3 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/.
#
include $(SRCDIR)/cli_ure/version/version.txt
$(eval $(call gb_Library_Assembly,cli_cppuhelper))
$(eval $(call gb_Library_add_ldflags,cli_cppuhelper,\
-ignore:4248 \
-keyfile:$(SRCDIR)/cli_ure/source/cliuno.snk \
))
$(eval $(call gb_Library_add_ldflags,cli_cppuhelper,\
-delayload:$(call gb_Library_get_filename,cppuhelper) \
-delayload:$(call gb_Library_get_filename,cppu) \
-delayload:$(call gb_Library_get_filename,sal) \
))
$(eval $(call gb_Library_use_internal_bootstrap_api,cli_cppuhelper,\
udkapi \
))
$(eval $(call gb_Library_use_libraries,cli_cppuhelper,\
cppu \
cppuhelper \
sal \
))
$(eval $(call gb_Library_use_system_win32_libs,cli_cppuhelper,\
advapi32 \
delayimp \
mscoree \
msvcmrt \
))
$(eval $(call gb_Library_add_cxxclrobjects,cli_cppuhelper,\
cli_ure/source/native/native_bootstrap \
cli_ure/source/native/path \
))
$(eval $(call gb_Library_add_generated_cxxclrobjects,cli_cppuhelper,\
CustomTarget/cli_ure/source/native/assembly \
))
# vim: set noet sw=4 ts=4: