summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config_host/config_options.h.in6
-rw-r--r--configure.ac4
-rw-r--r--sal/osl/all/log.cxx8
3 files changed, 17 insertions, 1 deletions
diff --git a/config_host/config_options.h.in b/config_host/config_options.h.in
index 0223f089ce2b..e6c0f8d4c7b0 100644
--- a/config_host/config_options.h.in
+++ b/config_host/config_options.h.in
@@ -13,4 +13,10 @@
#define ENABLE_RUNTIME_OPTIMIZATIONS 0
+/*
+ * If this is a production build (where we might want to cut down on
+ * debugging options)
+ */
+#define ENABLE_RELEASE_BUILD 0
+
#endif
diff --git a/configure.ac b/configure.ac
index c5f0edc9eb7f..fca2d4d9044b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2243,11 +2243,13 @@ dnl ===================================================================
dnl Test whether build target is Release Build
dnl ===================================================================
AC_MSG_CHECKING([whether build target is Release Build])
+ENABLE_RELEASE_BUILD=
+
if test "$enable_release_build" = "" -o "$enable_release_build" = "no"; then
AC_MSG_RESULT([no])
- ENABLE_RELEASE_BUILD=
else
AC_MSG_RESULT([yes])
+ AC_DEFINE(ENABLE_RELEASE_BUILD)
ENABLE_RELEASE_BUILD=TRUE
fi
AC_SUBST(ENABLE_RELEASE_BUILD)
diff --git a/sal/osl/all/log.cxx b/sal/osl/all/log.cxx
index bebc8e5647ca..25662507ce18 100644
--- a/sal/osl/all/log.cxx
+++ b/sal/osl/all/log.cxx
@@ -22,6 +22,7 @@
#include <fstream>
#include <config_global.h>
+#include <config_options.h>
#include <osl/thread.hxx>
#include <rtl/string.h>
#include <sal/detail/log.h>
@@ -326,9 +327,16 @@ void sal_detail_log(
*logFile << s.str() << std::endl;
}
else {
+#ifdef WNT
+ // write to Windows debugger console, too
+ OutputDebugStringA(s.str().c_str());
+#endif
+#if ! (defined(WNT) && ENABLE_RELEASE_BUILD)
+ // on Windows deployments, no one reads console output
s << '\n';
std::fputs(s.str().c_str(), stderr);
std::fflush(stderr);
+#endif
}
}
#endif