diff options
-rw-r--r-- | config_host.mk.in | 3 | ||||
-rw-r--r-- | configure.ac | 18 | ||||
-rw-r--r-- | external/Module_external.mk | 1 | ||||
-rw-r--r-- | external/Package_msvc_dlls_debug.mk | 16 |
4 files changed, 38 insertions, 0 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index a0f4675739dc..4256fa7a03e9 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -354,6 +354,9 @@ export MSPUB_CFLAGS=$(gb_SPACE)@MSPUB_CFLAGS@ export MSPUB_LIBS=$(gb_SPACE)@MSPUB_LIBS@ export MSVC_DLLS=@MSVC_DLLS@ export MSVC_DLL_PATH=@MSVC_DLL_PATH@ +export MSVC_DEBUG_DLLS=@MSVC_DEBUG_DLLS@ +export MSVC_DEBUG_DLL_PATH=@MSVC_DEBUG_DLL_PATH@ +export MSVC_USE_DEBUG_RUNTIME=@MSVC_USE_DEBUG_RUNTIME@ export MSVC80_DLLS=@MSVC80_DLLS@ export MSVC80_DLL_PATH=@MSVC80_DLL_PATH@ export MWAW_CFLAGS=$(gb_SPACE)@MWAW_CFLAGS@ diff --git a/configure.ac b/configure.ac index 10478393c563..37f200f018fc 100644 --- a/configure.ac +++ b/configure.ac @@ -3217,6 +3217,9 @@ dnl =================================================================== AC_MSG_CHECKING([whether to build with additional debug utilities]) if test -n "$enable_dbgutil" -a "$enable_dbgutil" != "no"; then ENABLE_DBGUTIL="TRUE" + # this is an extra var so it can have different default on different MSVC + # versions (in case there are version specific problems with it) + MSVC_USE_DEBUG_RUNTIME="" PROEXT="" PRODUCT="" @@ -3249,12 +3252,14 @@ if test -n "$enable_dbgutil" -a "$enable_dbgutil" != "no"; then fi else ENABLE_DBGUTIL="" + MSVC_USE_DEBUG_RUNTIME="" # PRODUCT is old concept, still used by build.pl . PRODUCT="full" PROEXT=".pro" AC_MSG_RESULT([no]) fi AC_SUBST(ENABLE_DBGUTIL) +AC_SUBST(MSVC_USE_DEBUG_RUNTIME) AC_SUBST(PRODUCT) AC_SUBST(PROEXT) @@ -4848,9 +4853,12 @@ find_msvc_dlls() fi msvcdllpath="$VC_PRODUCT_DIR/redist/$vsarch/Microsoft.VC${VCVER}.CRT" + MSVC_DEBUG_DLL_PATH="$VC_PRODUCT_DIR/redist/Debug_NonRedist/$vsarch/Microsoft.VC${VCVER}.DebugCRT" msvcdlls="msvcp${VCVER}.dll msvcr${VCVER}.dll" + MSVC_DEBUG_DLLS="msvcp${VCVER}d.dll msvcr${VCVER}d.dll" if test "$VCVER" = "90"; then msvcdlls="$msvcdlls msvcm90.dll Microsoft.VC90.CRT.manifest" + MSVC_DEBUG_DLLS="$MSVC_DEBUG_DLLS msvcm90d.dll Microsoft.VC90.DebugCRT.manifest" fi for dll in $msvcdlls; do @@ -4858,6 +4866,14 @@ find_msvc_dlls() AC_MSG_ERROR([can not find $dll in $msvcdllpath]) fi done + if test -n "$MSVC_USE_DEBUG_RUNTIME"; then + for dll in $MSVC_DEBUG_DLLS; do + if ! test -f "$MSVC_DEBUG_DLL_PATH/$dll"; then + AC_MSG_ERROR([can not find $dll in $MSVC_DEBUG_DLL_PATH]) + fi + done + fi + } if test "$build_os" = "cygwin"; then @@ -6031,6 +6047,8 @@ if test $_os = "WINNT" -a "$WITH_MINGW" != yes; then fi AC_SUBST(MSVC_DLL_PATH) AC_SUBST(MSVC_DLLS) +AC_SUBST(MSVC_DEBUG_DLL_PATH) +AC_SUBST(MSVC_DEBUG_DLLS) AC_SUBST(MSM_PATH) AC_SUBST(MERGE_MODULES) diff --git a/external/Module_external.mk b/external/Module_external.mk index 33453c4e697b..ee6e994849be 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -28,6 +28,7 @@ $(eval $(call gb_Module_add_targets,external,\ Package_dbghelp \ Package_msms \ Package_msvc_dlls \ + $(if $(MSVC_USE_DEBUG_RUNTIME),Package_msvc_dlls_debug) \ Package_msvc80_dlls \ )) endif diff --git a/external/Package_msvc_dlls_debug.mk b/external/Package_msvc_dlls_debug.mk new file mode 100644 index 000000000000..3e847645fbb4 --- /dev/null +++ b/external/Package_msvc_dlls_debug.mk @@ -0,0 +1,16 @@ +# -*- 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_Package_Package,msvc_dlls,$(MSVC_DEBUG_DLL_PATH))) + +$(eval $(call gb_Package_add_files,msvc_dlls,bin,\ + $(MSVC_DEBUG_DLLS) \ +)) + +# vim:set shiftwidth=4 tabstop=4 noexpandtab: |