summaryrefslogtreecommitdiffstats
path: root/otherlibs/win32unix/windbug.h
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2008-07-29 08:47:00 +0000
committerXavier Leroy <xavier.leroy@inria.fr>2008-07-29 08:47:00 +0000
commit0837ee9e6ff2923db413eb611e8544fa29a9252d (patch)
tree2362e86cb9dad4f61f7643b6ad3632af94c8161e /otherlibs/win32unix/windbug.h
parent776ae225a0cc5fa44b9279f81d45e9fd3dfa3cca (diff)
ocamldebug under Win32 take 2 (S. Le Gall, Lexifi)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8956 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/win32unix/windbug.h')
-rw-r--r--otherlibs/win32unix/windbug.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/otherlibs/win32unix/windbug.h b/otherlibs/win32unix/windbug.h
new file mode 100644
index 000000000..5ac5ca538
--- /dev/null
+++ b/otherlibs/win32unix/windbug.h
@@ -0,0 +1,50 @@
+/***********************************************************************/
+/* */
+/* Objective Caml */
+/* */
+/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
+/* */
+/* Copyright 1996 Institut National de Recherche en Informatique et */
+/* en Automatique. All rights reserved. This file is distributed */
+/* under the terms of the GNU Library General Public License, with */
+/* the special exception on linking described in file ../../LICENSE. */
+/* */
+/***********************************************************************/
+
+/* $Id$ */
+
+/*#define DBUG*/
+
+#ifdef DBUG
+
+#include <stdio.h>
+#include <windows.h>
+
+#define DBUG_PRINT(fmt, ...) \
+ do \
+ { \
+ if (dbug_test()) \
+ { \
+ fprintf(stderr, "DBUG (pid:%d, tid: %d): ", GetCurrentProcessId(), GetCurrentThreadId()); \
+ fprintf(stderr, fmt, __VA_ARGS__); \
+ fprintf(stderr, "\n"); \
+ fflush(stderr); \
+ }; \
+ } while(0)
+
+/* Initialize and cleanup dbug variable */
+void dbug_init (void);
+void dbug_cleanup (void);
+
+/* Test if we are in dbug mode */
+int dbug_test (void);
+
+#define DBUG_INIT dbug_init()
+#define DBUG_CLEANUP dbug_cleanup()
+
+#else
+#define DBUG_PRINT(fmt, ...)
+#define DBUG_INIT
+#define DBUG_CLEANUP
+#endif
+