00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __TBB_tbb_config_H
00022 #define __TBB_tbb_config_H
00023
00033 #ifndef TBB_USE_DEBUG
00034 #ifdef TBB_DO_ASSERT
00035 #define TBB_USE_DEBUG TBB_DO_ASSERT
00036 #else
00037 #define TBB_USE_DEBUG 0
00038 #endif
00039 #else
00040 #define TBB_DO_ASSERT TBB_USE_DEBUG
00041 #endif
00042
00043 #ifndef TBB_USE_ASSERT
00044 #ifdef TBB_DO_ASSERT
00045 #define TBB_USE_ASSERT TBB_DO_ASSERT
00046 #else
00047 #define TBB_USE_ASSERT TBB_USE_DEBUG
00048 #endif
00049 #endif
00050
00051 #ifndef TBB_USE_THREADING_TOOLS
00052 #ifdef TBB_DO_THREADING_TOOLS
00053 #define TBB_USE_THREADING_TOOLS TBB_DO_THREADING_TOOLS
00054 #else
00055 #define TBB_USE_THREADING_TOOLS TBB_USE_DEBUG
00056 #endif
00057 #endif
00058
00059 #ifndef TBB_USE_PERFORMANCE_WARNINGS
00060 #ifdef TBB_PERFORMANCE_WARNINGS
00061 #define TBB_USE_PERFORMANCE_WARNINGS TBB_PERFORMANCE_WARNINGS
00062 #else
00063 #define TBB_USE_PERFORMANCE_WARNINGS TBB_USE_DEBUG
00064 #endif
00065 #endif
00066
00067
00070 #ifndef __TBB_EXCEPTIONS
00071 #define __TBB_EXCEPTIONS 1
00072 #endif
00073
00074 #ifndef __TBB_SCHEDULER_OBSERVER
00075 #define __TBB_SCHEDULER_OBSERVER 1
00076 #endif
00077
00078 #ifndef __TBB_TASK_SCHEDULER_AUTO_INIT
00079 #define __TBB_TASK_SCHEDULER_AUTO_INIT 1
00080 #endif
00081
00082 #ifndef __TBB_TASK_DEQUE
00083 #define __TBB_TASK_DEQUE 1
00084 #endif
00085
00086 #if __TBB_TASK_DEQUE
00087 #ifndef __TBB_RELAXED_OWNERSHIP
00088 #define __TBB_RELAXED_OWNERSHIP 1
00089 #endif
00090 #else
00091 #ifdef __TBB_RELAXED_OWNERSHIP
00092 #undef __TBB_RELAXED_OWNERSHIP
00093 #endif
00094 #endif
00095
00096 #ifndef __TBB_NEW_ITT_NOTIFY
00097 #define __TBB_NEW_ITT_NOTIFY 1
00098 #endif
00099
00100 #ifndef __TBB_PROVIDE_VIRTUAL_SCHEDULER
00101 #define __TBB_PROVIDE_VIRTUAL_SCHEDULER 0
00102 #endif
00103
00104 #if !__TBB_PROVIDE_VIRTUAL_SCHEDULER
00105 #ifdef DO_ITT_ANNOTATE
00106 #undef DO_ITT_ANNOTATE
00107 #endif
00108 #endif
00109
00110
00111
00112 #define __TBB_EXCEPTION_PTR_PRESENT ( _MSC_VER >= 1600 )
00113
00114
00115 #ifndef TBB_USE_CAPTURED_EXCEPTION
00116 #if __TBB_EXCEPTION_PTR_PRESENT
00117 #define TBB_USE_CAPTURED_EXCEPTION 0
00118 #else
00119 #define TBB_USE_CAPTURED_EXCEPTION 1
00120 #endif
00121 #else
00122 #if !TBB_USE_CAPTURED_EXCEPTION && !__TBB_EXCEPTION_PTR_PRESENT
00123 #error Current runtime does not support std::exception_ptr. Set TBB_USE_CAPTURED_EXCEPTION and make sure that your code is ready to catch tbb::captured_exception.
00124 #endif
00125 #endif
00126
00127
00128 #ifndef __TBB_DEFAULT_PARTITIONER
00129 #if TBB_DEPRECATED
00130
00131 #define __TBB_DEFAULT_PARTITIONER tbb::simple_partitioner
00132 #else
00133
00134 #define __TBB_DEFAULT_PARTITIONER tbb::auto_partitioner
00135 #endif
00136 #endif
00137
00140 #if __GNUC__==4 && __GNUC_MINOR__==4
00141 #define __TBB_GCC_WARNING_SUPPRESSION_ENABLED 1
00142 #endif
00143
00150 #if defined(_MSC_VER) && _MSC_VER < 0x1500 && !defined(__INTEL_COMPILER)
00151
00153 #define __TBB_TEMPLATE_FRIENDS_BROKEN 1
00154 #endif
00155
00156 #if __GLIBC__==2 && __GLIBC_MINOR__==3 || __MINGW32__
00157
00158 #define __TBB_EXCEPTION_HANDLING_BROKEN 1
00159 #endif
00160
00161 #if __FreeBSD__
00162
00164 #define __TBB_PRIO_INHERIT_BROKEN 1
00165
00168 #define __TBB_PLACEMENT_NEW_EXCEPTION_SAFETY_BROKEN 1
00169 #endif
00170
00171 #if __LRB__
00172 #include "tbb_config_lrb.h"
00173 #endif
00174
00175 #endif