summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host.mk.in3
-rw-r--r--configure.ac18
-rw-r--r--external/Module_external.mk1
-rw-r--r--external/Package_msvc_dlls_debug.mk16
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: