00001 /** 00002 The file defines/undefines macros controlling stacktrace and 00003 libtrace depending on various operating systems and installed 00004 system libraries. 00005 00006 __linux__ and __LINUX__ are macros defined by compilers in case of Linux target 00007 00008 _WIN32 and __WINDOWS__ are macros defined by compilers in case of Windows target 00009 00010 LIN_STACK_TRACE is user defined macro controlling stack trace under Linux 00011 00012 WIN_STACK_TRACE is user defined macro controlling stack trace under Windows 00013 00014 TRACE_SOURCE_FILES is user defined macro controlling output of source file names and lines under Linux. 00015 If defined, auxiliary bfd library (binutils-dev) have to be installed on the Linux system. 00016 */ 00017 00018 // Predefined macros in GCC 00019 #ifdef __linux__ 00020 #define LIN_STACK_TRACE 00021 // #define TRACE_SOURCE_FILES 00022 #endif 00023 00024 // Predefined macros in Open Watcom compiler 00025 #ifdef __LINUX__ 00026 #define LIN_STACK_TRACE 00027 #define TRACE_SOURCE_FILES 00028 #endif 00029 00030 // Predefined macros in Visual C++, Borland C++ and Open Watcom compilers 00031 #ifdef _WIN32 00032 #define WIN_STACK_TRACE 00033 #endif 00034 00035 // Predefined macros in Watcom compiler 00036 #ifdef __WINDOWS__ 00037 #define WIN_STACK_TRACE 00038 #endif