diff options
author | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2007-01-02 19:19:48 +0000 |
commit | 66bbf336c6af7353ef0aeed58002c46543b30635 (patch) | |
tree | ad4a63860df2626b22f77e7dac712e958bea54cb /debug.h | |
parent | ccc0a3f4dbf58c005b22341ac8874252924690cd (diff) | |
download | openttd-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.h | 108 |
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 */ |