blob: f226029ab2c79bc95a90c831593886adfc604e02 [file] [log] [blame]
//===----------------- debug.h - Debug facilities -------------------------===//
//
// Mvm
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#ifndef DEBUG_H
#define DEBUG_H
#define ESC "\033["
#define COLOR_NORMAL ""
#define END "m"
#define _BLACK "00"
#define _RED "01"
#define _GREEN "02"
#define _YELLOW "03"
#define _BLUE "04"
#define _MAGENTA "05"
#define _CYAN "06"
#define _WHITE "07"
#define _NORMAL "00"
#define _BOLD "01"
#define _SOULIGNE "04"
#define MK_COLOR(type, bg, fg) type";"bg";"fg
#define WHITE MK_COLOR(_NORMAL, _BLACK, _BLACK)
#define DARK_MAGENTA MK_COLOR(_NORMAL, _BLACK, _MAGENTA)
#define DARK_YELLOW MK_COLOR(_NORMAL, _BLACK, _YELLOW)
#define DARK_CYAN MK_COLOR(_NORMAL, _BLACK, _CYAN)
#define DARK_BLUE MK_COLOR(_NORMAL, _BLACK, _BLUE)
#define DARK_GREEN MK_COLOR(_NORMAL, _BLACK, _GREEN)
#define LIGHT_MAGENTA MK_COLOR(_BOLD, _BLACK, _MAGENTA)
#define LIGHT_YELLOW MK_COLOR(_BOLD, _BLACK, _YELLOW)
#define LIGHT_CYAN MK_COLOR(_BOLD, _BLACK, _CYAN)
#define LIGHT_BLUE MK_COLOR(_BOLD, _BLACK, _BLUE)
#define LIGHT_GREEN MK_COLOR(_BOLD, _BLACK, _GREEN)
#define LIGHT_RED MK_COLOR(_BOLD, _BLACK, _RED)
#if DEBUG > 0
#ifdef WITH_COLOR
#define PRINT_DEBUG(symb, level, color, ...) \
if (symb > level) { \
fprintf(stderr, "%s%s%s", ESC, color, END); \
fprintf(stderr, __VA_ARGS__); \
fprintf(stderr, "%s%s%s", ESC, COLOR_NORMAL, END); \
}
#else
#define PRINT_DEBUG(symb, level, color, ...) \
if (symb > level) { \
fprintf(stderr, __VA_ARGS__); \
}
#endif
#else
#define PRINT_DEBUG(symb, level, color, args...) do {} while(0);
#endif
#endif