summaryrefslogtreecommitdiff
path: root/debug.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
committerrubidium <rubidium@openttd.org>2007-01-02 19:19:48 +0000
commit66bbf336c6af7353ef0aeed58002c46543b30635 (patch)
treead4a63860df2626b22f77e7dac712e958bea54cb /debug.h
parentccc0a3f4dbf58c005b22341ac8874252924690cd (diff)
downloadopenttd-66bbf336c6af7353ef0aeed58002c46543b30635.tar.xz
(svn r7759) -Merge: makefile rewrite. This merge features:
- A proper ./configure, so everything needs to be configured only once, not for every make. - Usage of makedepend when available. This greatly reduces the time needed for generating the dependencies. - A generator for all project files. There is a single file with sources, which is used to generate Makefiles and the project files for MSVC. - Proper support for OSX universal binaries. - Object files for non-MSVC compiles are also placed in separate directories, making is faster to switch between debug and release compiles and it does not touch the directory with the source files. - Functionality to make a bundle of all needed files for for example a nightly or distribution of a binary with all needed GRFs and language files. Note: as this merge moves almost all files, it is recommended to make a backup of your working copy before updating your working copy.
Diffstat (limited to 'debug.h')
-rw-r--r--debug.h108
1 files changed, 0 insertions, 108 deletions
diff --git a/debug.h b/debug.h
deleted file mode 100644
index c99795ddd..000000000
--- a/debug.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* $Id$ */
-
-#ifndef DEBUG_H
-#define DEBUG_H
-
-/* Debugging messages policy:
- * These should be the severities used for direct DEBUG() calls
- * maximum debugging level should be 10 if really deep, deep
- * debugging is needed.
- * (there is room for exceptions, but you have to have a good cause):
- * 0 - errors or severe warnings
- * 1 - other non-fatal, non-severe warnings
- * 2 - crude progress indicator of functionality
- * 3 - important debugging messages (function entry)
- * 4 - debugging messages (crude loop status, etc.)
- * 5 - detailed debugging information
- * 6.. - extremely detailed spamming
- */
-
-/* Of course MSVC 2003 and lower has no support for variadic macros
- * so we need to work around this... *sigh* */
-#if defined(_MSC_VER) && (_MSC_VER < 1400)
- #define NO_VARARG_MACRO
-#endif
-
-#if defined(NO_VARARG_MACRO)
- enum DebugLevelType {
- ai,
- driver,
- grf,
- map,
- misc,
- ms,
- net,
- sprite,
- oldloader,
- ntp,
- npf,
- yapf,
- freetype,
- sl,
- };
-#endif /* NO_VARARG_MACRO */
-
-#ifdef NO_DEBUG_MESSAGES
- #if defined(NO_VARARG_MACRO)
- static inline void DEBUG(int name, int level, ...) {}
- #elif defined(__GNUC__) && (__GNUC__ < 3)
- #define DEBUG(name, level, args...)
- #else
- #define DEBUG(name, level, ...)
- #endif
-#else /* NO_DEBUG_MESSAGES */
- #if defined(NO_VARARG_MACRO)
- void CDECL DEBUG(int name, int level, ...);
- #elif defined(__GNUC__) && (__GNUC__ < 3)
- #define DEBUG(name, level, args...) if ((level == 0) || ( _debug_ ## name ## _level >= level)) debug(#name, args)
- #else
- #define DEBUG(name, level, ...) if (level == 0 || _debug_ ## name ## _level >= level) debug(#name, __VA_ARGS__)
- #endif
-
- extern int _debug_ai_level;
- extern int _debug_driver_level;
- extern int _debug_grf_level;
- extern int _debug_map_level;
- extern int _debug_misc_level;
- extern int _debug_ms_level;
- extern int _debug_net_level;
- extern int _debug_sprite_level;
- extern int _debug_oldloader_level;
- extern int _debug_ntp_level;
- extern int _debug_npf_level;
- extern int _debug_yapf_level;
- extern int _debug_freetype_level;
- extern int _debug_sl_level;
-
- #if !defined(NO_VARARG_MACRO)
- void CDECL debug(const char *dbg, ...);
- #endif /* NO_VARARG_MACRO */
-#endif /* NO_DEBUG_MESSAGES */
-
-void SetDebugString(const char *s);
-const char *GetDebugString(void);
-
-/* MSVCRT of course has to have a different syntax for long long *sigh* */
-#if defined(_MSC_VER) || defined(__MINGW32__)
- #define OTTD_PRINTF64 "I64"
-#else
- #define OTTD_PRINTF64 "ll"
-#endif
-
-// Used for profiling
-#define TIC() {\
- extern uint64 _rdtsc(void);\
- uint64 _xxx_ = _rdtsc();\
- static uint64 __sum__ = 0;\
- static uint32 __i__ = 0;
-
-#define TOC(str, count)\
- __sum__ += _rdtsc() - _xxx_;\
- if (++__i__ == count) {\
- DEBUG(misc, 0, "[%s] %" OTTD_PRINTF64 "u [avg: %.1f]\n", str, __sum__, __sum__/(double)__i__);\
- __i__ = 0;\
- __sum__ = 0;\
- }\
-}
-
-#endif /* DEBUG_H */