From 0b136ce236abee6c4b5d785d65faad10934a6d0e Mon Sep 17 00:00:00 2001
From: Kevin Ushey
Date: Sun, 19 Jan 2025 09:48:03 -0800
Subject: [PATCH] Revert "bundle old version of tbb for now"
This reverts commit 9d63bbb0f58201dcd360664e4eb4f258c2b8cf4e.
---
R/aaa.R | 1 -
R/tbb-autodetected.R.in | 1 -
R/tbb.R | 26 +-
R/zzz.R | 11 +-
src/Makevars.in | 27 +-
src/install.libs.R | 79 +-
src/tbb-2019/CHANGES | 2804 ------------
src/tbb-2019/COPYING | 201 -
src/tbb-2019/Doxyfile | 1325 ------
src/tbb-2019/LICENSE | 201 -
src/tbb-2019/Makefile | 76 -
src/tbb-2019/README | 11 -
src/tbb-2019/README.md | 34 -
src/tbb-2019/build/.gitignore | 1 -
src/tbb-2019/build/AIX.gcc.inc | 71 -
src/tbb-2019/build/AIX.inc | 62 -
src/tbb-2019/build/BSD.clang.inc | 106 -
src/tbb-2019/build/BSD.inc | 70 -
src/tbb-2019/build/FreeBSD.clang.inc | 17 -
src/tbb-2019/build/FreeBSD.gcc.inc | 89 -
src/tbb-2019/build/FreeBSD.inc | 15 -
src/tbb-2019/build/Makefile.rml | 162 -
src/tbb-2019/build/Makefile.tbb | 118 -
src/tbb-2019/build/Makefile.tbbmalloc | 260 --
src/tbb-2019/build/Makefile.tbbproxy | 105 -
src/tbb-2019/build/Makefile.test | 314 --
src/tbb-2019/build/OpenBSD.clang.inc | 15 -
src/tbb-2019/build/OpenBSD.inc | 15 -
src/tbb-2019/build/SunOS.gcc.inc | 91 -
src/tbb-2019/build/SunOS.inc | 79 -
src/tbb-2019/build/SunOS.suncc.inc | 89 -
src/tbb-2019/build/android.clang.inc | 126 -
src/tbb-2019/build/android.gcc.inc | 113 -
src/tbb-2019/build/android.icc.inc | 116 -
src/tbb-2019/build/android.inc | 59 -
src/tbb-2019/build/android.linux.inc | 63 -
src/tbb-2019/build/android.linux.launcher.sh | 144 -
src/tbb-2019/build/android.macos.inc | 72 -
src/tbb-2019/build/android.windows.inc | 74 -
src/tbb-2019/build/big_iron.inc | 72 -
src/tbb-2019/build/build.py | 204 -
src/tbb-2019/build/codecov.txt | 7 -
src/tbb-2019/build/common.inc | 170 -
src/tbb-2019/build/common_rules.inc | 171 -
src/tbb-2019/build/detect.js | 195 -
src/tbb-2019/build/generate_tbbvars.bat | 62 -
src/tbb-2019/build/generate_tbbvars.sh | 67 -
src/tbb-2019/build/index.html | 242 -
src/tbb-2019/build/ios.clang.inc | 15 -
src/tbb-2019/build/ios.macos.inc | 34 -
src/tbb-2019/build/linux.clang.inc | 112 -
src/tbb-2019/build/linux.gcc.inc | 153 -
src/tbb-2019/build/linux.icc.inc | 116 -
src/tbb-2019/build/linux.inc | 138 -
src/tbb-2019/build/linux.pathcc.inc | 89 -
src/tbb-2019/build/linux.xl.inc | 100 -
src/tbb-2019/build/macos.clang.inc | 132 -
src/tbb-2019/build/macos.gcc.inc | 129 -
src/tbb-2019/build/macos.icc.inc | 103 -
src/tbb-2019/build/macos.inc | 109 -
src/tbb-2019/build/mic.icc.inc | 75 -
src/tbb-2019/build/mic.linux.inc | 39 -
src/tbb-2019/build/mic.linux.launcher.sh | 157 -
src/tbb-2019/build/mic.offload.inc | 114 -
src/tbb-2019/build/suncc.map.pause | 1 -
src/tbb-2019/build/test_launcher.bat | 70 -
src/tbb-2019/build/test_launcher.sh | 90 -
src/tbb-2019/build/version_info_aix.sh | 30 -
src/tbb-2019/build/version_info_android.sh | 29 -
src/tbb-2019/build/version_info_linux.sh | 30 -
src/tbb-2019/build/version_info_macos.sh | 28 -
src/tbb-2019/build/version_info_sunos.sh | 27 -
src/tbb-2019/build/version_info_windows.js | 92 -
src/tbb-2019/build/vs2013/index.html | 30 -
src/tbb-2019/build/vs2013/makefile.sln | 80 -
src/tbb-2019/build/vs2013/tbb.vcxproj | 697 ---
src/tbb-2019/build/vs2013/tbbmalloc.vcxproj | 559 ---
.../build/vs2013/tbbmalloc_proxy.vcxproj | 425 --
src/tbb-2019/build/vs2013/version_string.ver | 1 -
src/tbb-2019/build/windows.cl.inc | 162 -
src/tbb-2019/build/windows.gcc.inc | 142 -
src/tbb-2019/build/windows.icl.inc | 174 -
src/tbb-2019/build/windows.inc | 130 -
src/tbb-2019/cmake/README.rst | 360 --
src/tbb-2019/cmake/TBBBuild.cmake | 197 -
src/tbb-2019/cmake/TBBGet.cmake | 294 --
src/tbb-2019/cmake/TBBInstallConfig.cmake | 124 -
src/tbb-2019/cmake/TBBMakeConfig.cmake | 190 -
src/tbb-2019/cmake/tbb_config_generator.cmake | 41 -
src/tbb-2019/cmake/tbb_config_installer.cmake | 48 -
.../cmake/templates/TBBConfig.cmake.in | 95 -
.../templates/TBBConfigInternal.cmake.in | 79 -
.../cmake/templates/TBBConfigVersion.cmake.in | 24 -
src/tbb-2019/doc/Release_Notes.txt | 132 -
.../copyright_brand_disclaimer_doxygen.txt | 9 -
src/tbb-2019/include/index.html | 25 -
.../include/serial/tbb/parallel_for.h | 215 -
.../include/serial/tbb/tbb_annotate.h | 32 -
src/tbb-2019/include/tbb/aggregator.h | 198 -
src/tbb-2019/include/tbb/aligned_space.h | 43 -
src/tbb-2019/include/tbb/atomic.h | 554 ---
src/tbb-2019/include/tbb/blocked_range.h | 168 -
src/tbb-2019/include/tbb/blocked_range2d.h | 104 -
src/tbb-2019/include/tbb/blocked_range3d.h | 123 -
src/tbb-2019/include/tbb/blocked_rangeNd.h | 150 -
.../include/tbb/cache_aligned_allocator.h | 209 -
src/tbb-2019/include/tbb/combinable.h | 81 -
.../include/tbb/compat/condition_variable | 472 --
src/tbb-2019/include/tbb/compat/iterator.h | 29 -
src/tbb-2019/include/tbb/compat/ppl.h | 58 -
src/tbb-2019/include/tbb/compat/thread | 56 -
src/tbb-2019/include/tbb/compat/tuple | 484 --
.../include/tbb/concurrent_hash_map.h | 1634 -------
.../include/tbb/concurrent_lru_cache.h | 283 --
src/tbb-2019/include/tbb/concurrent_map.h | 383 --
.../include/tbb/concurrent_priority_queue.h | 546 ---
src/tbb-2019/include/tbb/concurrent_queue.h | 473 --
src/tbb-2019/include/tbb/concurrent_set.h | 297 --
.../include/tbb/concurrent_unordered_map.h | 486 --
.../include/tbb/concurrent_unordered_set.h | 442 --
src/tbb-2019/include/tbb/concurrent_vector.h | 1381 ------
src/tbb-2019/include/tbb/critical_section.h | 129 -
.../include/tbb/enumerable_thread_specific.h | 1135 -----
src/tbb-2019/include/tbb/flow_graph.h | 3984 -----------------
.../include/tbb/flow_graph_abstractions.h | 53 -
.../include/tbb/flow_graph_opencl_node.h | 1482 ------
src/tbb-2019/include/tbb/gfx_factory.h | 359 --
src/tbb-2019/include/tbb/global_control.h | 78 -
src/tbb-2019/include/tbb/index.html | 29 -
.../include/tbb/internal/_aggregator_impl.h | 180 -
.../include/tbb/internal/_allocator_traits.h | 156 -
.../tbb/internal/_concurrent_queue_impl.h | 1073 -----
.../tbb/internal/_concurrent_skip_list_impl.h | 1043 -----
.../tbb/internal/_concurrent_unordered_impl.h | 1669 -------
.../tbb/internal/_flow_graph_async_msg_impl.h | 153 -
.../tbb/internal/_flow_graph_body_impl.h | 449 --
.../tbb/internal/_flow_graph_cache_impl.h | 592 ---
.../include/tbb/internal/_flow_graph_impl.h | 519 ---
.../tbb/internal/_flow_graph_indexer_impl.h | 480 --
.../internal/_flow_graph_item_buffer_impl.h | 284 --
.../tbb/internal/_flow_graph_join_impl.h | 1994 ---------
.../tbb/internal/_flow_graph_node_impl.h | 892 ----
.../tbb/internal/_flow_graph_streaming_node.h | 741 ---
.../internal/_flow_graph_tagged_buffer_impl.h | 249 --
.../tbb/internal/_flow_graph_trace_impl.h | 331 --
.../tbb/internal/_flow_graph_types_impl.h | 723 ---
.../include/tbb/internal/_mutex_padding.h | 98 -
.../include/tbb/internal/_node_handle_impl.h | 168 -
.../include/tbb/internal/_range_iterator.h | 66 -
.../tbb/internal/_tbb_hash_compare_impl.h | 105 -
.../include/tbb/internal/_tbb_strings.h | 76 -
.../include/tbb/internal/_tbb_trace_impl.h | 55 -
.../include/tbb/internal/_tbb_windef.h | 69 -
.../include/tbb/internal/_template_helpers.h | 267 --
.../tbb/internal/_x86_eliding_mutex_impl.h | 144 -
.../tbb/internal/_x86_rtm_rw_mutex_impl.h | 223 -
src/tbb-2019/include/tbb/iterators.h | 326 --
src/tbb-2019/include/tbb/machine/gcc_arm.h | 216 -
src/tbb-2019/include/tbb/machine/gcc_armv7.h | 217 -
.../include/tbb/machine/gcc_generic.h | 233 -
.../include/tbb/machine/gcc_ia32_common.h | 109 -
src/tbb-2019/include/tbb/machine/gcc_itsx.h | 119 -
src/tbb-2019/include/tbb/machine/ibm_aix51.h | 66 -
.../include/tbb/machine/icc_generic.h | 258 --
.../include/tbb/machine/linux_common.h | 105 -
src/tbb-2019/include/tbb/machine/linux_ia32.h | 228 -
src/tbb-2019/include/tbb/machine/linux_ia64.h | 177 -
.../include/tbb/machine/linux_intel64.h | 92 -
src/tbb-2019/include/tbb/machine/mac_ppc.h | 309 --
.../include/tbb/machine/macos_common.h | 134 -
src/tbb-2019/include/tbb/machine/mic_common.h | 53 -
src/tbb-2019/include/tbb/machine/msvc_armv7.h | 167 -
.../include/tbb/machine/msvc_ia32_common.h | 275 --
.../include/tbb/machine/sunos_sparc.h | 199 -
.../include/tbb/machine/windows_api.h | 65 -
.../include/tbb/machine/windows_ia32.h | 105 -
.../include/tbb/machine/windows_intel64.h | 70 -
src/tbb-2019/include/tbb/memory_pool.h | 275 --
src/tbb-2019/include/tbb/mutex.h | 229 -
src/tbb-2019/include/tbb/null_mutex.h | 50 -
src/tbb-2019/include/tbb/null_rw_mutex.h | 52 -
src/tbb-2019/include/tbb/parallel_do.h | 547 ---
src/tbb-2019/include/tbb/parallel_for.h | 419 --
src/tbb-2019/include/tbb/parallel_for_each.h | 133 -
src/tbb-2019/include/tbb/parallel_invoke.h | 454 --
src/tbb-2019/include/tbb/parallel_reduce.h | 651 ---
src/tbb-2019/include/tbb/parallel_scan.h | 410 --
src/tbb-2019/include/tbb/parallel_sort.h | 251 --
src/tbb-2019/include/tbb/parallel_while.h | 182 -
src/tbb-2019/include/tbb/partitioner.h | 674 ---
src/tbb-2019/include/tbb/pipeline.h | 661 ---
src/tbb-2019/include/tbb/queuing_mutex.h | 107 -
src/tbb-2019/include/tbb/queuing_rw_mutex.h | 148 -
src/tbb-2019/include/tbb/reader_writer_lock.h | 228 -
src/tbb-2019/include/tbb/recursive_mutex.h | 230 -
src/tbb-2019/include/tbb/runtime_loader.h | 176 -
src/tbb-2019/include/tbb/scalable_allocator.h | 388 --
src/tbb-2019/include/tbb/spin_mutex.h | 208 -
src/tbb-2019/include/tbb/spin_rw_mutex.h | 252 --
src/tbb-2019/include/tbb/task.h | 1107 -----
src/tbb-2019/include/tbb/task_arena.h | 433 --
src/tbb-2019/include/tbb/task_group.h | 257 --
.../include/tbb/task_scheduler_init.h | 157 -
.../include/tbb/task_scheduler_observer.h | 160 -
src/tbb-2019/include/tbb/tbb.h | 87 -
src/tbb-2019/include/tbb/tbb_allocator.h | 203 -
src/tbb-2019/include/tbb/tbb_config.h | 827 ----
.../include/tbb/tbb_disable_exceptions.h | 31 -
src/tbb-2019/include/tbb/tbb_exception.h | 356 --
src/tbb-2019/include/tbb/tbb_machine.h | 980 ----
src/tbb-2019/include/tbb/tbb_profiling.h | 340 --
src/tbb-2019/include/tbb/tbb_stddef.h | 544 ---
src/tbb-2019/include/tbb/tbb_thread.h | 328 --
src/tbb-2019/include/tbb/tbbmalloc_proxy.h | 65 -
src/tbb-2019/include/tbb/tick_count.h | 136 -
src/tbb-2019/index.html | 48 -
src/tbb-2019/jni/Android.mk | 62 -
src/tbb-2019/jni/Application.mk | 67 -
src/tbb-2019/python/Makefile | 45 -
src/tbb-2019/python/TBB.py | 24 -
src/tbb-2019/python/index.html | 84 -
src/tbb-2019/python/rml/Makefile | 151 -
src/tbb-2019/python/rml/ipc_server.cpp | 1115 -----
src/tbb-2019/python/rml/ipc_utils.cpp | 140 -
src/tbb-2019/python/rml/ipc_utils.h | 30 -
src/tbb-2019/python/setup.py | 120 -
src/tbb-2019/python/tbb/__init__.py | 325 --
src/tbb-2019/python/tbb/__main__.py | 20 -
src/tbb-2019/python/tbb/api.i | 175 -
src/tbb-2019/python/tbb/pool.py | 631 ---
src/tbb-2019/python/tbb/test.py | 195 -
src/tbb-2019/src/Makefile | 265 --
src/tbb-2019/src/index.html | 76 -
src/tbb-2019/src/old/concurrent_queue_v2.cpp | 361 --
src/tbb-2019/src/old/concurrent_queue_v2.h | 320 --
src/tbb-2019/src/old/concurrent_vector_v2.cpp | 252 --
src/tbb-2019/src/old/concurrent_vector_v2.h | 508 ---
src/tbb-2019/src/old/spin_rw_mutex_v2.cpp | 152 -
src/tbb-2019/src/old/spin_rw_mutex_v2.h | 171 -
src/tbb-2019/src/old/task_v2.cpp | 34 -
.../src/old/test_concurrent_queue_v2.cpp | 344 --
.../src/old/test_concurrent_vector_v2.cpp | 554 ---
src/tbb-2019/src/old/test_mutex_v2.cpp | 238 -
.../old/test_task_scheduler_observer_v3.cpp | 117 -
.../src/perf/coarse_grained_raii_lru_cache.h | 143 -
src/tbb-2019/src/perf/cpq_pdes.cpp | 226 -
src/tbb-2019/src/perf/fibonacci_impl_tbb.cpp | 74 -
src/tbb-2019/src/perf/perf.cpp | 856 ----
src/tbb-2019/src/perf/perf.h | 253 --
src/tbb-2019/src/perf/perf_sched.cpp | 452 --
src/tbb-2019/src/perf/run_statistics.sh | 28 -
src/tbb-2019/src/perf/statistics.cpp | 440 --
src/tbb-2019/src/perf/statistics.h | 187 -
src/tbb-2019/src/perf/statistics_xml.h | 196 -
src/tbb-2019/src/perf/time_async_return.cpp | 222 -
.../src/perf/time_cpq_throughput_test.cpp | 290 --
.../src/perf/time_fibonacci_cutoff.cpp | 126 -
src/tbb-2019/src/perf/time_framework.h | 347 --
src/tbb-2019/src/perf/time_hash_map.cpp | 257 --
src/tbb-2019/src/perf/time_hash_map_fill.cpp | 163 -
src/tbb-2019/src/perf/time_hash_map_fill.html | 122 -
src/tbb-2019/src/perf/time_locked_work.cpp | 162 -
.../src/perf/time_lru_cache_throughput.cpp | 213 -
.../src/perf/time_parallel_for_each.cpp | 66 -
src/tbb-2019/src/perf/time_sandbox.h | 167 -
src/tbb-2019/src/perf/time_split_node.cpp | 116 -
src/tbb-2019/src/perf/time_vector.cpp | 245 -
src/tbb-2019/src/rml/client/index.html | 42 -
src/tbb-2019/src/rml/client/library_assert.h | 30 -
.../src/rml/client/omp_dynamic_link.cpp | 20 -
.../src/rml/client/omp_dynamic_link.h | 26 -
src/tbb-2019/src/rml/client/rml_factory.h | 90 -
src/tbb-2019/src/rml/client/rml_omp.cpp | 42 -
src/tbb-2019/src/rml/client/rml_tbb.cpp | 44 -
src/tbb-2019/src/rml/include/index.html | 29 -
src/tbb-2019/src/rml/include/rml_base.h | 184 -
src/tbb-2019/src/rml/include/rml_omp.h | 126 -
src/tbb-2019/src/rml/include/rml_tbb.h | 97 -
src/tbb-2019/src/rml/index.html | 31 -
src/tbb-2019/src/rml/perfor/omp_nested.cpp | 140 -
src/tbb-2019/src/rml/perfor/omp_simple.cpp | 156 -
src/tbb-2019/src/rml/perfor/tbb_multi_omp.cpp | 182 -
src/tbb-2019/src/rml/perfor/tbb_simple.cpp | 187 -
src/tbb-2019/src/rml/perfor/thread_level.h | 130 -
src/tbb-2019/src/rml/server/index.html | 18 -
src/tbb-2019/src/rml/server/irml.rc | 112 -
src/tbb-2019/src/rml/server/job_automaton.h | 141 -
.../src/rml/server/lin-rml-export.def | 26 -
src/tbb-2019/src/rml/server/rml_server.cpp | 3305 --------------
src/tbb-2019/src/rml/server/thread_monitor.h | 268 --
src/tbb-2019/src/rml/server/wait_counter.h | 69 -
.../src/rml/server/win32-rml-export.def | 23 -
.../src/rml/server/win64-rml-export.def | 23 -
src/tbb-2019/src/rml/test/rml_omp_stub.cpp | 68 -
.../src/rml/test/test_job_automaton.cpp | 148 -
src/tbb-2019/src/rml/test/test_rml_mixed.cpp | 314 --
src/tbb-2019/src/rml/test/test_rml_omp.cpp | 199 -
.../src/rml/test/test_rml_omp_c_linkage.c | 22 -
src/tbb-2019/src/rml/test/test_rml_tbb.cpp | 201 -
src/tbb-2019/src/rml/test/test_server.h | 429 --
.../src/rml/test/test_thread_monitor.cpp | 113 -
src/tbb-2019/src/tbb/arena.cpp | 1059 -----
src/tbb-2019/src/tbb/arena.h | 473 --
.../src/tbb/cache_aligned_allocator.cpp | 252 --
src/tbb-2019/src/tbb/cilk-tbb-interop.h | 111 -
src/tbb-2019/src/tbb/concurrent_hash_map.cpp | 54 -
src/tbb-2019/src/tbb/concurrent_monitor.cpp | 132 -
src/tbb-2019/src/tbb/concurrent_monitor.h | 237 -
src/tbb-2019/src/tbb/concurrent_queue.cpp | 670 ---
src/tbb-2019/src/tbb/concurrent_vector.cpp | 610 ---
src/tbb-2019/src/tbb/condition_variable.cpp | 205 -
src/tbb-2019/src/tbb/critical_section.cpp | 27 -
src/tbb-2019/src/tbb/custom_scheduler.h | 714 ---
src/tbb-2019/src/tbb/dynamic_link.cpp | 573 ---
src/tbb-2019/src/tbb/dynamic_link.h | 119 -
src/tbb-2019/src/tbb/governor.cpp | 375 --
src/tbb-2019/src/tbb/governor.h | 159 -
.../src/tbb/ia32-masm/atomic_support.asm | 184 -
src/tbb-2019/src/tbb/ia32-masm/itsx.asm | 76 -
src/tbb-2019/src/tbb/ia32-masm/lock_byte.asm | 34 -
.../src/tbb/ia64-gas/atomic_support.s | 666 ---
src/tbb-2019/src/tbb/ia64-gas/ia64_misc.s | 95 -
src/tbb-2019/src/tbb/ia64-gas/lock_byte.s | 42 -
src/tbb-2019/src/tbb/ia64-gas/log2.s | 54 -
src/tbb-2019/src/tbb/ia64-gas/pause.s | 29 -
.../src/tbb/ibm_aix51/atomic_support.c | 51 -
src/tbb-2019/src/tbb/index.html | 31 -
.../src/tbb/intel64-masm/atomic_support.asm | 68 -
.../src/tbb/intel64-masm/intel64_misc.asm | 29 -
src/tbb-2019/src/tbb/intel64-masm/itsx.asm | 72 -
src/tbb-2019/src/tbb/intrusive_list.h | 242 -
src/tbb-2019/src/tbb/itt_notify.cpp | 95 -
src/tbb-2019/src/tbb/itt_notify.h | 135 -
src/tbb-2019/src/tbb/lin32-tbb-export.def | 45 -
src/tbb-2019/src/tbb/lin32-tbb-export.lst | 398 --
src/tbb-2019/src/tbb/lin64-tbb-export.def | 42 -
src/tbb-2019/src/tbb/lin64-tbb-export.lst | 379 --
src/tbb-2019/src/tbb/lin64ipf-tbb-export.def | 44 -
src/tbb-2019/src/tbb/lin64ipf-tbb-export.lst | 420 --
src/tbb-2019/src/tbb/mac32-tbb-export.def | 19 -
src/tbb-2019/src/tbb/mac32-tbb-export.lst | 406 --
src/tbb-2019/src/tbb/mac64-tbb-export.def | 19 -
src/tbb-2019/src/tbb/mac64-tbb-export.lst | 403 --
src/tbb-2019/src/tbb/mailbox.h | 231 -
src/tbb-2019/src/tbb/market.cpp | 859 ----
src/tbb-2019/src/tbb/market.h | 371 --
src/tbb-2019/src/tbb/mutex.cpp | 148 -
src/tbb-2019/src/tbb/observer_proxy.cpp | 364 --
src/tbb-2019/src/tbb/observer_proxy.h | 169 -
src/tbb-2019/src/tbb/pipeline.cpp | 788 ----
src/tbb-2019/src/tbb/private_server.cpp | 418 --
src/tbb-2019/src/tbb/queuing_mutex.cpp | 104 -
src/tbb-2019/src/tbb/queuing_rw_mutex.cpp | 488 --
src/tbb-2019/src/tbb/reader_writer_lock.cpp | 343 --
src/tbb-2019/src/tbb/recursive_mutex.cpp | 132 -
src/tbb-2019/src/tbb/scheduler.cpp | 1429 ------
src/tbb-2019/src/tbb/scheduler.h | 815 ----
src/tbb-2019/src/tbb/scheduler_common.h | 449 --
src/tbb-2019/src/tbb/scheduler_utility.h | 129 -
src/tbb-2019/src/tbb/semaphore.cpp | 90 -
src/tbb-2019/src/tbb/semaphore.h | 250 --
src/tbb-2019/src/tbb/spin_mutex.cpp | 54 -
src/tbb-2019/src/tbb/spin_rw_mutex.cpp | 155 -
src/tbb-2019/src/tbb/task.cpp | 271 --
src/tbb-2019/src/tbb/task_group_context.cpp | 491 --
src/tbb-2019/src/tbb/task_stream.h | 168 -
src/tbb-2019/src/tbb/task_stream_extended.h | 319 --
src/tbb-2019/src/tbb/tbb_assert_impl.h | 102 -
src/tbb-2019/src/tbb/tbb_environment.h | 85 -
src/tbb-2019/src/tbb/tbb_main.cpp | 565 ---
src/tbb-2019/src/tbb/tbb_main.h | 95 -
src/tbb-2019/src/tbb/tbb_misc.cpp | 305 --
src/tbb-2019/src/tbb/tbb_misc.h | 269 --
src/tbb-2019/src/tbb/tbb_misc_ex.cpp | 401 --
src/tbb-2019/src/tbb/tbb_resource.rc | 112 -
src/tbb-2019/src/tbb/tbb_statistics.cpp | 183 -
src/tbb-2019/src/tbb/tbb_statistics.h | 236 -
src/tbb-2019/src/tbb/tbb_thread.cpp | 192 -
src/tbb-2019/src/tbb/tbb_version.h | 115 -
src/tbb-2019/src/tbb/tls.h | 120 -
.../src/tbb/tools_api/disable_warnings.h | 35 -
src/tbb-2019/src/tbb/tools_api/ittnotify.h | 3833 ----------------
.../src/tbb/tools_api/ittnotify_config.h | 508 ---
.../src/tbb/tools_api/ittnotify_static.c | 1039 -----
.../src/tbb/tools_api/ittnotify_static.h | 324 --
.../src/tbb/tools_api/ittnotify_types.h | 73 -
.../src/tbb/tools_api/legacy/ittnotify.h | 998 -----
src/tbb-2019/src/tbb/win32-tbb-export.def | 24 -
src/tbb-2019/src/tbb/win32-tbb-export.lst | 338 --
src/tbb-2019/src/tbb/win64-gcc-tbb-export.def | 40 -
src/tbb-2019/src/tbb/win64-gcc-tbb-export.lst | 388 --
src/tbb-2019/src/tbb/win64-tbb-export.def | 22 -
src/tbb-2019/src/tbb/win64-tbb-export.lst | 333 --
src/tbb-2019/src/tbb/winrt-tbb-export.lst | 296 --
src/tbb-2019/src/tbb/x86_rtm_rw_mutex.cpp | 278 --
src/tbb-2019/src/tbbmalloc/Customize.h | 146 -
src/tbb-2019/src/tbbmalloc/MapMemory.h | 205 -
src/tbb-2019/src/tbbmalloc/Statistics.h | 125 -
src/tbb-2019/src/tbbmalloc/Synchronize.h | 104 -
src/tbb-2019/src/tbbmalloc/TypeDefinitions.h | 58 -
src/tbb-2019/src/tbbmalloc/backend.cpp | 1489 ------
src/tbb-2019/src/tbbmalloc/backend.h | 385 --
src/tbb-2019/src/tbbmalloc/backref.cpp | 338 --
src/tbb-2019/src/tbbmalloc/frontend.cpp | 3291 --------------
src/tbb-2019/src/tbbmalloc/index.html | 54 -
src/tbb-2019/src/tbbmalloc/large_objects.cpp | 1033 -----
src/tbb-2019/src/tbbmalloc/large_objects.h | 368 --
.../src/tbbmalloc/lin32-proxy-export.def | 55 -
.../src/tbbmalloc/lin32-tbbmalloc-export.def | 73 -
.../src/tbbmalloc/lin64-proxy-export.def | 55 -
.../src/tbbmalloc/lin64-tbbmalloc-export.def | 73 -
.../src/tbbmalloc/lin64ipf-proxy-export.def | 55 -
.../tbbmalloc/lin64ipf-tbbmalloc-export.def | 76 -
.../src/tbbmalloc/mac32-tbbmalloc-export.def | 46 -
.../src/tbbmalloc/mac64-tbbmalloc-export.def | 46 -
src/tbb-2019/src/tbbmalloc/proxy.cpp | 802 ----
src/tbb-2019/src/tbbmalloc/proxy.h | 62 -
.../src/tbbmalloc/proxy_overload_osx.h | 186 -
src/tbb-2019/src/tbbmalloc/shared_utils.h | 151 -
.../tbbmalloc/tbb_function_replacement.cpp | 583 ---
.../src/tbbmalloc/tbb_function_replacement.h | 79 -
src/tbb-2019/src/tbbmalloc/tbbmalloc.cpp | 117 -
src/tbb-2019/src/tbbmalloc/tbbmalloc.rc | 115 -
.../src/tbbmalloc/tbbmalloc_internal.h | 717 ---
.../src/tbbmalloc/tbbmalloc_internal_api.h | 40 -
.../tbbmalloc/win32-gcc-tbbmalloc-export.def | 49 -
.../src/tbbmalloc/win32-tbbmalloc-export.def | 45 -
.../tbbmalloc/win64-gcc-tbbmalloc-export.def | 49 -
.../src/tbbmalloc/win64-tbbmalloc-export.def | 46 -
.../src/tbbproxy/tbbproxy-windows.asm | 107 -
src/tbb-2019/src/tbbproxy/tbbproxy.cpp | 608 ---
src/tbb-2019/src/test/harness.h | 833 ----
src/tbb-2019/src/test/harness_allocator.h | 869 ----
.../src/test/harness_allocator_overload.h | 35 -
src/tbb-2019/src/test/harness_assert.h | 37 -
src/tbb-2019/src/test/harness_bad_expr.h | 73 -
src/tbb-2019/src/test/harness_barrier.h | 136 -
src/tbb-2019/src/test/harness_checktype.h | 95 -
src/tbb-2019/src/test/harness_concurrency.h | 101 -
.../src/test/harness_concurrency_tracker.h | 170 -
src/tbb-2019/src/test/harness_cpu.h | 116 -
src/tbb-2019/src/test/harness_defs.h | 220 -
src/tbb-2019/src/test/harness_dynamic_libs.h | 124 -
src/tbb-2019/src/test/harness_eh.h | 313 --
src/tbb-2019/src/test/harness_fp.h | 168 -
src/tbb-2019/src/test/harness_graph.h | 1236 -----
.../src/test/harness_inject_scheduler.h | 82 -
src/tbb-2019/src/test/harness_iterator.h | 160 -
src/tbb-2019/src/test/harness_m128.h | 120 -
src/tbb-2019/src/test/harness_memory.h | 141 -
src/tbb-2019/src/test/harness_mic.h | 42 -
src/tbb-2019/src/test/harness_preload.h | 43 -
src/tbb-2019/src/test/harness_report.h | 174 -
.../src/test/harness_runtime_loader.h | 33 -
.../src/test/harness_state_trackable.h | 143 -
src/tbb-2019/src/test/harness_task.h | 51 -
.../src/test/harness_tbb_independence.h | 83 -
.../src/test/harness_test_cases_framework.h | 236 -
src/tbb-2019/src/test/harness_tls.h | 75 -
src/tbb-2019/src/test/harness_tsx.h | 66 -
.../src/test/test_ScalableAllocator.cpp | 223 -
.../src/test/test_ScalableAllocator_STL.cpp | 50 -
src/tbb-2019/src/test/test_aggregator.cpp | 181 -
src/tbb-2019/src/test/test_aligned_space.cpp | 115 -
src/tbb-2019/src/test/test_allocator.h | 271 --
src/tbb-2019/src/test/test_allocator_STL.h | 147 -
src/tbb-2019/src/test/test_assembly.cpp | 160 -
src/tbb-2019/src/test/test_async_msg.cpp | 604 ---
src/tbb-2019/src/test/test_async_node.cpp | 705 ---
src/tbb-2019/src/test/test_atomic.cpp | 1601 -------
src/tbb-2019/src/test/test_blocked_range.cpp | 206 -
.../src/test/test_blocked_range2d.cpp | 168 -
.../src/test/test_blocked_range3d.cpp | 201 -
.../src/test/test_blocked_rangeNd.cpp | 255 --
src/tbb-2019/src/test/test_broadcast_node.cpp | 342 --
src/tbb-2019/src/test/test_buffer_node.cpp | 442 --
.../src/test/test_cache_aligned_allocator.cpp | 76 -
.../test/test_cache_aligned_allocator_STL.cpp | 42 -
src/tbb-2019/src/test/test_cilk_common.h | 79 -
.../src/test/test_cilk_dynamic_load.cpp | 152 -
src/tbb-2019/src/test/test_cilk_interop.cpp | 151 -
src/tbb-2019/src/test/test_combinable.cpp | 516 ---
src/tbb-2019/src/test/test_composite_node.cpp | 586 ---
.../test/test_concurrent_associative_common.h | 1488 ------
.../src/test/test_concurrent_hash_map.cpp | 1677 -------
.../src/test/test_concurrent_lru_cache.cpp | 462 --
src/tbb-2019/src/test/test_concurrent_map.cpp | 267 --
.../src/test/test_concurrent_monitor.cpp | 365 --
.../src/test/test_concurrent_ordered_common.h | 349 --
.../test/test_concurrent_priority_queue.cpp | 1213 -----
.../src/test/test_concurrent_queue.cpp | 1757 --------
.../test/test_concurrent_queue_whitebox.cpp | 97 -
src/tbb-2019/src/test/test_concurrent_set.cpp | 255 --
.../test/test_concurrent_unordered_common.h | 293 --
.../test/test_concurrent_unordered_map.cpp | 252 --
.../test/test_concurrent_unordered_set.cpp | 272 --
.../src/test/test_concurrent_vector.cpp | 1874 --------
.../src/test/test_condition_variable.h | 763 ----
.../src/test/test_container_move_support.h | 899 ----
src/tbb-2019/src/test/test_continue_node.cpp | 414 --
.../src/test/test_critical_section.cpp | 212 -
src/tbb-2019/src/test/test_dynamic_link.cpp | 80 -
src/tbb-2019/src/test/test_eh_algorithms.cpp | 1579 -------
src/tbb-2019/src/test/test_eh_flow_graph.cpp | 2040 ---------
src/tbb-2019/src/test/test_eh_tasks.cpp | 787 ----
.../test/test_enumerable_thread_specific.cpp | 1380 ------
.../src/test/test_environment_whitebox.cpp | 241 -
.../src/test/test_examples_common_utility.cpp | 598 ---
src/tbb-2019/src/test/test_fast_random.cpp | 196 -
src/tbb-2019/src/test/test_flow_graph.cpp | 372 --
.../src/test/test_flow_graph_priorities.cpp | 599 ---
.../src/test/test_flow_graph_whitebox.cpp | 708 ---
src/tbb-2019/src/test/test_fp.cpp | 381 --
src/tbb-2019/src/test/test_function_node.cpp | 595 ---
src/tbb-2019/src/test/test_global_control.cpp | 787 ----
.../src/test/test_global_control_whitebox.cpp | 78 -
src/tbb-2019/src/test/test_halt.cpp | 109 -
src/tbb-2019/src/test/test_handle_perror.cpp | 54 -
src/tbb-2019/src/test/test_hw_concurrency.cpp | 52 -
src/tbb-2019/src/test/test_indexer_node.cpp | 884 ----
src/tbb-2019/src/test/test_initializer_list.h | 172 -
src/tbb-2019/src/test/test_inits_loop.cpp | 90 -
src/tbb-2019/src/test/test_intrusive_list.cpp | 146 -
src/tbb-2019/src/test/test_iterators.cpp | 280 --
src/tbb-2019/src/test/test_ittnotify.cpp | 89 -
src/tbb-2019/src/test/test_join_node.cpp | 130 -
src/tbb-2019/src/test/test_join_node.h | 2151 ---------
.../src/test/test_join_node_key_matching.cpp | 67 -
.../test/test_join_node_msg_key_matching.cpp | 76 -
src/tbb-2019/src/test/test_lambda.cpp | 235 -
src/tbb-2019/src/test/test_limiter_node.cpp | 627 ---
src/tbb-2019/src/test/test_malloc_atexit.cpp | 157 -
.../src/test/test_malloc_compliance.cpp | 1121 -----
.../src/test/test_malloc_init_shutdown.cpp | 176 -
.../src/test/test_malloc_lib_unload.cpp | 218 -
.../src/test/test_malloc_new_handler.cpp | 81 -
.../src/test/test_malloc_overload.cpp | 477 --
.../src/test/test_malloc_overload_disable.cpp | 69 -
src/tbb-2019/src/test/test_malloc_pools.cpp | 883 ----
src/tbb-2019/src/test/test_malloc_pure_c.c | 128 -
.../src/test/test_malloc_regression.cpp | 186 -
.../src/test/test_malloc_shutdown_hang.cpp | 125 -
.../src/test/test_malloc_used_by_lib.cpp | 167 -
.../src/test/test_malloc_whitebox.cpp | 1629 -------
src/tbb-2019/src/test/test_model_plugin.cpp | 216 -
.../src/test/test_multifunction_node.cpp | 702 ---
src/tbb-2019/src/test/test_mutex.cpp | 711 ---
.../src/test/test_mutex_native_threads.cpp | 217 -
.../src/test/test_opencl_kernel_32.spir | Bin 1440 -> 0 bytes
.../src/test/test_opencl_kernel_64.spir | Bin 1468 -> 0 bytes
src/tbb-2019/src/test/test_opencl_node.cl | 185 -
src/tbb-2019/src/test/test_opencl_node.cpp | 911 ----
.../test_opencl_precompiled_kernel_gpu_32.ir | Bin 4110 -> 0 bytes
.../test_opencl_precompiled_kernel_gpu_64.ir | Bin 4186 -> 0 bytes
src/tbb-2019/src/test/test_openmp.cpp | 246 -
src/tbb-2019/src/test/test_overwrite_node.cpp | 161 -
src/tbb-2019/src/test/test_parallel_do.cpp | 424 --
src/tbb-2019/src/test/test_parallel_for.cpp | 777 ----
.../src/test/test_parallel_for_each.cpp | 244 -
.../test/test_parallel_for_vectorization.cpp | 71 -
.../src/test/test_parallel_invoke.cpp | 317 --
.../src/test/test_parallel_pipeline.cpp | 664 ---
.../src/test/test_parallel_reduce.cpp | 491 --
src/tbb-2019/src/test/test_parallel_scan.cpp | 459 --
src/tbb-2019/src/test/test_parallel_sort.cpp | 556 ---
src/tbb-2019/src/test/test_parallel_while.cpp | 167 -
src/tbb-2019/src/test/test_partitioner.h | 607 ---
.../src/test/test_partitioner_whitebox.cpp | 147 -
.../src/test/test_partitioner_whitebox.h | 467 --
src/tbb-2019/src/test/test_pipeline.cpp | 309 --
.../src/test/test_pipeline_with_tbf.cpp | 528 ---
.../src/test/test_priority_queue_node.cpp | 353 --
src/tbb-2019/src/test/test_queue_node.cpp | 468 --
src/tbb-2019/src/test/test_range_based_for.h | 75 -
.../src/test/test_reader_writer_lock.cpp | 234 -
src/tbb-2019/src/test/test_runtime_loader.cpp | 281 --
.../src/test/test_rwm_upgrade_downgrade.cpp | 70 -
src/tbb-2019/src/test/test_semaphore.cpp | 311 --
src/tbb-2019/src/test/test_sequencer_node.cpp | 405 --
src/tbb-2019/src/test/test_source_node.cpp | 420 --
src/tbb-2019/src/test/test_split_node.cpp | 355 --
src/tbb-2019/src/test/test_static_assert.cpp | 85 -
src/tbb-2019/src/test/test_std_thread.cpp | 39 -
src/tbb-2019/src/test/test_streaming_node.cpp | 913 ----
src/tbb-2019/src/test/test_tagged_msg.cpp | 259 --
src/tbb-2019/src/test/test_task.cpp | 1345 ------
src/tbb-2019/src/test/test_task_arena.cpp | 1675 -------
.../src/test/test_task_assertions.cpp | 90 -
src/tbb-2019/src/test/test_task_auto_init.cpp | 198 -
src/tbb-2019/src/test/test_task_enqueue.cpp | 376 --
src/tbb-2019/src/test/test_task_group.cpp | 1024 -----
src/tbb-2019/src/test/test_task_leaks.cpp | 268 --
src/tbb-2019/src/test/test_task_priority.cpp | 671 ---
.../src/test/test_task_scheduler_init.cpp | 367 --
.../src/test/test_task_scheduler_observer.cpp | 344 --
.../src/test/test_task_steal_limit.cpp | 75 -
.../src/test/test_tbb_condition_variable.cpp | 25 -
src/tbb-2019/src/test/test_tbb_fork.cpp | 326 --
src/tbb-2019/src/test/test_tbb_header.cpp | 362 --
src/tbb-2019/src/test/test_tbb_thread.cpp | 29 -
src/tbb-2019/src/test/test_tbb_version.cpp | 284 --
src/tbb-2019/src/test/test_thread.h | 305 --
src/tbb-2019/src/test/test_tick_count.cpp | 199 -
src/tbb-2019/src/test/test_tuple.cpp | 200 -
.../src/test/test_write_once_node.cpp | 170 -
src/tbb-2019/src/test/test_yield.cpp | 64 -
src/tbb-compat/tbb-compat.cpp | 143 +
tools/config/cleanup.R | 1 -
tools/config/configure.R | 28 +-
609 files changed, 189 insertions(+), 190086 deletions(-)
delete mode 100644 src/tbb-2019/CHANGES
delete mode 100644 src/tbb-2019/COPYING
delete mode 100644 src/tbb-2019/Doxyfile
delete mode 100644 src/tbb-2019/LICENSE
delete mode 100644 src/tbb-2019/Makefile
delete mode 100644 src/tbb-2019/README
delete mode 100644 src/tbb-2019/README.md
delete mode 100644 src/tbb-2019/build/.gitignore
delete mode 100644 src/tbb-2019/build/AIX.gcc.inc
delete mode 100644 src/tbb-2019/build/AIX.inc
delete mode 100644 src/tbb-2019/build/BSD.clang.inc
delete mode 100644 src/tbb-2019/build/BSD.inc
delete mode 100644 src/tbb-2019/build/FreeBSD.clang.inc
delete mode 100644 src/tbb-2019/build/FreeBSD.gcc.inc
delete mode 100644 src/tbb-2019/build/FreeBSD.inc
delete mode 100644 src/tbb-2019/build/Makefile.rml
delete mode 100644 src/tbb-2019/build/Makefile.tbb
delete mode 100644 src/tbb-2019/build/Makefile.tbbmalloc
delete mode 100644 src/tbb-2019/build/Makefile.tbbproxy
delete mode 100644 src/tbb-2019/build/Makefile.test
delete mode 100644 src/tbb-2019/build/OpenBSD.clang.inc
delete mode 100644 src/tbb-2019/build/OpenBSD.inc
delete mode 100644 src/tbb-2019/build/SunOS.gcc.inc
delete mode 100644 src/tbb-2019/build/SunOS.inc
delete mode 100644 src/tbb-2019/build/SunOS.suncc.inc
delete mode 100644 src/tbb-2019/build/android.clang.inc
delete mode 100644 src/tbb-2019/build/android.gcc.inc
delete mode 100644 src/tbb-2019/build/android.icc.inc
delete mode 100644 src/tbb-2019/build/android.inc
delete mode 100644 src/tbb-2019/build/android.linux.inc
delete mode 100644 src/tbb-2019/build/android.linux.launcher.sh
delete mode 100644 src/tbb-2019/build/android.macos.inc
delete mode 100644 src/tbb-2019/build/android.windows.inc
delete mode 100644 src/tbb-2019/build/big_iron.inc
delete mode 100644 src/tbb-2019/build/build.py
delete mode 100644 src/tbb-2019/build/codecov.txt
delete mode 100644 src/tbb-2019/build/common.inc
delete mode 100644 src/tbb-2019/build/common_rules.inc
delete mode 100644 src/tbb-2019/build/detect.js
delete mode 100644 src/tbb-2019/build/generate_tbbvars.bat
delete mode 100644 src/tbb-2019/build/generate_tbbvars.sh
delete mode 100644 src/tbb-2019/build/index.html
delete mode 100644 src/tbb-2019/build/ios.clang.inc
delete mode 100644 src/tbb-2019/build/ios.macos.inc
delete mode 100644 src/tbb-2019/build/linux.clang.inc
delete mode 100644 src/tbb-2019/build/linux.gcc.inc
delete mode 100644 src/tbb-2019/build/linux.icc.inc
delete mode 100644 src/tbb-2019/build/linux.inc
delete mode 100644 src/tbb-2019/build/linux.pathcc.inc
delete mode 100644 src/tbb-2019/build/linux.xl.inc
delete mode 100644 src/tbb-2019/build/macos.clang.inc
delete mode 100644 src/tbb-2019/build/macos.gcc.inc
delete mode 100644 src/tbb-2019/build/macos.icc.inc
delete mode 100644 src/tbb-2019/build/macos.inc
delete mode 100644 src/tbb-2019/build/mic.icc.inc
delete mode 100644 src/tbb-2019/build/mic.linux.inc
delete mode 100644 src/tbb-2019/build/mic.linux.launcher.sh
delete mode 100644 src/tbb-2019/build/mic.offload.inc
delete mode 100644 src/tbb-2019/build/suncc.map.pause
delete mode 100644 src/tbb-2019/build/test_launcher.bat
delete mode 100644 src/tbb-2019/build/test_launcher.sh
delete mode 100644 src/tbb-2019/build/version_info_aix.sh
delete mode 100644 src/tbb-2019/build/version_info_android.sh
delete mode 100644 src/tbb-2019/build/version_info_linux.sh
delete mode 100644 src/tbb-2019/build/version_info_macos.sh
delete mode 100644 src/tbb-2019/build/version_info_sunos.sh
delete mode 100644 src/tbb-2019/build/version_info_windows.js
delete mode 100644 src/tbb-2019/build/vs2013/index.html
delete mode 100644 src/tbb-2019/build/vs2013/makefile.sln
delete mode 100644 src/tbb-2019/build/vs2013/tbb.vcxproj
delete mode 100644 src/tbb-2019/build/vs2013/tbbmalloc.vcxproj
delete mode 100644 src/tbb-2019/build/vs2013/tbbmalloc_proxy.vcxproj
delete mode 100644 src/tbb-2019/build/vs2013/version_string.ver
delete mode 100644 src/tbb-2019/build/windows.cl.inc
delete mode 100644 src/tbb-2019/build/windows.gcc.inc
delete mode 100644 src/tbb-2019/build/windows.icl.inc
delete mode 100644 src/tbb-2019/build/windows.inc
delete mode 100644 src/tbb-2019/cmake/README.rst
delete mode 100644 src/tbb-2019/cmake/TBBBuild.cmake
delete mode 100644 src/tbb-2019/cmake/TBBGet.cmake
delete mode 100644 src/tbb-2019/cmake/TBBInstallConfig.cmake
delete mode 100644 src/tbb-2019/cmake/TBBMakeConfig.cmake
delete mode 100644 src/tbb-2019/cmake/tbb_config_generator.cmake
delete mode 100644 src/tbb-2019/cmake/tbb_config_installer.cmake
delete mode 100644 src/tbb-2019/cmake/templates/TBBConfig.cmake.in
delete mode 100644 src/tbb-2019/cmake/templates/TBBConfigInternal.cmake.in
delete mode 100644 src/tbb-2019/cmake/templates/TBBConfigVersion.cmake.in
delete mode 100644 src/tbb-2019/doc/Release_Notes.txt
delete mode 100644 src/tbb-2019/doc/copyright_brand_disclaimer_doxygen.txt
delete mode 100644 src/tbb-2019/include/index.html
delete mode 100644 src/tbb-2019/include/serial/tbb/parallel_for.h
delete mode 100644 src/tbb-2019/include/serial/tbb/tbb_annotate.h
delete mode 100644 src/tbb-2019/include/tbb/aggregator.h
delete mode 100644 src/tbb-2019/include/tbb/aligned_space.h
delete mode 100644 src/tbb-2019/include/tbb/atomic.h
delete mode 100644 src/tbb-2019/include/tbb/blocked_range.h
delete mode 100644 src/tbb-2019/include/tbb/blocked_range2d.h
delete mode 100644 src/tbb-2019/include/tbb/blocked_range3d.h
delete mode 100644 src/tbb-2019/include/tbb/blocked_rangeNd.h
delete mode 100644 src/tbb-2019/include/tbb/cache_aligned_allocator.h
delete mode 100644 src/tbb-2019/include/tbb/combinable.h
delete mode 100644 src/tbb-2019/include/tbb/compat/condition_variable
delete mode 100644 src/tbb-2019/include/tbb/compat/iterator.h
delete mode 100644 src/tbb-2019/include/tbb/compat/ppl.h
delete mode 100644 src/tbb-2019/include/tbb/compat/thread
delete mode 100644 src/tbb-2019/include/tbb/compat/tuple
delete mode 100644 src/tbb-2019/include/tbb/concurrent_hash_map.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_lru_cache.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_map.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_priority_queue.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_queue.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_set.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_unordered_map.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_unordered_set.h
delete mode 100644 src/tbb-2019/include/tbb/concurrent_vector.h
delete mode 100644 src/tbb-2019/include/tbb/critical_section.h
delete mode 100644 src/tbb-2019/include/tbb/enumerable_thread_specific.h
delete mode 100644 src/tbb-2019/include/tbb/flow_graph.h
delete mode 100644 src/tbb-2019/include/tbb/flow_graph_abstractions.h
delete mode 100644 src/tbb-2019/include/tbb/flow_graph_opencl_node.h
delete mode 100644 src/tbb-2019/include/tbb/gfx_factory.h
delete mode 100644 src/tbb-2019/include/tbb/global_control.h
delete mode 100644 src/tbb-2019/include/tbb/index.html
delete mode 100644 src/tbb-2019/include/tbb/internal/_aggregator_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_allocator_traits.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_concurrent_queue_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_concurrent_skip_list_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_concurrent_unordered_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_async_msg_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_body_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_cache_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_indexer_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_item_buffer_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_join_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_node_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_streaming_node.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_tagged_buffer_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_trace_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_flow_graph_types_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_mutex_padding.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_node_handle_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_range_iterator.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_tbb_hash_compare_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_tbb_strings.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_tbb_trace_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_tbb_windef.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_template_helpers.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_x86_eliding_mutex_impl.h
delete mode 100644 src/tbb-2019/include/tbb/internal/_x86_rtm_rw_mutex_impl.h
delete mode 100644 src/tbb-2019/include/tbb/iterators.h
delete mode 100644 src/tbb-2019/include/tbb/machine/gcc_arm.h
delete mode 100644 src/tbb-2019/include/tbb/machine/gcc_armv7.h
delete mode 100644 src/tbb-2019/include/tbb/machine/gcc_generic.h
delete mode 100644 src/tbb-2019/include/tbb/machine/gcc_ia32_common.h
delete mode 100644 src/tbb-2019/include/tbb/machine/gcc_itsx.h
delete mode 100644 src/tbb-2019/include/tbb/machine/ibm_aix51.h
delete mode 100644 src/tbb-2019/include/tbb/machine/icc_generic.h
delete mode 100644 src/tbb-2019/include/tbb/machine/linux_common.h
delete mode 100644 src/tbb-2019/include/tbb/machine/linux_ia32.h
delete mode 100644 src/tbb-2019/include/tbb/machine/linux_ia64.h
delete mode 100644 src/tbb-2019/include/tbb/machine/linux_intel64.h
delete mode 100644 src/tbb-2019/include/tbb/machine/mac_ppc.h
delete mode 100644 src/tbb-2019/include/tbb/machine/macos_common.h
delete mode 100644 src/tbb-2019/include/tbb/machine/mic_common.h
delete mode 100644 src/tbb-2019/include/tbb/machine/msvc_armv7.h
delete mode 100644 src/tbb-2019/include/tbb/machine/msvc_ia32_common.h
delete mode 100644 src/tbb-2019/include/tbb/machine/sunos_sparc.h
delete mode 100644 src/tbb-2019/include/tbb/machine/windows_api.h
delete mode 100644 src/tbb-2019/include/tbb/machine/windows_ia32.h
delete mode 100644 src/tbb-2019/include/tbb/machine/windows_intel64.h
delete mode 100644 src/tbb-2019/include/tbb/memory_pool.h
delete mode 100644 src/tbb-2019/include/tbb/mutex.h
delete mode 100644 src/tbb-2019/include/tbb/null_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/null_rw_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_do.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_for.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_for_each.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_invoke.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_reduce.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_scan.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_sort.h
delete mode 100644 src/tbb-2019/include/tbb/parallel_while.h
delete mode 100644 src/tbb-2019/include/tbb/partitioner.h
delete mode 100644 src/tbb-2019/include/tbb/pipeline.h
delete mode 100644 src/tbb-2019/include/tbb/queuing_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/queuing_rw_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/reader_writer_lock.h
delete mode 100644 src/tbb-2019/include/tbb/recursive_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/runtime_loader.h
delete mode 100644 src/tbb-2019/include/tbb/scalable_allocator.h
delete mode 100644 src/tbb-2019/include/tbb/spin_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/spin_rw_mutex.h
delete mode 100644 src/tbb-2019/include/tbb/task.h
delete mode 100644 src/tbb-2019/include/tbb/task_arena.h
delete mode 100644 src/tbb-2019/include/tbb/task_group.h
delete mode 100644 src/tbb-2019/include/tbb/task_scheduler_init.h
delete mode 100644 src/tbb-2019/include/tbb/task_scheduler_observer.h
delete mode 100644 src/tbb-2019/include/tbb/tbb.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_allocator.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_config.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_disable_exceptions.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_exception.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_machine.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_profiling.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_stddef.h
delete mode 100644 src/tbb-2019/include/tbb/tbb_thread.h
delete mode 100644 src/tbb-2019/include/tbb/tbbmalloc_proxy.h
delete mode 100644 src/tbb-2019/include/tbb/tick_count.h
delete mode 100644 src/tbb-2019/index.html
delete mode 100644 src/tbb-2019/jni/Android.mk
delete mode 100644 src/tbb-2019/jni/Application.mk
delete mode 100644 src/tbb-2019/python/Makefile
delete mode 100644 src/tbb-2019/python/TBB.py
delete mode 100644 src/tbb-2019/python/index.html
delete mode 100644 src/tbb-2019/python/rml/Makefile
delete mode 100644 src/tbb-2019/python/rml/ipc_server.cpp
delete mode 100644 src/tbb-2019/python/rml/ipc_utils.cpp
delete mode 100644 src/tbb-2019/python/rml/ipc_utils.h
delete mode 100644 src/tbb-2019/python/setup.py
delete mode 100644 src/tbb-2019/python/tbb/__init__.py
delete mode 100644 src/tbb-2019/python/tbb/__main__.py
delete mode 100644 src/tbb-2019/python/tbb/api.i
delete mode 100644 src/tbb-2019/python/tbb/pool.py
delete mode 100644 src/tbb-2019/python/tbb/test.py
delete mode 100644 src/tbb-2019/src/Makefile
delete mode 100644 src/tbb-2019/src/index.html
delete mode 100644 src/tbb-2019/src/old/concurrent_queue_v2.cpp
delete mode 100644 src/tbb-2019/src/old/concurrent_queue_v2.h
delete mode 100644 src/tbb-2019/src/old/concurrent_vector_v2.cpp
delete mode 100644 src/tbb-2019/src/old/concurrent_vector_v2.h
delete mode 100644 src/tbb-2019/src/old/spin_rw_mutex_v2.cpp
delete mode 100644 src/tbb-2019/src/old/spin_rw_mutex_v2.h
delete mode 100644 src/tbb-2019/src/old/task_v2.cpp
delete mode 100644 src/tbb-2019/src/old/test_concurrent_queue_v2.cpp
delete mode 100644 src/tbb-2019/src/old/test_concurrent_vector_v2.cpp
delete mode 100644 src/tbb-2019/src/old/test_mutex_v2.cpp
delete mode 100644 src/tbb-2019/src/old/test_task_scheduler_observer_v3.cpp
delete mode 100644 src/tbb-2019/src/perf/coarse_grained_raii_lru_cache.h
delete mode 100644 src/tbb-2019/src/perf/cpq_pdes.cpp
delete mode 100644 src/tbb-2019/src/perf/fibonacci_impl_tbb.cpp
delete mode 100644 src/tbb-2019/src/perf/perf.cpp
delete mode 100644 src/tbb-2019/src/perf/perf.h
delete mode 100644 src/tbb-2019/src/perf/perf_sched.cpp
delete mode 100644 src/tbb-2019/src/perf/run_statistics.sh
delete mode 100644 src/tbb-2019/src/perf/statistics.cpp
delete mode 100644 src/tbb-2019/src/perf/statistics.h
delete mode 100644 src/tbb-2019/src/perf/statistics_xml.h
delete mode 100644 src/tbb-2019/src/perf/time_async_return.cpp
delete mode 100644 src/tbb-2019/src/perf/time_cpq_throughput_test.cpp
delete mode 100644 src/tbb-2019/src/perf/time_fibonacci_cutoff.cpp
delete mode 100644 src/tbb-2019/src/perf/time_framework.h
delete mode 100644 src/tbb-2019/src/perf/time_hash_map.cpp
delete mode 100644 src/tbb-2019/src/perf/time_hash_map_fill.cpp
delete mode 100644 src/tbb-2019/src/perf/time_hash_map_fill.html
delete mode 100644 src/tbb-2019/src/perf/time_locked_work.cpp
delete mode 100644 src/tbb-2019/src/perf/time_lru_cache_throughput.cpp
delete mode 100644 src/tbb-2019/src/perf/time_parallel_for_each.cpp
delete mode 100644 src/tbb-2019/src/perf/time_sandbox.h
delete mode 100644 src/tbb-2019/src/perf/time_split_node.cpp
delete mode 100644 src/tbb-2019/src/perf/time_vector.cpp
delete mode 100644 src/tbb-2019/src/rml/client/index.html
delete mode 100644 src/tbb-2019/src/rml/client/library_assert.h
delete mode 100644 src/tbb-2019/src/rml/client/omp_dynamic_link.cpp
delete mode 100644 src/tbb-2019/src/rml/client/omp_dynamic_link.h
delete mode 100644 src/tbb-2019/src/rml/client/rml_factory.h
delete mode 100644 src/tbb-2019/src/rml/client/rml_omp.cpp
delete mode 100644 src/tbb-2019/src/rml/client/rml_tbb.cpp
delete mode 100644 src/tbb-2019/src/rml/include/index.html
delete mode 100644 src/tbb-2019/src/rml/include/rml_base.h
delete mode 100644 src/tbb-2019/src/rml/include/rml_omp.h
delete mode 100644 src/tbb-2019/src/rml/include/rml_tbb.h
delete mode 100644 src/tbb-2019/src/rml/index.html
delete mode 100644 src/tbb-2019/src/rml/perfor/omp_nested.cpp
delete mode 100644 src/tbb-2019/src/rml/perfor/omp_simple.cpp
delete mode 100644 src/tbb-2019/src/rml/perfor/tbb_multi_omp.cpp
delete mode 100644 src/tbb-2019/src/rml/perfor/tbb_simple.cpp
delete mode 100644 src/tbb-2019/src/rml/perfor/thread_level.h
delete mode 100644 src/tbb-2019/src/rml/server/index.html
delete mode 100644 src/tbb-2019/src/rml/server/irml.rc
delete mode 100644 src/tbb-2019/src/rml/server/job_automaton.h
delete mode 100644 src/tbb-2019/src/rml/server/lin-rml-export.def
delete mode 100644 src/tbb-2019/src/rml/server/rml_server.cpp
delete mode 100644 src/tbb-2019/src/rml/server/thread_monitor.h
delete mode 100644 src/tbb-2019/src/rml/server/wait_counter.h
delete mode 100644 src/tbb-2019/src/rml/server/win32-rml-export.def
delete mode 100644 src/tbb-2019/src/rml/server/win64-rml-export.def
delete mode 100644 src/tbb-2019/src/rml/test/rml_omp_stub.cpp
delete mode 100644 src/tbb-2019/src/rml/test/test_job_automaton.cpp
delete mode 100644 src/tbb-2019/src/rml/test/test_rml_mixed.cpp
delete mode 100644 src/tbb-2019/src/rml/test/test_rml_omp.cpp
delete mode 100644 src/tbb-2019/src/rml/test/test_rml_omp_c_linkage.c
delete mode 100644 src/tbb-2019/src/rml/test/test_rml_tbb.cpp
delete mode 100644 src/tbb-2019/src/rml/test/test_server.h
delete mode 100644 src/tbb-2019/src/rml/test/test_thread_monitor.cpp
delete mode 100644 src/tbb-2019/src/tbb/arena.cpp
delete mode 100644 src/tbb-2019/src/tbb/arena.h
delete mode 100644 src/tbb-2019/src/tbb/cache_aligned_allocator.cpp
delete mode 100644 src/tbb-2019/src/tbb/cilk-tbb-interop.h
delete mode 100644 src/tbb-2019/src/tbb/concurrent_hash_map.cpp
delete mode 100644 src/tbb-2019/src/tbb/concurrent_monitor.cpp
delete mode 100644 src/tbb-2019/src/tbb/concurrent_monitor.h
delete mode 100644 src/tbb-2019/src/tbb/concurrent_queue.cpp
delete mode 100644 src/tbb-2019/src/tbb/concurrent_vector.cpp
delete mode 100644 src/tbb-2019/src/tbb/condition_variable.cpp
delete mode 100644 src/tbb-2019/src/tbb/critical_section.cpp
delete mode 100644 src/tbb-2019/src/tbb/custom_scheduler.h
delete mode 100644 src/tbb-2019/src/tbb/dynamic_link.cpp
delete mode 100644 src/tbb-2019/src/tbb/dynamic_link.h
delete mode 100644 src/tbb-2019/src/tbb/governor.cpp
delete mode 100644 src/tbb-2019/src/tbb/governor.h
delete mode 100644 src/tbb-2019/src/tbb/ia32-masm/atomic_support.asm
delete mode 100644 src/tbb-2019/src/tbb/ia32-masm/itsx.asm
delete mode 100644 src/tbb-2019/src/tbb/ia32-masm/lock_byte.asm
delete mode 100644 src/tbb-2019/src/tbb/ia64-gas/atomic_support.s
delete mode 100644 src/tbb-2019/src/tbb/ia64-gas/ia64_misc.s
delete mode 100644 src/tbb-2019/src/tbb/ia64-gas/lock_byte.s
delete mode 100644 src/tbb-2019/src/tbb/ia64-gas/log2.s
delete mode 100644 src/tbb-2019/src/tbb/ia64-gas/pause.s
delete mode 100644 src/tbb-2019/src/tbb/ibm_aix51/atomic_support.c
delete mode 100644 src/tbb-2019/src/tbb/index.html
delete mode 100644 src/tbb-2019/src/tbb/intel64-masm/atomic_support.asm
delete mode 100644 src/tbb-2019/src/tbb/intel64-masm/intel64_misc.asm
delete mode 100644 src/tbb-2019/src/tbb/intel64-masm/itsx.asm
delete mode 100644 src/tbb-2019/src/tbb/intrusive_list.h
delete mode 100644 src/tbb-2019/src/tbb/itt_notify.cpp
delete mode 100644 src/tbb-2019/src/tbb/itt_notify.h
delete mode 100644 src/tbb-2019/src/tbb/lin32-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/lin32-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/lin64-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/lin64-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/lin64ipf-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/lin64ipf-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/mac32-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/mac32-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/mac64-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/mac64-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/mailbox.h
delete mode 100644 src/tbb-2019/src/tbb/market.cpp
delete mode 100644 src/tbb-2019/src/tbb/market.h
delete mode 100644 src/tbb-2019/src/tbb/mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/observer_proxy.cpp
delete mode 100644 src/tbb-2019/src/tbb/observer_proxy.h
delete mode 100644 src/tbb-2019/src/tbb/pipeline.cpp
delete mode 100644 src/tbb-2019/src/tbb/private_server.cpp
delete mode 100644 src/tbb-2019/src/tbb/queuing_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/queuing_rw_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/reader_writer_lock.cpp
delete mode 100644 src/tbb-2019/src/tbb/recursive_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/scheduler.cpp
delete mode 100644 src/tbb-2019/src/tbb/scheduler.h
delete mode 100644 src/tbb-2019/src/tbb/scheduler_common.h
delete mode 100644 src/tbb-2019/src/tbb/scheduler_utility.h
delete mode 100644 src/tbb-2019/src/tbb/semaphore.cpp
delete mode 100644 src/tbb-2019/src/tbb/semaphore.h
delete mode 100644 src/tbb-2019/src/tbb/spin_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/spin_rw_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbb/task.cpp
delete mode 100644 src/tbb-2019/src/tbb/task_group_context.cpp
delete mode 100644 src/tbb-2019/src/tbb/task_stream.h
delete mode 100644 src/tbb-2019/src/tbb/task_stream_extended.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_assert_impl.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_environment.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_main.cpp
delete mode 100644 src/tbb-2019/src/tbb/tbb_main.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_misc.cpp
delete mode 100644 src/tbb-2019/src/tbb/tbb_misc.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_misc_ex.cpp
delete mode 100644 src/tbb-2019/src/tbb/tbb_resource.rc
delete mode 100644 src/tbb-2019/src/tbb/tbb_statistics.cpp
delete mode 100644 src/tbb-2019/src/tbb/tbb_statistics.h
delete mode 100644 src/tbb-2019/src/tbb/tbb_thread.cpp
delete mode 100644 src/tbb-2019/src/tbb/tbb_version.h
delete mode 100644 src/tbb-2019/src/tbb/tls.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/disable_warnings.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/ittnotify.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/ittnotify_config.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/ittnotify_static.c
delete mode 100644 src/tbb-2019/src/tbb/tools_api/ittnotify_static.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/ittnotify_types.h
delete mode 100644 src/tbb-2019/src/tbb/tools_api/legacy/ittnotify.h
delete mode 100644 src/tbb-2019/src/tbb/win32-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/win32-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/win64-gcc-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/win64-gcc-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/win64-tbb-export.def
delete mode 100644 src/tbb-2019/src/tbb/win64-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/winrt-tbb-export.lst
delete mode 100644 src/tbb-2019/src/tbb/x86_rtm_rw_mutex.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/Customize.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/MapMemory.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/Statistics.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/Synchronize.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/TypeDefinitions.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/backend.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/backend.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/backref.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/frontend.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/index.html
delete mode 100644 src/tbb-2019/src/tbbmalloc/large_objects.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/large_objects.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin32-proxy-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin32-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin64-proxy-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin64-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin64ipf-proxy-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/lin64ipf-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/mac32-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/mac64-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/proxy.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/proxy.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/proxy_overload_osx.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/shared_utils.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbb_function_replacement.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbb_function_replacement.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbbmalloc.cpp
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbbmalloc.rc
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbbmalloc_internal.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/tbbmalloc_internal_api.h
delete mode 100644 src/tbb-2019/src/tbbmalloc/win32-gcc-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/win32-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/win64-gcc-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbmalloc/win64-tbbmalloc-export.def
delete mode 100644 src/tbb-2019/src/tbbproxy/tbbproxy-windows.asm
delete mode 100644 src/tbb-2019/src/tbbproxy/tbbproxy.cpp
delete mode 100644 src/tbb-2019/src/test/harness.h
delete mode 100644 src/tbb-2019/src/test/harness_allocator.h
delete mode 100644 src/tbb-2019/src/test/harness_allocator_overload.h
delete mode 100644 src/tbb-2019/src/test/harness_assert.h
delete mode 100644 src/tbb-2019/src/test/harness_bad_expr.h
delete mode 100644 src/tbb-2019/src/test/harness_barrier.h
delete mode 100644 src/tbb-2019/src/test/harness_checktype.h
delete mode 100644 src/tbb-2019/src/test/harness_concurrency.h
delete mode 100644 src/tbb-2019/src/test/harness_concurrency_tracker.h
delete mode 100644 src/tbb-2019/src/test/harness_cpu.h
delete mode 100644 src/tbb-2019/src/test/harness_defs.h
delete mode 100644 src/tbb-2019/src/test/harness_dynamic_libs.h
delete mode 100644 src/tbb-2019/src/test/harness_eh.h
delete mode 100644 src/tbb-2019/src/test/harness_fp.h
delete mode 100644 src/tbb-2019/src/test/harness_graph.h
delete mode 100644 src/tbb-2019/src/test/harness_inject_scheduler.h
delete mode 100644 src/tbb-2019/src/test/harness_iterator.h
delete mode 100644 src/tbb-2019/src/test/harness_m128.h
delete mode 100644 src/tbb-2019/src/test/harness_memory.h
delete mode 100644 src/tbb-2019/src/test/harness_mic.h
delete mode 100644 src/tbb-2019/src/test/harness_preload.h
delete mode 100644 src/tbb-2019/src/test/harness_report.h
delete mode 100644 src/tbb-2019/src/test/harness_runtime_loader.h
delete mode 100644 src/tbb-2019/src/test/harness_state_trackable.h
delete mode 100644 src/tbb-2019/src/test/harness_task.h
delete mode 100644 src/tbb-2019/src/test/harness_tbb_independence.h
delete mode 100644 src/tbb-2019/src/test/harness_test_cases_framework.h
delete mode 100644 src/tbb-2019/src/test/harness_tls.h
delete mode 100644 src/tbb-2019/src/test/harness_tsx.h
delete mode 100644 src/tbb-2019/src/test/test_ScalableAllocator.cpp
delete mode 100644 src/tbb-2019/src/test/test_ScalableAllocator_STL.cpp
delete mode 100644 src/tbb-2019/src/test/test_aggregator.cpp
delete mode 100644 src/tbb-2019/src/test/test_aligned_space.cpp
delete mode 100644 src/tbb-2019/src/test/test_allocator.h
delete mode 100644 src/tbb-2019/src/test/test_allocator_STL.h
delete mode 100644 src/tbb-2019/src/test/test_assembly.cpp
delete mode 100644 src/tbb-2019/src/test/test_async_msg.cpp
delete mode 100644 src/tbb-2019/src/test/test_async_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_atomic.cpp
delete mode 100644 src/tbb-2019/src/test/test_blocked_range.cpp
delete mode 100644 src/tbb-2019/src/test/test_blocked_range2d.cpp
delete mode 100644 src/tbb-2019/src/test/test_blocked_range3d.cpp
delete mode 100644 src/tbb-2019/src/test/test_blocked_rangeNd.cpp
delete mode 100644 src/tbb-2019/src/test/test_broadcast_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_buffer_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_cache_aligned_allocator.cpp
delete mode 100644 src/tbb-2019/src/test/test_cache_aligned_allocator_STL.cpp
delete mode 100644 src/tbb-2019/src/test/test_cilk_common.h
delete mode 100644 src/tbb-2019/src/test/test_cilk_dynamic_load.cpp
delete mode 100644 src/tbb-2019/src/test/test_cilk_interop.cpp
delete mode 100644 src/tbb-2019/src/test/test_combinable.cpp
delete mode 100644 src/tbb-2019/src/test/test_composite_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_associative_common.h
delete mode 100644 src/tbb-2019/src/test/test_concurrent_hash_map.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_lru_cache.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_map.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_monitor.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_ordered_common.h
delete mode 100644 src/tbb-2019/src/test/test_concurrent_priority_queue.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_queue.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_queue_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_set.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_unordered_common.h
delete mode 100644 src/tbb-2019/src/test/test_concurrent_unordered_map.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_unordered_set.cpp
delete mode 100644 src/tbb-2019/src/test/test_concurrent_vector.cpp
delete mode 100644 src/tbb-2019/src/test/test_condition_variable.h
delete mode 100644 src/tbb-2019/src/test/test_container_move_support.h
delete mode 100644 src/tbb-2019/src/test/test_continue_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_critical_section.cpp
delete mode 100644 src/tbb-2019/src/test/test_dynamic_link.cpp
delete mode 100644 src/tbb-2019/src/test/test_eh_algorithms.cpp
delete mode 100644 src/tbb-2019/src/test/test_eh_flow_graph.cpp
delete mode 100644 src/tbb-2019/src/test/test_eh_tasks.cpp
delete mode 100644 src/tbb-2019/src/test/test_enumerable_thread_specific.cpp
delete mode 100644 src/tbb-2019/src/test/test_environment_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_examples_common_utility.cpp
delete mode 100644 src/tbb-2019/src/test/test_fast_random.cpp
delete mode 100644 src/tbb-2019/src/test/test_flow_graph.cpp
delete mode 100644 src/tbb-2019/src/test/test_flow_graph_priorities.cpp
delete mode 100644 src/tbb-2019/src/test/test_flow_graph_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_fp.cpp
delete mode 100644 src/tbb-2019/src/test/test_function_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_global_control.cpp
delete mode 100644 src/tbb-2019/src/test/test_global_control_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_halt.cpp
delete mode 100644 src/tbb-2019/src/test/test_handle_perror.cpp
delete mode 100644 src/tbb-2019/src/test/test_hw_concurrency.cpp
delete mode 100644 src/tbb-2019/src/test/test_indexer_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_initializer_list.h
delete mode 100644 src/tbb-2019/src/test/test_inits_loop.cpp
delete mode 100644 src/tbb-2019/src/test/test_intrusive_list.cpp
delete mode 100644 src/tbb-2019/src/test/test_iterators.cpp
delete mode 100644 src/tbb-2019/src/test/test_ittnotify.cpp
delete mode 100644 src/tbb-2019/src/test/test_join_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_join_node.h
delete mode 100644 src/tbb-2019/src/test/test_join_node_key_matching.cpp
delete mode 100644 src/tbb-2019/src/test/test_join_node_msg_key_matching.cpp
delete mode 100644 src/tbb-2019/src/test/test_lambda.cpp
delete mode 100644 src/tbb-2019/src/test/test_limiter_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_atexit.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_compliance.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_init_shutdown.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_lib_unload.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_new_handler.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_overload.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_overload_disable.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_pools.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_pure_c.c
delete mode 100644 src/tbb-2019/src/test/test_malloc_regression.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_shutdown_hang.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_used_by_lib.cpp
delete mode 100644 src/tbb-2019/src/test/test_malloc_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_model_plugin.cpp
delete mode 100644 src/tbb-2019/src/test/test_multifunction_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_mutex.cpp
delete mode 100644 src/tbb-2019/src/test/test_mutex_native_threads.cpp
delete mode 100644 src/tbb-2019/src/test/test_opencl_kernel_32.spir
delete mode 100644 src/tbb-2019/src/test/test_opencl_kernel_64.spir
delete mode 100644 src/tbb-2019/src/test/test_opencl_node.cl
delete mode 100644 src/tbb-2019/src/test/test_opencl_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_opencl_precompiled_kernel_gpu_32.ir
delete mode 100644 src/tbb-2019/src/test/test_opencl_precompiled_kernel_gpu_64.ir
delete mode 100644 src/tbb-2019/src/test/test_openmp.cpp
delete mode 100644 src/tbb-2019/src/test/test_overwrite_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_do.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_for.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_for_each.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_for_vectorization.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_invoke.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_pipeline.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_reduce.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_scan.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_sort.cpp
delete mode 100644 src/tbb-2019/src/test/test_parallel_while.cpp
delete mode 100644 src/tbb-2019/src/test/test_partitioner.h
delete mode 100644 src/tbb-2019/src/test/test_partitioner_whitebox.cpp
delete mode 100644 src/tbb-2019/src/test/test_partitioner_whitebox.h
delete mode 100644 src/tbb-2019/src/test/test_pipeline.cpp
delete mode 100644 src/tbb-2019/src/test/test_pipeline_with_tbf.cpp
delete mode 100644 src/tbb-2019/src/test/test_priority_queue_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_queue_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_range_based_for.h
delete mode 100644 src/tbb-2019/src/test/test_reader_writer_lock.cpp
delete mode 100644 src/tbb-2019/src/test/test_runtime_loader.cpp
delete mode 100644 src/tbb-2019/src/test/test_rwm_upgrade_downgrade.cpp
delete mode 100644 src/tbb-2019/src/test/test_semaphore.cpp
delete mode 100644 src/tbb-2019/src/test/test_sequencer_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_source_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_split_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_static_assert.cpp
delete mode 100644 src/tbb-2019/src/test/test_std_thread.cpp
delete mode 100644 src/tbb-2019/src/test/test_streaming_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_tagged_msg.cpp
delete mode 100644 src/tbb-2019/src/test/test_task.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_arena.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_assertions.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_auto_init.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_enqueue.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_group.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_leaks.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_priority.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_scheduler_init.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_scheduler_observer.cpp
delete mode 100644 src/tbb-2019/src/test/test_task_steal_limit.cpp
delete mode 100644 src/tbb-2019/src/test/test_tbb_condition_variable.cpp
delete mode 100644 src/tbb-2019/src/test/test_tbb_fork.cpp
delete mode 100644 src/tbb-2019/src/test/test_tbb_header.cpp
delete mode 100644 src/tbb-2019/src/test/test_tbb_thread.cpp
delete mode 100644 src/tbb-2019/src/test/test_tbb_version.cpp
delete mode 100644 src/tbb-2019/src/test/test_thread.h
delete mode 100644 src/tbb-2019/src/test/test_tick_count.cpp
delete mode 100644 src/tbb-2019/src/test/test_tuple.cpp
delete mode 100644 src/tbb-2019/src/test/test_write_once_node.cpp
delete mode 100644 src/tbb-2019/src/test/test_yield.cpp
create mode 100644 src/tbb-compat/tbb-compat.cpp
diff --git a/R/aaa.R b/R/aaa.R
index 602fb326b..568a2aac9 100644
--- a/R/aaa.R
+++ b/R/aaa.R
@@ -1,7 +1,6 @@
# stubs that get overridden via configure script
TBB_ENABLED <- TRUE
-TBB_STATIC <- FALSE
TBB_LIB <- ""
TBB_INC <- ""
diff --git a/R/tbb-autodetected.R.in b/R/tbb-autodetected.R.in
index 47f6a48a1..7cc750e09 100644
--- a/R/tbb-autodetected.R.in
+++ b/R/tbb-autodetected.R.in
@@ -1,6 +1,5 @@
TBB_ENABLED <- @TBB_ENABLED@
-TBB_STATIC <- @TBB_STATIC@
TBB_LIB <- "@TBB_LIB@"
TBB_INC <- "@TBB_INC@"
diff --git a/R/tbb.R b/R/tbb.R
index 1c9e2c37f..9f4fc8db5 100644
--- a/R/tbb.R
+++ b/R/tbb.R
@@ -57,15 +57,14 @@ tbbCxxFlags <- function() {
if (!TBB_ENABLED)
return("-DRCPP_PARALLEL_USE_TBB=0")
- flags <- c(
- "-DRCPP_PARALLEL_USE_TBB=1",
- "-DTBB_INTERFACE_NEW"
- )
+ flags <- c("-DRCPP_PARALLEL_USE_TBB=1")
# TBB does not have assembly code for Windows ARM64
# so we need to use compiler builtins
- if (is_windows() && R.version$arch == "aarch64") {
- flags <- c(flags, "-DTBB_USE_GCC_BUILTINS")
+ if (TBB_ENABLED && is_windows()) {
+ if (R.version$arch == "aarch64") {
+ flags <- c(flags, "-DTBB_USE_GCC_BUILTINS")
+ }
}
# if TBB_INC is set, apply those library paths
@@ -76,7 +75,16 @@ tbbCxxFlags <- function() {
# add include path
if (nzchar(tbbInc) && file.exists(tbbInc)) {
+
+ # prefer new interface if version.h exists -- we keep this
+ # for compatibility with packages like StanHeaders, rstan
+ versionPath <- file.path(tbbInc, "tbb/version.h")
+ if (file.exists(versionPath))
+ flags <- c(flags, "-DTBB_INTERFACE_NEW")
+
+ # now add the include path
flags <- c(flags, paste0("-I", asBuildPath(tbbInc)))
+
}
# return flags as string
@@ -87,14 +95,16 @@ tbbCxxFlags <- function() {
# Return the linker flags required for TBB on this platform
tbbLdFlags <- function() {
- # handle static linking
- if (TBB_STATIC) {
+ # on Windows, we statically link to oneTBB
+ if (is_windows()) {
+
libPath <- system.file("libs", package = "RcppParallel")
if (nzchar(.Platform$r_arch))
libPath <- file.path(libPath, .Platform$r_arch)
ldFlags <- sprintf("-L%s -lRcppParallel", asBuildPath(libPath))
return(ldFlags)
+
}
# shortcut if TBB_LIB defined
diff --git a/R/zzz.R b/R/zzz.R
index d60c1e1dd..c30a2983a 100644
--- a/R/zzz.R
+++ b/R/zzz.R
@@ -27,19 +27,24 @@ loadTbbLibrary <- function(name) {
.onLoad <- function(libname, pkgname) {
- if (TBB_STATIC) {
+ # on Windows, load RcppParallel first
+ if (.Platform$OS.type == "windows") {
.dllInfo <<- library.dynam("RcppParallel", pkgname, libname)
- return()
}
+ # load tbb, tbbmalloc
.tbbDllInfo <<- loadTbbLibrary("tbb")
.tbbMallocDllInfo <<- loadTbbLibrary("tbbmalloc")
+ # load tbbmalloc_proxy, but only if requested
useTbbMallocProxy <- Sys.getenv("RCPP_PARALLEL_USE_TBBMALLOC_PROXY", unset = "FALSE")
if (useTbbMallocProxy %in% c("TRUE", "True", "true", "1"))
.tbbMallocProxyDllInfo <<- loadTbbLibrary("tbbmalloc_proxy")
- .dllInfo <<- library.dynam("RcppParallel", pkgname, libname)
+ # load RcppParallel library if available
+ if (.Platform$OS.type != "windows") {
+ .dllInfo <<- library.dynam("RcppParallel", pkgname, libname)
+ }
}
diff --git a/src/Makevars.in b/src/Makevars.in
index cfd2272f3..183bc04ed 100644
--- a/src/Makevars.in
+++ b/src/Makevars.in
@@ -2,16 +2,13 @@
CMAKE = @CMAKE@
R = @R@
-TBB_ENABLED = @TBB_ENABLED@
-TBB_STATIC = @TBB_STATIC@
-TBB_SRC = @TBB_SRC@
TBB_LIB = @TBB_LIB@
TBB_INC = @TBB_INC@
-
TBB_NAME = @TBB_NAME@
TBB_MALLOC_NAME = @TBB_MALLOC_NAME@
PKG_CPPFLAGS = @PKG_CPPFLAGS@
+PKG_CXXFLAGS = @PKG_CXXFLAGS@
PKG_LIBS = @PKG_LIBS@ @PKG_LIBS_EXTRA@
@@ -24,23 +21,11 @@ $(OBJECTS): tbb
# NOTE: TBB libraries are installed via install.libs.R.
# However, we need to copy headers here so that they are visible during compilation.
tbb: tbb-clean
- @ \
- TBB_ENABLED="$(TBB_ENABLED)" \
- TBB_STATIC="$(TBB_STATIC)" \
- TBB_SRC="$(TBB_SRC)" \
- TBB_LIB="$(TBB_LIB)" \
- TBB_INC="$(TBB_INC)" \
- TBB_NAME="$(TBB_NAME)" \
- TBB_MALLOC_NAME="$(TBB_MALLOC_NAME)" \
- CC="$(CC)" \
- CFLAGS="$(CFLAGS)" \
- CPPFLAGS="$(CPPFLAGS)" \
- CXX="$(CXX)" \
- CXXFLAGS="$(CXXFLAGS)" \
- CXXPICFLAGS="$(CXXPICFLAGS)" \
- LDFLAGS="$(LDFLAGS)" \
- CMAKE="$(CMAKE)" \
- "@R@" -s -f install.libs.R --args build
+ @TBB_LIB="$(TBB_LIB)" TBB_INC="$(TBB_INC)" \
+ TBB_NAME="$(TBB_NAME)" TBB_MALLOC_NAME="$(TBB_MALLOC_NAME)" \
+ CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \
+ CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" \
+ CMAKE="$(CMAKE)" "@R@" -s -f install.libs.R --args build
# NOTE: we do not want to clean ../inst/lib or ../inst/libs here,
# as we may be writing to those locations in multiarch builds
diff --git a/src/install.libs.R b/src/install.libs.R
index a52c6978a..ceec728c2 100644
--- a/src/install.libs.R
+++ b/src/install.libs.R
@@ -105,9 +105,6 @@ useBundledTbb <- function() {
cmake <- Sys.getenv("CMAKE", unset = "cmake")
buildType <- Sys.getenv("CMAKE_BUILD_TYPE", unset = "Release")
verbose <- Sys.getenv("VERBOSE", unset = "0")
-
- cxxFlags <- paste(Sys.getenv("CPPFLAGS", "CXXFLAGS", "CXXPICFLAGS"), collapse = " ")
- Sys.setenv(CXXFLAGS = cxxFlags)
cmakeFlags <- c(
sprintf("-DCMAKE_BUILD_TYPE=%s", buildType),
@@ -162,79 +159,9 @@ useBundledTbb <- function() {
}
-useOldBundledTbb <- function() {
-
- useTbbPreamble("tbb-2019/include")
- owd <- setwd("tbb-2019/src")
- on.exit(setwd(owd), add = TRUE)
-
- makeArgs <- "stdver=c++11"
- cxxFlags <- c(
- "-DTBB_NO_LEGACY=1",
- "-DTBB_SUPPRESS_DEPRECATED_MESSAGES=1",
- Sys.getenv(c("CPPFLAGS", "CXXFLAGS"))
- )
-
- cxxFlags <- paste(cxxFlags, collapse = " ")
- Sys.setenv(
- CONLY = Sys.getenv("CC", unset = "cc"),
- CPLUS = Sys.getenv("CXX", unset = "c++"),
- CXXFLAGS = paste(cxxFlags, collapse = " "),
- PIC_KEY = Sys.getenv("CXXPICFLAGS", unset = "-fPIC"),
- WARNING_SUPPRESS = ""
- )
-
- if (.Platform$OS.type == "windows") {
-
- Sys.setenv(
- MSYS2_ARG_CONV_EXCL = "*",
- CYGWIN = "nodosfilewarning",
- WINARM64_CLANG = "$(WINARM64_CLANG)"
- )
-
- makeArgs <- "rtools=true compiler=gcc runtime=mingw"
-
- }
-
- writeLines("** configuring tbb")
- system("make info")
- writeLines("")
-
- writeLines("** building tbb")
- makeTargets <- c("tbb_build_prefix=lib", "tbb_release", "tbbmalloc_release")
- output <- system2("make", c("-e", makeArgs, makeTargets), stdout = TRUE, stderr = TRUE)
- status <- attr(output, "status")
- if (!is.null(status) && status != 0) {
- writeLines(output, con = stderr())
- stop("error building tbb")
- }
-
- shlibPattern <- switch(
- Sys.info()[["sysname"]],
- Windows = "^tbb.*\\.dll$",
- Darwin = "^libtbb.*\\.dylib$",
- "^libtbb.*\\.so.*$"
- )
-
- setwd(owd)
- tbbFiles <- list.files(
- file.path(getwd(), "tbb-2019/build/lib_release"),
- pattern = shlibPattern,
- recursive = TRUE,
- full.names = TRUE
- )
-
- dir.create("tbb/build/lib_release", recursive = TRUE, showWarnings = FALSE)
- file.copy(tbbFiles, "tbb/build/lib_release", overwrite = TRUE)
- unlink("tbb/build-tbb", recursive = TRUE)
- writeLines("** finished building tbb")
-
-}
-
# Main ----
-tbbSrc <- Sys.getenv("TBB_SRC")
tbbLib <- Sys.getenv("TBB_LIB")
tbbInc <- Sys.getenv("TBB_INC")
@@ -242,10 +169,10 @@ args <- commandArgs(trailingOnly = TRUE)
if (identical(args, "build")) {
if (nzchar(tbbLib) && nzchar(tbbInc)) {
useSystemTbb(tbbLib, tbbInc)
- } else if (tbbSrc == "tbb") {
+ } else if (.Platform$OS.type == "windows") {
+ writeLines("** building RcppParallel without tbb backend")
+ } else {
useBundledTbb()
- } else if (tbbSrc == "tbb-2019") {
- useOldBundledTbb()
}
} else {
source("../R/tbb-autodetected.R")
diff --git a/src/tbb-2019/CHANGES b/src/tbb-2019/CHANGES
deleted file mode 100644
index 6e7cb60fd..000000000
--- a/src/tbb-2019/CHANGES
+++ /dev/null
@@ -1,2804 +0,0 @@
-------------------------------------------------------------------------
-The list of most significant changes made over time in
-Intel(R) Threading Building Blocks (Intel(R) TBB).
-
-Intel TBB 2019 Update 8
-TBB_INTERFACE_VERSION == 11008
-
-Changes (w.r.t. Intel TBB 2019 Update 7):
-
-Bugs fixed:
-
-- Fixed a bug in TBB 2019 Update 7 that could lead to incorrect memory
- reallocation on Linux (https://github.com/intel/tbb/issues/148).
-- Fixed enqueuing tbb::task into tbb::task_arena not to fail on threads
- with no task scheduler initialized
- (https://github.com/intel/tbb/issues/116).
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 7
-TBB_INTERFACE_VERSION == 11007
-
-Changes (w.r.t. Intel TBB 2019 Update 6):
-
-- Added TBBMALLOC_SET_HUGE_SIZE_THRESHOLD parameter to set the lower
- bound for allocations that are not released back to OS unless
- a cleanup is explicitly requested.
-- Added zip_iterator::base() method to get the tuple of underlying
- iterators.
-- Improved async_node to never block a thread that sends a message
- through its gateway.
-- Extended decrement port of the tbb::flow::limiter_node to accept
- messages of integral types.
-- Added support of Windows* to the CMake module TBBInstallConfig.
-- Added packaging of CMake configuration files to TBB packages built
- using build/build.py script
- (https://github.com/intel/tbb/issues/141).
-
-Changes affecting backward compatibility:
-
-- Removed the number_of_decrement_predecessors parameter from the
- constructor of flow::limiter_node. To allow its usage, set
- TBB_DEPRECATED_LIMITER_NODE_CONSTRUCTOR macro to 1.
-
-Preview Features:
-
-- Added ordered associative containers:
- concurrent_{map,multimap,set,multiset} (requires C++11).
-
-Open-source contributions integrated:
-
-- Fixed makefiles to properly obtain the GCC version for GCC 7
- and later (https://github.com/intel/tbb/pull/147) by Timmmm.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 6
-TBB_INTERFACE_VERSION == 11006
-
-Changes (w.r.t. Intel TBB 2019 Update 5):
-
-- Added support for Microsoft* Visual Studio* 2019.
-- Added support for enqueuing tbb::task into tbb::task_arena
- (https://github.com/01org/tbb/issues/116).
-- Improved support for allocator propagation on concurrent_hash_map
- assigning and swapping.
-- Improved scalable_allocation_command cleanup operations to release
- more memory buffered by the calling thread.
-- Separated allocation of small and large objects into distinct memory
- regions, which helps to reduce excessive memory caching inside the
- TBB allocator.
-
-Preview Features:
-
-- Removed template class gfx_factory from the flow graph API.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 5
-TBB_INTERFACE_VERSION == 11005
-
-Changes (w.r.t. Intel TBB 2019 Update 4):
-
-- Associating a task_scheduler_observer with an implicit or explicit
- task arena is now a fully supported feature.
-- Added a CMake module TBBInstallConfig that allows to generate and
- install CMake configuration files for TBB packages.
- Inspired by Hans Johnson (https://github.com/01org/tbb/pull/119).
-- Added node handles, methods merge() and unsafe_extract() to concurrent
- unordered containers.
-- Added constructors with Compare argument to concurrent_priority_queue
- (https://github.com/01org/tbb/issues/109).
-- Controlling the stack size of worker threads is now supported for
- Universal Windows Platform.
-- Improved tbb::zip_iterator to work with algorithms that swap values
- via iterators.
-- Improved support for user-specified allocators in concurrent_hash_map,
- including construction of allocator-aware data types.
-- For ReaderWriterMutex types, upgrades and downgrades now succeed if
- the mutex is already in the requested state.
- Inspired by Niadb (https://github.com/01org/tbb/pull/122).
-
-Preview Features:
-
-- The task_scheduler_observer::may_sleep() method has been removed.
-
-Bugs fixed:
-
-- Fixed the issue with a pipeline parallel filter executing serially if
- it follows a thread-bound filter.
-- Fixed a performance regression observed when multiple parallel
- algorithms start simultaneously.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 4
-TBB_INTERFACE_VERSION == 11004
-
-Changes (w.r.t. Intel TBB 2019 Update 3):
-
-- global_control class is now a fully supported feature.
-- Added deduction guides for tbb containers: concurrent_hash_map,
- concurrent_unordered_map, concurrent_unordered_set.
-- Added tbb::scalable_memory_resource function returning
- std::pmr::memory_resource interface to the TBB memory allocator.
-- Added tbb::cache_aligned_resource class that implements
- std::pmr::memory_resource with cache alignment and no false sharing.
-- Added rml::pool_msize function returning the usable size of a memory
- block allocated from a given memory pool.
-- Added default and copy constructors for tbb::counting_iterator
- and tbb::zip_iterator.
-- Added TBB_malloc_replacement_log function to obtain the status of
- dynamic memory allocation replacement (Windows* only).
-- CMake configuration file now supports release-only and debug-only
- configurations (https://github.com/01org/tbb/issues/113).
-- TBBBuild CMake module takes the C++ version from CMAKE_CXX_STANDARD.
-
-Bugs fixed:
-
-- Fixed compilation for tbb::concurrent_vector when used with
- std::pmr::polymorphic_allocator.
-
-Open-source contributions integrated:
-
-- TBB_INTERFACE_VERSION is included into TBB version in CMake
- configuration (https://github.com/01org/tbb/pull/100)
- by Hans Johnson.
-- Fixed detection of C++17 deduction guides for Visual C++*
- (https://github.com/01org/tbb/pull/112) by Marian Klymov.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 3
-TBB_INTERFACE_VERSION == 11003
-
-Changes (w.r.t. Intel TBB 2019 Update 2):
-
-- Added tbb::transform_iterator.
-- Added new Makefile target 'profile' to flow graph examples enabling
- additional support for Intel(R) Parallel Studio XE tools.
-- Added TBB_MALLOC_DISABLE_REPLACEMENT environment variable to switch off
- dynamic memory allocation replacement on Windows*. Inspired by
- a contribution from Edward Lam.
-
-Preview Features:
-
-- Extended flow graph API to support relative priorities for functional
- nodes, specified as an optional parameter to the node constructors.
-
-Open-source contributions integrated:
-
-- Enabled using process-local futex operations
- (https://github.com/01org/tbb/pull/58) by Andrey Semashev.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 2
-TBB_INTERFACE_VERSION == 11002
-
-Changes (w.r.t. Intel TBB 2019 Update 1):
-
-- Added overloads for parallel_reduce with default partitioner and
- user-supplied context.
-- Added deduction guides for tbb containers: concurrent_vector,
- concurrent_queue, concurrent_bounded_queue,
- concurrent_priority_queue.
-- Reallocation of memory objects >1MB now copies and frees memory if
- the size is decreased twice or more, trading performance off for
- reduced memory usage.
-- After a period of sleep, TBB worker threads now prefer returning to
- their last used task arena.
-
-Bugs fixed:
-
-- Fixed compilation of task_group.h when targeting macOS* 10.11 or
- earlier (https://github.com/conda-forge/tbb-feedstock/issues/42).
-
-Open-source contributions integrated:
-
-- Added constructors with HashCompare argument to concurrent_hash_map
- (https://github.com/01org/tbb/pull/63) by arewedancer.
-
-------------------------------------------------------------------------
-Intel TBB 2019 Update 1
-TBB_INTERFACE_VERSION == 11001
-
-Changes (w.r.t. Intel TBB 2019):
-
-- Doxygen documentation could be built with 'make doxygen' command now.
-
-Changes affecting backward compatibility:
-
-- Enforced 8 byte alignment for tbb::atomic and
- tbb::atomic. On IA-32 architecture it may cause layout
- changes in structures that use these types.
-
-Bugs fixed:
-
-- Fixed an issue with dynamic memory allocation replacement on Windows*
- occurred for some versions of ucrtbase.dll.
-- Fixed possible deadlock in tbbmalloc cleanup procedure during process
- shutdown. Inspired by a contribution from Edward Lam.
-- Fixed usage of std::uncaught_exception() deprecated in C++17
- (https://github.com/01org/tbb/issues/67).
-- Fixed a crash when a local observer is activated after an arena
- observer.
-- Fixed compilation of task_group.h by Visual C++* 15.7 with
- /permissive- option (https://github.com/01org/tbb/issues/53).
-- Fixed tbb4py to avoid dependency on Intel(R) C++ Compiler shared
- libraries.
-- Fixed compilation for Anaconda environment with GCC 7.3 and higher.
-
-Open-source contributions integrated:
-
-- Fix various warnings when building with Visual C++
- (https://github.com/01org/tbb/pull/70) by Edward Lam.
-
-------------------------------------------------------------------------
-Intel TBB 2019
-TBB_INTERFACE_VERSION == 11000
-
-Changes (w.r.t. Intel TBB 2018 Update 5):
-
-- Lightweight policy for functional nodes in the flow graph is now
- a fully supported feature.
-- Reservation support in flow::write_once_node and flow::overwrite_node
- is now a fully supported feature.
-- Support for Flow Graph Analyzer and improvements for
- Intel(R) VTune(TM) Amplifier become a regular feature enabled by
- TBB_USE_THREADING_TOOLS macro.
-- Added support for std::new_handler in the replacement functions for
- global operator new.
-- Added C++14 constructors to concurrent unordered containers.
-- Added tbb::counting_iterator and tbb::zip_iterator.
-- Fixed multiple -Wextra warnings in TBB source files.
-
-Preview Features:
-
-- Extracting nodes from a flow graph is deprecated and disabled by
- default. To enable, use TBB_DEPRECATED_FLOW_NODE_EXTRACTION macro.
-
-Changes affecting backward compatibility:
-
-- Due to internal changes in the flow graph classes, recompilation is
- recommended for all binaries that use the flow graph.
-
-Open-source contributions integrated:
-
-- Added support for OpenBSD by Anthony J. Bentley.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 6
-TBB_INTERFACE_VERSION == 10006
-
-Changes (w.r.t. Intel TBB 2018 Update 5):
-
-Bugs fixed:
-
-- Fixed an issue with dynamic memory allocation replacement on Windows*
- occurred for some versions of ucrtbase.dll.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 5
-TBB_INTERFACE_VERSION == 10005
-
-Changes (w.r.t. Intel TBB 2018 Update 4):
-
-Preview Features:
-
-- Added user event tracing API for Intel(R) VTune(TM) Amplifier and
- Flow Graph Analyzer.
-
-Bugs fixed:
-
-- Fixed the memory allocator to properly support transparent huge pages.
-- Removed dynamic exception specifications in tbbmalloc_proxy for C++11
- and later (https://github.com/01org/tbb/issues/41).
-- Added -flifetime-dse=1 option when building with GCC on macOS*
- (https://github.com/01org/tbb/issues/60).
-
-Open-source contributions integrated:
-
-- Added ARMv8 support by Siddhesh Poyarekar.
-- Avoid GCC warnings for clearing an object of non-trivial type
- (https://github.com/01org/tbb/issues/54) by Daniel Arndt.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 4
-TBB_INTERFACE_VERSION == 10004
-
-Changes (w.r.t. Intel TBB 2018 Update 3):
-
-Preview Features:
-
-- Improved support for Flow Graph Analyzer and Intel(R) VTune(TM)
- Amplifier in the task scheduler and generic parallel algorithms.
-- Default device set for opencl_node now includes all the devices from
- the first available OpenCL* platform.
-- Added lightweight policy for functional nodes in the flow graph. It
- indicates that the node body has little work and should, if possible,
- be executed immediately upon receiving a message, avoiding task
- scheduling overhead.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 3
-TBB_INTERFACE_VERSION == 10003
-
-Changes (w.r.t. Intel TBB 2018 Update 2):
-
-Preview Features:
-
-- Added template class blocked_rangeNd for a generic multi-dimensional
- range (requires C++11). Inspired by a contribution from Jeff Hammond.
-
-Bugs fixed:
-
-- Fixed a crash with dynamic memory allocation replacement on
- Windows* for applications using system() function.
-- Fixed parallel_deterministic_reduce to split range correctly when used
- with static_partitioner.
-- Fixed a synchronization issue in task_group::run_and_wait() which
- caused a simultaneous call to task_group::wait() to return
- prematurely.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 2
-TBB_INTERFACE_VERSION == 10002
-
-Changes (w.r.t. Intel TBB 2018 Update 1):
-
-- Added support for Android* NDK r16, macOS* 10.13, Fedora* 26.
-- Binaries for Universal Windows Driver (vc14_uwd) now link with static
- Microsoft* runtime libraries, and are only available in commercial
- releases.
-- Extended flow graph documentation with more code samples.
-
-Preview Features:
-
-- Added a Python* module for multi-processing computations in numeric
- Python* libraries.
-
-Bugs fixed:
-
-- Fixed constructors of concurrent_hash_map to be exception-safe.
-- Fixed auto-initialization in the main thread to be cleaned up at
- shutdown.
-- Fixed a crash when tbbmalloc_proxy is used together with dbghelp.
-- Fixed static_partitioner to assign tasks properly in case of nested
- parallelism.
-
-------------------------------------------------------------------------
-Intel TBB 2018 Update 1
-TBB_INTERFACE_VERSION == 10001
-
-Changes (w.r.t. Intel TBB 2018):
-
-- Added lambda-friendly overloads for parallel_scan.
-- Added support of static and simple partitioners in
- parallel_deterministic_reduce.
-
-Preview Features:
-
-- Added initial support for Flow Graph Analyzer to parallel_for.
-- Added reservation support in overwrite_node and write_once_node.
-
-Bugs fixed:
-
-- Fixed a potential deadlock scenario in the flow graph that affected
- Intel TBB 2018.
-
-------------------------------------------------------------------------
-Intel TBB 2018
-TBB_INTERFACE_VERSION == 10000
-
-Changes (w.r.t. Intel TBB 2017 Update 7):
-
-- Introduced Parallel STL, an implementation of the C++ standard
- library algorithms with support for execution policies. For more
- information, see Getting Started with Parallel STL
- (https://software.intel.com/en-us/get-started-with-pstl).
-- this_task_arena::isolate() function is now a fully supported feature.
-- this_task_arena::isolate() function and task_arena::execute() method
- were extended to pass on the value returned by the executed functor
- (requires C++11).
-- task_arena::enqueue() and task_group::run() methods extended to accept
- move-only functors.
-- A flow graph now spawns all tasks into the same task arena,
- and waiting for graph completion also happens in that arena.
-- Improved support for Flow Graph Analyzer in async_node, opencl_node,
- and composite_node.
-- Added support for Android* NDK r15, r15b.
-- Added support for Universal Windows Platform.
-- Increased minimally supported version of macOS*
- (MACOSX_DEPLOYMENT_TARGET) to 10.11.
-
-Changes affecting backward compatibility:
-
-- Internal layout changes in some flow graph classes;
-- Several undocumented methods are removed from class graph,
- including set_active() and is_active().
-- Due to incompatible changes, the namespace version is updated
- for the flow graph; recompilation is recommended for all
- binaries that use the flow graph classes.
-
-Preview Features:
-
-- opencl_node can be used with any graph object; class opencl_graph
- is removed.
-- graph::wait_for_all() now automatically waits for all not yet consumed
- async_msg objects.
-- Improved concurrent_lru_cache::handle_object to support C++11 move
- semantics, default construction, and conversion to bool.
-
-Bugs fixed:
-
-- Fixed a bug preventing use of streaming_node and opencl_node with
- Clang; inspired by a contribution from Francisco Facioni.
-- Fixed this_task_arena::isolate() function to work correctly with
- parallel_invoke and parallel_do algorithms.
-- Fixed a memory leak in composite_node.
-- Fixed an assertion failure in debug tbbmalloc binaries when
- TBBMALLOC_CLEAN_ALL_BUFFERS is used.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 8
-TBB_INTERFACE_VERSION == 9108
-
-Changes (w.r.t. Intel TBB 2017 Update 7):
-
-Bugs fixed:
-
-- Fixed an assertion failure in debug tbbmalloc binaries when
- TBBMALLOC_CLEAN_ALL_BUFFERS is used.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 7
-TBB_INTERFACE_VERSION == 9107
-
-Changes (w.r.t. Intel TBB 2017 Update 6):
-
-- In the huge pages mode, the memory allocator now is also able to use
- transparent huge pages.
-
-Preview Features:
-
-- Added support for Intel TBB integration into CMake-aware
- projects, with valuable guidance and feedback provided by Brad King
- (Kitware).
-
-Bugs fixed:
-
-- Fixed scalable_allocation_command(TBBMALLOC_CLEAN_ALL_BUFFERS, 0)
- to process memory left after exited threads.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 6
-TBB_INTERFACE_VERSION == 9106
-
-Changes (w.r.t. Intel TBB 2017 Update 5):
-
-- Added support for Android* NDK r14.
-
-Preview Features:
-
-- Added a blocking terminate extension to the task_scheduler_init class
- that allows an object to wait for termination of worker threads.
-
-Bugs fixed:
-
-- Fixed compilation and testing issues with MinGW (GCC 6).
-- Fixed compilation with /std:c++latest option of VS 2017
- (https://github.com/01org/tbb/issues/13).
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 5
-TBB_INTERFACE_VERSION == 9105
-
-Changes (w.r.t. Intel TBB 2017 Update 4):
-
-- Added support for Microsoft* Visual Studio* 2017.
-- Added graph/matmult example to demonstrate support for compute offload
- to Intel(R) Graphics Technology in the flow graph API.
-- The "compiler" build option now allows to specify a full path to the
- compiler.
-
-Changes affecting backward compatibility:
-
-- Constructors for many classes, including graph nodes, concurrent
- containers, thread-local containers, etc., are declared explicit and
- cannot be used for implicit conversions anymore.
-
-Bugs fixed:
-
-- Added a workaround for bug 16657 in the GNU C Library (glibc)
- affecting the debug version of tbb::mutex.
-- Fixed a crash in pool_identify() called for an object allocated in
- another thread.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 4
-TBB_INTERFACE_VERSION == 9104
-
-Changes (w.r.t. Intel TBB 2017 Update 3):
-
-- Added support for C++11 move semantics in parallel_do.
-- Added support for FreeBSD* 11.
-
-Changes affecting backward compatibility:
-
-- Minimal compiler versions required for support of C++11 move semantics
- raised to GCC 4.5, VS 2012, and Intel(R) C++ Compiler 14.0.
-
-Bugs fixed:
-
-- The workaround for crashes in the library compiled with GCC 6
- (-flifetime-dse=1) was extended to Windows*.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 3
-TBB_INTERFACE_VERSION == 9103
-
-Changes (w.r.t. Intel TBB 2017 Update 2):
-
-- Added support for Android* 7.0 and Android* NDK r13, r13b.
-
-Preview Features:
-
-- Added template class gfx_factory to the flow graph API. It implements
- the Factory concept for streaming_node to offload computations to
- Intel(R) processor graphics.
-
-Bugs fixed:
-
-- Fixed a possible deadlock caused by missed wakeup signals in
- task_arena::execute().
-
-Open-source contributions integrated:
-
-- A build fix for Linux* s390x platform by Jerry J.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 2
-TBB_INTERFACE_VERSION == 9102
-
-Changes (w.r.t. Intel TBB 2017 Update 1):
-
-- Removed the long-outdated support for Xbox* consoles.
-
-Bugs fixed:
-
-- Fixed the issue with task_arena::execute() not being processed when
- the calling thread cannot join the arena.
-- Fixed dynamic memory allocation replacement failure on macOS* 10.12.
-
-------------------------------------------------------------------------
-Intel TBB 2017 Update 1
-TBB_INTERFACE_VERSION == 9101
-
-Changes (w.r.t. Intel TBB 2017):
-
-Bugs fixed:
-
-- Fixed dynamic memory allocation replacement failures on Windows* 10
- Anniversary Update.
-- Fixed emplace() method of concurrent unordered containers to not
- require a copy constructor.
-
-------------------------------------------------------------------------
-Intel TBB 2017
-TBB_INTERFACE_VERSION == 9100
-
-Changes (w.r.t. Intel TBB 4.4 Update 5):
-
-- static_partitioner class is now a fully supported feature.
-- async_node class is now a fully supported feature.
-- Improved dynamic memory allocation replacement on Windows* OS to skip
- DLLs for which replacement cannot be done, instead of aborting.
-- Intel TBB no longer performs dynamic memory allocation replacement
- for Microsoft* Visual Studio* 2008.
-- For 64-bit platforms, quadrupled the worst-case limit on the amount
- of memory the Intel TBB allocator can handle.
-- Added TBB_USE_GLIBCXX_VERSION macro to specify the version of GNU
- libstdc++ when it cannot be properly recognized, e.g. when used
- with Clang on Linux* OS. Inspired by a contribution from David A.
-- Added graph/stereo example to demonstrate tbb::flow::async_msg.
-- Removed a few cases of excessive user data copying in the flow graph.
-- Reworked split_node to eliminate unnecessary overheads.
-- Added support for C++11 move semantics to the argument of
- tbb::parallel_do_feeder::add() method.
-- Added C++11 move constructor and assignment operator to
- tbb::combinable template class.
-- Added tbb::this_task_arena::max_concurrency() function and
- max_concurrency() method of class task_arena returning the maximal
- number of threads that can work inside an arena.
-- Deprecated tbb::task_arena::current_thread_index() static method;
- use tbb::this_task_arena::current_thread_index() function instead.
-- All examples for commercial version of library moved online:
- https://software.intel.com/en-us/product-code-samples. Examples are
- available as a standalone package or as a part of Intel(R) Parallel
- Studio XE or Intel(R) System Studio Online Samples packages.
-
-Changes affecting backward compatibility:
-
-- Renamed following methods and types in async_node class:
- Old New
- async_gateway_type => gateway_type
- async_gateway() => gateway()
- async_try_put() => try_put()
- async_reserve() => reserve_wait()
- async_commit() => release_wait()
-- Internal layout of some flow graph nodes has changed; recompilation
- is recommended for all binaries that use the flow graph.
-
-Preview Features:
-
-- Added template class streaming_node to the flow graph API. It allows
- a flow graph to offload computations to other devices through
- streaming or offloading APIs.
-- Template class opencl_node reimplemented as a specialization of
- streaming_node that works with OpenCL*.
-- Added tbb::this_task_arena::isolate() function to isolate execution
- of a group of tasks or an algorithm from other tasks submitted
- to the scheduler.
-
-Bugs fixed:
-
-- Added a workaround for GCC bug #62258 in std::rethrow_exception()
- to prevent possible problems in case of exception propagation.
-- Fixed parallel_scan to provide correct result if the initial value
- of an accumulator is not the operation identity value.
-- Fixed a memory corruption in the memory allocator when it meets
- internal limits.
-- Fixed the memory allocator on 64-bit platforms to align memory
- to 16 bytes by default for all allocations bigger than 8 bytes.
-- As a workaround for crashes in the Intel TBB library compiled with
- GCC 6, added -flifetime-dse=1 to compilation options on Linux* OS.
-- Fixed a race in the flow graph implementation.
-
-Open-source contributions integrated:
-
-- Enabling use of C++11 'override' keyword by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 6
-TBB_INTERFACE_VERSION == 9006
-
-Changes (w.r.t. Intel TBB 4.4 Update 5):
-
-- For 64-bit platforms, quadrupled the worst-case limit on the amount
- of memory the Intel TBB allocator can handle.
-
-Bugs fixed:
-
-- Fixed a memory corruption in the memory allocator when it meets
- internal limits.
-- Fixed the memory allocator on 64-bit platforms to align memory
- to 16 bytes by default for all allocations bigger than 8 bytes.
-- Fixed parallel_scan to provide correct result if the initial value
- of an accumulator is not the operation identity value.
-- As a workaround for crashes in the Intel TBB library compiled with
- GCC 6, added -flifetime-dse=1 to compilation options on Linux* OS.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 5
-TBB_INTERFACE_VERSION == 9005
-
-Changes (w.r.t. Intel TBB 4.4 Update 4):
-
-- Modified graph/fgbzip2 example to remove unnecessary data queuing.
-
-Preview Features:
-
-- Added a Python* module which is able to replace Python's thread pool
- class with the implementation based on Intel TBB task scheduler.
-
-Bugs fixed:
-
-- Fixed the implementation of 64-bit tbb::atomic for IA-32 architecture
- to work correctly with GCC 5.2 in C++11/14 mode.
-- Fixed a possible crash when tasks with affinity (e.g. specified via
- affinity_partitioner) are used simultaneously with task priority
- changes.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 4
-TBB_INTERFACE_VERSION == 9004
-
-Changes (w.r.t. Intel TBB 4.4 Update 3):
-
-- Removed a few cases of excessive user data copying in the flow graph.
-- Improved robustness of concurrent_bounded_queue::abort() in case of
- simultaneous push and pop operations.
-
-Preview Features:
-
-- Added tbb::flow::async_msg, a special message type to support
- communications between the flow graph and external asynchronous
- activities.
-- async_node modified to support use with C++03 compilers.
-
-Bugs fixed:
-
-- Fixed a bug in dynamic memory allocation replacement for Windows* OS.
-- Fixed excessive memory consumption on Linux* OS caused by enabling
- zero-copy realloc.
-- Fixed performance regression on Intel(R) Xeon Phi(tm) coprocessor with
- auto_partitioner.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 3
-TBB_INTERFACE_VERSION == 9003
-
-Changes (w.r.t. Intel TBB 4.4 Update 2):
-
-- Modified parallel_sort to not require a default constructor for values
- and to use iter_swap() for value swapping.
-- Added support for creating or initializing a task_arena instance that
- is connected to the arena currently used by the thread.
-- graph/binpack example modified to use multifunction_node.
-- For performance analysis, use Intel(R) VTune(TM) Amplifier XE 2015
- and higher; older versions are no longer supported.
-- Improved support for compilation with disabled RTTI, by omitting its use
- in auxiliary code, such as assertions. However some functionality,
- particularly the flow graph, does not work if RTTI is disabled.
-- The tachyon example for Android* can be built using Android Studio 1.5
- and higher with experimental Gradle plugin 0.4.0.
-
-Preview Features:
-
-- Added class opencl_subbufer that allows using OpenCL* sub-buffer
- objects with opencl_node.
-- Class global_control supports the value of 1 for
- max_allowed_parallelism.
-
-Bugs fixed:
-
-- Fixed a race causing "TBB Warning: setaffinity syscall failed" message.
-- Fixed a compilation issue on OS X* with Intel(R) C++ Compiler 15.0.
-- Fixed a bug in queuing_rw_mutex::downgrade() that could temporarily
- block new readers.
-- Fixed speculative_spin_rw_mutex to stop using the lazy subscription
- technique due to its known flaws.
-- Fixed memory leaks in the tool support code.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 2
-TBB_INTERFACE_VERSION == 9002
-
-Changes (w.r.t. Intel TBB 4.4 Update 1):
-
-- Improved interoperability with Intel(R) OpenMP RTL (libiomp) on Linux:
- OpenMP affinity settings do not affect the default number of threads
- used in the task scheduler. Intel(R) C++ Compiler 16.0 Update 1
- or later is required.
-- Added a new flow graph example with different implementations of the
- Cholesky Factorization algorithm.
-
-Preview Features:
-
-- Added template class opencl_node to the flow graph API. It allows a
- flow graph to offload computations to OpenCL* devices.
-- Extended join_node to use type-specified message keys. It simplifies
- the API of the node by obtaining message keys via functions
- associated with the message type (instead of node ports).
-- Added static_partitioner that minimizes overhead of parallel_for and
- parallel_reduce for well-balanced workloads.
-- Improved template class async_node in the flow graph API to support
- user settable concurrency limits.
-
-Bugs fixed:
-
-- Fixed a possible crash in the GUI layer for library examples on Linux.
-
-------------------------------------------------------------------------
-Intel TBB 4.4 Update 1
-TBB_INTERFACE_VERSION == 9001
-
-Changes (w.r.t. Intel TBB 4.4):
-
-- Added support for Microsoft* Visual Studio* 2015.
-- Intel TBB no longer performs dynamic replacement of memory allocation
- functions for Microsoft Visual Studio 2005 and earlier versions.
-- For GCC 4.7 and higher, the intrinsics-based platform isolation layer
- uses __atomic_* built-ins instead of the legacy __sync_* ones.
- This change is inspired by a contribution from Mathieu Malaterre.
-- Improvements in task_arena:
- Several application threads may join a task_arena and execute tasks
- simultaneously. The amount of concurrency reserved for application
- threads at task_arena construction can be set to any value between
- 0 and the arena concurrency limit.
-- The fractal example was modified to demonstrate class task_arena
- and moved to examples/task_arena/fractal.
-
-Bugs fixed:
-
-- Fixed a deadlock during destruction of task_scheduler_init objects
- when one of destructors is set to wait for worker threads.
-- Added a workaround for a possible crash on OS X* when dynamic memory
- allocator replacement (libtbbmalloc_proxy) is used and memory is
- released during application startup.
-- Usage of mutable functors with task_group::run_and_wait() and
- task_arena::enqueue() is disabled. An attempt to pass a functor
- which operator()() is not const will produce compilation errors.
-- Makefiles and environment scripts now properly recognize GCC 5.0 and
- higher.
-
-Open-source contributions integrated:
-
-- Improved performance of parallel_for_each for inputs allowing random
- access, by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.4
-TBB_INTERFACE_VERSION == 9000
-
-Changes (w.r.t. Intel TBB 4.3 Update 6):
-
-- The following features are now fully supported:
- tbb::flow::composite_node;
- additional policies of tbb::flow::graph_node::reset().
-- Platform abstraction layer for Windows* OS updated to use compiler
- intrinsics for most atomic operations.
-- The tbb/compat/thread header updated to automatically include
- C++11 where available.
-- Fixes and refactoring in the task scheduler and class task_arena.
-- Added key_matching policy to tbb::flow::join_node, which removes
- the restriction on the type that can be compared-against.
-- For tag_matching join_node, tag_value is redefined to be 64 bits
- wide on all architectures.
-- Expanded the documentation for the flow graph with details about
- node semantics and behavior.
-- Added dynamic replacement of C11 standard function aligned_alloc()
- under Linux* OS.
-- Added C++11 move constructors and assignment operators to
- tbb::enumerable_thread_specific container.
-- Added hashing support for tbb::tbb_thread::id.
-- On OS X*, binaries that depend on libstdc++ are not provided anymore.
- In the makefiles, libc++ is now used by default; for building with
- libstdc++, specify stdlib=libstdc++ in the make command line.
-
-Preview Features:
-
-- Added a new example, graph/fgbzip2, that shows usage of
- tbb::flow::async_node.
-- Modification to the low-level API for memory pools:
- added a function for finding a memory pool by an object allocated
- from that pool.
-- tbb::memory_pool now does not request memory till the first allocation
- from the pool.
-
-Changes affecting backward compatibility:
-
-- Internal layout of flow graph nodes has changed; recompilation is
- recommended for all binaries that use the flow graph.
-- Resetting a tbb::flow::source_node will immediately activate it,
- unless it was created in inactive state.
-
-Bugs fixed:
-
-- Failure at creation of a memory pool will not cause process
- termination anymore.
-
-Open-source contributions integrated:
-
-- Supported building TBB with Clang on AArch64 with use of built-in
- intrinsics by David A.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 6
-TBB_INTERFACE_VERSION == 8006
-
-Changes (w.r.t. Intel TBB 4.3 Update 5):
-
-- Supported zero-copy realloc for objects >1MB under Linux* via
- mremap system call.
-- C++11 move-aware insert and emplace methods have been added to
- concurrent_hash_map container.
-- install_name is set to @rpath/ on OS X*.
-
-Preview Features:
-
-- Added template class async_node to the flow graph API. It allows a
- flow graph to communicate with an external activity managed by
- the user or another runtime.
-- Improved speed of flow::graph::reset() clearing graph edges.
- rf_extract flag has been renamed rf_clear_edges.
-- extract() method of graph nodes now takes no arguments.
-
-Bugs fixed:
-
-- concurrent_unordered_{set,map} behaves correctly for degenerate
- hashes.
-- Fixed a race condition in the memory allocator that may lead to
- excessive memory consumption under high multithreading load.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 5
-TBB_INTERFACE_VERSION == 8005
-
-Changes (w.r.t. Intel TBB 4.3 Update 4):
-
-- Added add_ref_count() method of class tbb::task.
-
-Preview Features:
-
-- Added class global_control for application-wide control of allowed
- parallelism and thread stack size.
-- memory_pool_allocator now throws the std::bad_alloc exception on
- allocation failure.
-- Exceptions thrown for by memory pool constructors changed from
- std::bad_alloc to std::invalid_argument and std::runtime_error.
-
-Bugs fixed:
-
-- scalable_allocator now throws the std::bad_alloc exception on
- allocation failure.
-- Fixed a race condition in the memory allocator that may lead to
- excessive memory consumption under high multithreading load.
-- A new scheduler created right after destruction of the previous one
- might be unable to modify the number of worker threads.
-
-Open-source contributions integrated:
-
-- (Added but not enabled) push_front() method of class tbb::task_list
- by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 4
-TBB_INTERFACE_VERSION == 8004
-
-Changes (w.r.t. Intel TBB 4.3 Update 3):
-
-- Added a C++11 variadic constructor for enumerable_thread_specific.
- The arguments from this constructor are used to construct
- thread-local values.
-- Improved exception safety for enumerable_thread_specific.
-- Added documentation for tbb::flow::tagged_msg class and
- tbb::flow::output_port function.
-- Fixed build errors for systems that do not support dynamic linking.
-- C++11 move-aware insert and emplace methods have been added to
- concurrent unordered containers.
-
-Preview Features:
-
-- Interface-breaking change: typedefs changed for node predecessor and
- successor lists, affecting copy_predecessors and copy_successors
- methods.
-- Added template class composite_node to the flow graph API. It packages
- a subgraph to represent it as a first-class flow graph node.
-- make_edge and remove_edge now accept multiport nodes as arguments,
- automatically using the node port with index 0 for an edge.
-
-Open-source contributions integrated:
-
-- Draft code for enumerable_thread_specific constructor with multiple
- arguments (see above) by Adrien Guinet.
-- Fix for GCC invocation on IBM* Blue Gene*
- by Jeff Hammond and Raf Schietekat.
-- Extended testing with smart pointers for Clang & libc++
- by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 3
-TBB_INTERFACE_VERSION == 8003
-
-Changes (w.r.t. Intel TBB 4.3 Update 2):
-
-- Move constructor and assignment operator were added to unique_lock.
-
-Preview Features:
-
-- Time overhead for memory pool destruction was reduced.
-
-Open-source contributions integrated:
-
-- Build error fix for iOS* by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 2
-TBB_INTERFACE_VERSION == 8002
-
-Changes (w.r.t. Intel TBB 4.3 Update 1):
-
-- Binary files for 64-bit Android* applications were added as part of the
- Linux* OS package.
-- Exact exception propagation is enabled for Intel C++ Compiler on OS X*.
-- concurrent_vector::shrink_to_fit was optimized for types that support
- C++11 move semantics.
-
-Bugs fixed:
-
-- Fixed concurrent unordered containers to insert elements much faster
- in debug mode.
-- Fixed concurrent priority queue to support types that do not have
- copy constructors.
-- Fixed enumerable_thread_specific to forbid copying from an instance
- with a different value type.
-
-Open-source contributions integrated:
-
-- Support for PathScale* EKOPath* Compiler by Erik Lindahl.
-
-------------------------------------------------------------------------
-Intel TBB 4.3 Update 1
-TBB_INTERFACE_VERSION == 8001
-
-Changes (w.r.t. Intel TBB 4.3):
-
-- The ability to split blocked_ranges in a proportion, used by
- affinity_partitioner since version 4.2 Update 4, became a formal
- extension of the Range concept.
-- More checks for an incorrect address to release added to the debug
- version of the memory allocator.
-- Different kind of solutions for each TBB example were merged.
-
-Preview Features:
-
-- Task priorities are re-enabled in preview binaries.
-
-Bugs fixed:
-
-- Fixed a duplicate symbol when TBB_PREVIEW_VARIADIC_PARALLEL_INVOKE is
- used in multiple compilation units.
-- Fixed a crash in __itt_fini_ittlib seen on Ubuntu 14.04.
-- Fixed a crash in memory release after dynamic replacement of the
- OS X* memory allocator.
-- Fixed incorrect indexing of arrays in seismic example.
-- Fixed a data race in lazy initialization of task_arena.
-
-Open-source contributions integrated:
-
-- Fix for dumping information about gcc and clang compiler versions
- by Misty De Meo.
-
-------------------------------------------------------------------------
-Intel TBB 4.3
-TBB_INTERFACE_VERSION == 8000
-
-Changes (w.r.t. Intel TBB 4.2 Update 5):
-
-- The following features are now fully supported: flow::indexer_node,
- task_arena, speculative_spin_rw_mutex.
-- Compatibility with C++11 standard improved for tbb/compat/thread
- and tbb::mutex.
-- C++11 move constructors have been added to concurrent_queue and
- concurrent_bounded_queue.
-- C++11 move constructors and assignment operators have been added to
- concurrent_vector, concurrent_hash_map, concurrent_priority_queue,
- concurrent_unordered_{set,multiset,map,multimap}.
-- C++11 move-aware emplace/push/pop methods have been added to
- concurrent_vector, concurrent_queue, concurrent_bounded_queue,
- concurrent_priority_queue.
-- Methods to insert a C++11 initializer list have been added:
- concurrent_vector::grow_by(), concurrent_hash_map::insert(),
- concurrent_unordered_{set,multiset,map,multimap}::insert().
-- Testing for compatibility of containers with some C++11 standard
- library types has been added.
-- Dynamic replacement of standard memory allocation routines has been
- added for OS X*.
-- Microsoft* Visual Studio* projects for Intel TBB examples updated
- to VS 2010.
-- For open-source packages, debugging information (line numbers) in
- precompiled binaries now matches the source code.
-- Debug information was added to release builds for OS X*, Solaris*,
- FreeBSD* operating systems and MinGW*.
-- Various improvements in documentation, debug diagnostics and examples.
-
-Preview Features:
-
-- Additional actions on reset of graphs, and extraction of individual
- nodes from a graph (TBB_PREVIEW_FLOW_GRAPH_FEATURES).
-- Support for an arbitrary number of arguments in parallel_invoke
- (TBB_PREVIEW_VARIADIC_PARALLEL_INVOKE).
-
-Changes affecting backward compatibility:
-
-- For compatibility with C++11 standard, copy and move constructors and
- assignment operators are disabled for all mutex classes. To allow
- the old behavior, use TBB_DEPRECATED_MUTEX_COPYING macro.
-- flow::sequencer_node rejects messages with repeating sequence numbers.
-- Changed internal interface between tbbmalloc and tbbmalloc_proxy.
-- Following deprecated functionality has been removed:
- old debugging macros TBB_DO_ASSERT & TBB_DO_THREADING_TOOLS;
- no-op depth-related methods in class task;
- tbb::deprecated::concurrent_queue;
- deprecated variants of concurrent_vector methods.
-- register_successor() and remove_successor() are deprecated as methods
- to add and remove edges in flow::graph; use make_edge() and
- remove_edge() instead.
-
-Bugs fixed:
-
-- Fixed incorrect scalable_msize() implementation for aligned objects.
-- Flow graph buffering nodes now destroy their copy of forwarded items.
-- Multiple fixes in task_arena implementation, including for:
- inconsistent task scheduler state inside executed functions;
- incorrect floating-point settings and exception propagation;
- possible stalls in concurrent invocations of execute().
-- Fixed floating-point settings propagation when the same instance of
- task_group_context is used in different arenas.
-- Fixed compilation error in pipeline.h with Intel Compiler on OS X*.
-- Added missed headers for individual components to tbb.h.
-
-Open-source contributions integrated:
-
-- Range interface addition to parallel_do, parallel_for_each and
- parallel_sort by Stephan Dollberg.
-- Variadic template implementation of parallel_invoke
- by Kizza George Mbidde (see Preview Features).
-- Improvement in Seismic example for MacBook Pro* with Retina* display
- by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.2 Update 5
-TBB_INTERFACE_VERSION == 7005
-
-Changes (w.r.t. Intel TBB 4.2 Update 4):
-
-- The second template argument of class aligned_space now is set
- to 1 by default.
-
-Preview Features:
-
-- Better support for exception safety, task priorities and floating
- point settings in class task_arena.
-- task_arena::current_slot() has been renamed to
- task_arena::current_thread_index().
-
-Bugs fixed:
-
-- Task priority change possibly ignored by a worker thread entering
- a nested parallel construct.
-- Memory leaks inside the task scheduler when running on
- Intel(R) Xeon Phi(tm) coprocessor.
-
-Open-source contributions integrated:
-
-- Improved detection of X Window support for Intel TBB examples
- and other feedback by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.2 Update 4
-TBB_INTERFACE_VERSION == 7004
-
-Changes (w.r.t. Intel TBB 4.2 Update 3):
-
-- Added possibility to specify floating-point settings at invocation
- of most parallel algorithms (including flow::graph) via
- task_group_context.
-- Added dynamic replacement of malloc_usable_size() under
- Linux*/Android* and dlmalloc_usable_size() under Android*.
-- Added new methods to concurrent_vector:
- grow_by() that appends a sequence between two given iterators;
- grow_to_at_least() that initializes new elements with a given value.
-- Improved affinity_partitioner for better performance on balanced
- workloads.
-- Improvements in the task scheduler, including better scalability
- when threads search for a task arena, and better diagnostics.
-- Improved allocation performance for workloads that do intensive
- allocation/releasing of same-size objects larger than ~8KB from
- multiple threads.
-- Exception support is enabled by default for 32-bit MinGW compilers.
-- The tachyon example for Android* can be built for all targets
- supported by the installed NDK.
-- Added Windows Store* version of the tachyon example.
-- GettingStarted/sub_string_finder example ported to offload execution
- on Windows* for Intel(R) Many Integrated Core Architecture.
-
-Preview Features:
-
-- Removed task_scheduler_observer::on_scheduler_leaving() callback.
-- Added task_scheduler_observer::may_sleep() callback.
-- The CPF or_node has been renamed indexer_node. The input to
- indexer_node is now a list of types. The output of indexer_node is
- a tagged_msg type composed of a tag and a value. For indexer_node,
- the tag is a size_t.
-
-Bugs fixed:
-
-- Fixed data races in preview extensions of task_scheduler_observer.
-- Added noexcept(false) for destructor of task_group_base to avoid
- crash on cancellation of structured task group in C++11.
-
-Open-source contributions integrated:
-
-- Improved concurrency detection for BG/Q, and other improvements
- by Raf Schietekat.
-- Fix for crashes in enumerable_thread_specific in case if a contained
- object is too big to be constructed on the stack by Adrien Guinet.
-
-------------------------------------------------------------------------
-Intel TBB 4.2 Update 3
-TBB_INTERFACE_VERSION == 7003
-
-Changes (w.r.t. Intel TBB 4.2 Update 2):
-
-- Added support for Microsoft* Visual Studio* 2013.
-- Improved Microsoft* PPL-compatible form of parallel_for for better
- support of auto-vectorization.
-- Added a new example for cancellation and reset in the flow graph:
- Kohonen self-organizing map (examples/graph/som).
-- Various improvements in source code, tests, and makefiles.
-
-Bugs fixed:
-
-- Added dynamic replacement of _aligned_msize() previously missed.
-- Fixed task_group::run_and_wait() to throw invalid_multiple_scheduling
- exception if the specified task handle is already scheduled.
-
-Open-source contributions integrated:
-
-- A fix for ARM* processors by Steve Capper.
-- Improvements in std::swap calls by Robert Maynard.
-
-------------------------------------------------------------------------
-Intel TBB 4.2 Update 2
-TBB_INTERFACE_VERSION == 7002
-
-Changes (w.r.t. Intel TBB 4.2 Update 1):
-
-- Enable C++11 features for Microsoft* Visual Studio* 2013 Preview.
-- Added a test for compatibility of TBB containers with C++11
- range-based for loop.
-
-Changes affecting backward compatibility:
-
-- Internal layout changed for class tbb::flow::limiter_node.
-
-Preview Features:
-
-- Added speculative_spin_rw_mutex, a read-write lock class which uses
- Intel(R) Transactional Synchronization Extensions.
-
-Bugs fixed:
-
-- When building for Intel(R) Xeon Phi(tm) coprocessor, TBB programs
- no longer require explicit linking with librt and libpthread.
-
-Open-source contributions integrated:
-
-- Fixes for ARM* processors by Steve Capper, Leif Lindholm
- and Steven Noonan.
-- Support for Clang on Linux by Raf Schietekat.
-- Typo correction in scheduler.cpp by Julien Schueller.
-
-------------------------------------------------------------------------
-Intel TBB 4.2 Update 1
-TBB_INTERFACE_VERSION == 7001
-
-Changes (w.r.t. Intel TBB 4.2):
-
-- Added project files for Microsoft* Visual Studio* 2010.
-- Initial support of Microsoft* Visual Studio* 2013 Preview.
-- Enable C++11 features available in Intel(R) C++ Compiler 14.0.
-- scalable_allocation_mode(TBBMALLOC_SET_SOFT_HEAP_LIMIT, ) can be
- used to urge releasing memory from tbbmalloc internal buffers when
- the given limit is exceeded.
-
-Preview Features:
-
-- Class task_arena no longer requires linking with a preview library,
- though still remains a community preview feature.
-- The method task_arena::wait_until_empty() is removed.
-- The method task_arena::current_slot() now returns -1 if
- the task scheduler is not initialized in the thread.
-
-Changes affecting backward compatibility:
-
-- Because of changes in internal layout of graph nodes, the namespace
- interface number of flow::graph has been incremented from 6 to 7.
-
-Bugs fixed:
-
-- Fixed a race in lazy initialization of task_arena.
-- Fixed flow::graph::reset() to prevent situations where tasks would be
- spawned in the process of resetting the graph to its initial state.
-- Fixed decrement bug in limiter_node.
-- Fixed a race in arc deletion in the flow graph.
-
-Open-source contributions integrated:
-
-- Improved support for IBM* Blue Gene* by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.2
-TBB_INTERFACE_VERSION == 7000
-
-Changes (w.r.t. Intel TBB 4.1 Update 4):
-
-- Added speculative_spin_mutex, which uses Intel(R) Transactional
- Synchronization Extensions when they are supported by hardware.
-- Binary files linked with libc++ (the C++ standard library in Clang)
- were added on OS X*.
-- For OS X* exact exception propagation is supported with Clang;
- it requires use of libc++ and corresponding Intel TBB binaries.
-- Support for C++11 initializer lists in constructor and assignment
- has been added to concurrent_hash_map, concurrent_unordered_set,
- concurrent_unordered_multiset, concurrent_unordered_map,
- concurrent_unordered_multimap.
-- The memory allocator may now clean its per-thread memory caches
- when it cannot get more memory.
-- Added the scalable_allocation_command() function for on-demand
- cleaning of internal memory caches.
-- Reduced the time overhead for freeing memory objects smaller than ~8K.
-- Simplified linking with the debug library for applications that use
- Intel TBB in code offloaded to Intel(R) Xeon Phi(tm) coprocessors.
- See an example in
- examples/GettingStarted/sub_string_finder/Makefile.
-- Various improvements in source code, scripts and makefiles.
-
-Changes affecting backward compatibility:
-
-- tbb::flow::graph has been modified to spawn its tasks;
- the old behaviour (task enqueuing) is deprecated. This change may
- impact applications that expected a flow graph to make progress
- without calling wait_for_all(), which is no longer guaranteed. See
- the documentation for more details.
-- Changed the return values of the scalable_allocation_mode() function.
-
-Bugs fixed:
-
-- Fixed a leak of parallel_reduce body objects when execution is
- cancelled or an exception is thrown, as suggested by Darcy Harrison.
-- Fixed a race in the task scheduler which can lower the effective
- priority despite the existence of higher priority tasks.
-- On Linux an error during destruction of the internal thread local
- storage no longer results in an exception.
-
-Open-source contributions integrated:
-
-- Fixed task_group_context state propagation to unrelated context trees
- by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.1 Update 4
-TBB_INTERFACE_VERSION == 6105
-
-Changes (w.r.t. Intel TBB 4.1 Update 3):
-
-- Use /volatile:iso option with VS 2012 to disable extended
- semantics for volatile variables.
-- Various improvements in affinity_partitioner, scheduler,
- tests, examples, makefiles.
-- Concurrent_priority_queue class now supports initialization/assignment
- via C++11 initializer list feature (std::initializer_list).
-
-Bugs fixed:
-
-- Fixed more possible stalls in concurrent invocations of
- task_arena::execute(), especially waiting for enqueued tasks.
-- Fixed requested number of workers for task_arena(P,0).
-- Fixed interoperability with Intel(R) VTune(TM) Amplifier XE in
- case of using task_arena::enqueue() from a terminating thread.
-
-Open-source contributions integrated:
-
-- Type fixes, cleanups, and code beautification by Raf Schietekat.
-- Improvements in atomic operations for big endian platforms
- by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 4.1 Update 3
-TBB_INTERFACE_VERSION == 6103
-
-Changes (w.r.t. Intel TBB 4.1 Update 2):
-
-- Binary files for Android* applications were added to the Linux* OS
- package.
-- Binary files for Windows Store* applications were added to the
- Windows* OS package.
-- Exact exception propagation (exception_ptr) support on Linux OS is
- now turned on by default for GCC 4.4 and higher.
-- Stopped implicit use of large memory pages by tbbmalloc (Linux-only).
- Now use of large pages must be explicitly enabled with
- scalable_allocation_mode() function or TBB_MALLOC_USE_HUGE_PAGES
- environment variable.
-
-Community Preview Features:
-
-- Extended class task_arena constructor and method initialize() to
- allow some concurrency to be reserved strictly for application
- threads.
-- New methods terminate() and is_active() were added to class
- task_arena.
-
-Bugs fixed:
-
-- Fixed initialization of hashing helper constant in the hash
- containers.
-- Fixed possible stalls in concurrent invocations of
- task_arena::execute() when no worker thread is available to make
- progress.
-- Fixed incorrect calculation of hardware concurrency in the presence
- of inactive processor groups, particularly on systems running
- Windows* 8 and Windows* Server 2012.
-
-Open-source contributions integrated:
-
-- The fix for the GUI examples on OS X* systems by Raf Schietekat.
-- Moved some power-of-2 calculations to functions to improve readability
- by Raf Schietekat.
-- C++11/Clang support improvements by arcata.
-- ARM* platform isolation layer by Steve Capper, Leif Lindholm, Leo Lara
- (ARM).
-
-------------------------------------------------------------------------
-Intel TBB 4.1 Update 2
-TBB_INTERFACE_VERSION == 6102
-
-Changes (w.r.t. Intel TBB 4.1 Update 1):
-
-- Objects up to 128 MB are now cached by the tbbmalloc. Previously
- the threshold was 8MB. Objects larger than 128 MB are still
- processed by direct OS calls.
-- concurrent_unordered_multiset and concurrent_unordered_multimap
- have been added, based on Microsoft* PPL prototype.
-- Ability to value-initialize a tbb::atomic variable on construction
- in C++11, with const expressions properly supported.
-
-Community Preview Features:
-
-- Added a possibility to wait until all worker threads terminate.
- This is necessary before calling fork() from an application.
-
-Bugs fixed:
-
-- Fixed data race in tbbmalloc that might lead to memory leaks
- for large object allocations.
-- Fixed task_arena::enqueue() to use task_group_context of target arena.
-- Improved implementation of 64 bit atomics on ia32.
-
-------------------------------------------------------------------------
-Intel TBB 4.1 Update 1
-TBB_INTERFACE_VERSION == 6101
-
-Changes (w.r.t. Intel TBB 4.1):
-
-- concurrent_vector class now supports initialization/assignment
- via C++11 initializer list feature (std::initializer_list)
-- Added implementation of the platform isolation layer based on
- Intel compiler atomic built-ins; it is supposed to work on
- any platform supported by compiler version 12.1 and newer.
-- Using GetNativeSystemInfo() instead of GetSystemInfo() to support
- more than 32 processors for 32-bit applications under WOW64.
-- The following form of parallel_for:
- parallel_for(first, last, [step,] f[, context]) now accepts an
- optional partitioner parameter after the function f.
-
-Backward-incompatible API changes:
-
-- The library no longer injects tuple in to namespace std.
- In previous releases, tuple was injected into namespace std by
- flow_graph.h when std::tuple was not available. In this release,
- flow_graph.h now uses tbb::flow::tuple. On platforms where
- std::tuple is available, tbb::flow::tuple is typedef'ed to
- std::tuple. On all other platforms, tbb::flow::tuple provides
- a subset of the functionality defined by std::tuple. Users of
- flow_graph.h may need to change their uses of std::tuple to
- tbb::flow::tuple to ensure compatibility with non-C++11 compliant
- compilers.
-
-Bugs fixed:
-
-- Fixed local observer to be able to override propagated CPU state and
- to provide correct value of task_arena::current_slot() in callbacks.
-
-------------------------------------------------------------------------
-Intel TBB 4.1
-TBB_INTERFACE_VERSION == 6100
-
-Changes (w.r.t. Intel TBB 4.0 Update 5):
-
-- _WIN32_WINNT must be set to 0x0501 or greater in order to use TBB
- on Microsoft* Windows*.
-- parallel_deterministic_reduce template function is fully supported.
-- TBB headers can be used with C++0x/C++11 mode (-std=c++0x) of GCC
- and Intel(R) Compiler.
-- C++11 std::make_exception_ptr is used where available, instead of
- std::copy_exception from earlier C++0x implementations.
-- Improvements in the TBB allocator to reduce extra memory consumption.
-- Partial refactoring of the task scheduler data structures.
-- TBB examples allow more flexible specification of the thread number,
- including arithmetic and geometric progression.
-
-Bugs fixed:
-
-- On Linux & OS X*, pre-built TBB binaries do not yet support exact
- exception propagation via C++11 exception_ptr. To prevent run time
- errors, by default TBB headers disable exact exception propagation
- even if the C++ implementation provides exception_ptr.
-
-Community Preview Features:
-
-- Added: class task_arena, for work submission by multiple application
- threads with thread-independent control of concurrency level.
-- Added: task_scheduler_observer can be created as local to a master
- thread, to observe threads that work on behalf of that master.
- Local observers may have new on_scheduler_leaving() callback.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 Update 5
-TBB_INTERFACE_VERSION == 6005
-
-Changes (w.r.t. Intel TBB 4.0 Update 4):
-
-- Parallel pipeline optimization (directly storing small objects in the
- interstage data buffers) limited to trivially-copyable types for
- C++11 and a short list of types for earlier compilers.
-- _VARIADIC_MAX switch is honored for TBB tuple implementation
- and flow::graph nodes based on tuple.
-- Support of Cocoa framework was added to the GUI examples on OS X*
- systems.
-
-Bugs fixed:
-
-- Fixed a tv_nsec overflow bug in condition_variable::wait_for.
-- Fixed execution order of enqueued tasks with different priorities.
-- Fixed a bug with task priority changes causing lack of progress
- for fire-and-forget tasks when TBB was initialized to use 1 thread.
-- Fixed duplicate symbol problem when linking multiple compilation
- units that include flow_graph.h on VC 10.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 Update 4
-TBB_INTERFACE_VERSION == 6004
-
-Changes (w.r.t. Intel TBB 4.0 Update 3):
-
-- The TBB memory allocator transparently supports large pages on Linux.
-- A new flow_graph example, logic_sim, was added.
-- Support for DirectX* 9 was added to GUI examples.
-
-Community Preview Features:
-
-- Added: aggregator, a new concurrency control mechanism.
-
-Bugs fixed:
-
-- The abort operation on concurrent_bounded_queue now leaves the queue
- in a reusable state. If a bad_alloc or bad_last_alloc exception is
- thrown while the queue is recovering from an abort, that exception
- will be reported instead of user_abort on the thread on which it
- occurred, and the queue will not be reusable.
-- Steal limiting heuristic fixed to avoid premature stealing disabling
- when large amount of __thread data is allocated on thread stack.
-- Fixed a low-probability leak of arenas in the task scheduler.
-- In STL-compatible allocator classes, the method construct() was fixed
- to comply with C++11 requirements.
-- Fixed a bug that prevented creation of fixed-size memory pools
- smaller than 2M.
-- Significantly reduced the amount of warnings from various compilers.
-
-Open-source contributions integrated:
-
-- Multiple improvements by Raf Schietekat.
-- Basic support for Clang on OS X* by Blas Rodriguez Somoza.
-- Fixes for warnings and corner-case bugs by Blas Rodriguez Somoza
- and Edward Lam.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 Update 3
-TBB_INTERFACE_VERSION == 6003
-
-Changes (w.r.t. Intel TBB 4.0 Update 2):
-
-- Modifications to the low-level API for memory pools:
- added support for aligned allocations;
- pool policies reworked to allow backward-compatible extensions;
- added a policy to not return memory space till destruction;
- pool_reset() does not return memory space anymore.
-- Class tbb::flow::graph_iterator added to iterate over all nodes
- registered with a graph instance.
-- multioutput_function_node has been renamed multifunction_node.
- multifunction_node and split_node are now fully-supported features.
-- For the tagged join node, the policy for try_put of an item with
- already existing tag has been defined: the item will be rejected.
-- Matching the behavior on Windows, on other platforms the optional
- shared libraries (libtbbmalloc, libirml) now are also searched
- only in the directory where libtbb is located.
-- The platform isolation layer based on GCC built-ins is extended.
-
-Backward-incompatible API changes:
-
-- a graph reference parameter is now required to be passed to the
- constructors of the following flow graph nodes: overwrite_node,
- write_once_node, broadcast_node, and the CPF or_node.
-- the following tbb::flow node methods and typedefs have been renamed:
- Old New
- join_node and or_node:
- inputs() -> input_ports()
- input_ports_tuple_type -> input_ports_type
- multifunction_node and split_node:
- ports_type -> output_ports_type
-
-Bugs fixed:
-
-- Not all logical processors were utilized on systems with more than
- 64 cores split by Windows into several processor groups.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 Update 2 commercial-aligned release
-TBB_INTERFACE_VERSION == 6002
-
-Changes (w.r.t. Intel TBB 4.0 Update 1 commercial-aligned release):
-
-- concurrent_bounded_queue now has an abort() operation that releases
- threads involved in pending push or pop operations. The released
- threads will receive a tbb::user_abort exception.
-- Added Community Preview Feature: concurrent_lru_cache container,
- a concurrent implementation of LRU (least-recently-used) cache.
-
-Bugs fixed:
-
-- fixed a race condition in the TBB scalable allocator.
-- concurrent_queue counter wraparound bug was fixed, which occurred when
- the number of push and pop operations exceeded ~>4 billion on IA32.
-- fixed races in the TBB scheduler that could put workers asleep too
- early, especially in presence of affinitized tasks.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 Update 1 commercial-aligned release
-TBB_INTERFACE_VERSION == 6000 (forgotten to increment)
-
-Changes (w.r.t. Intel TBB 4.0 commercial-aligned release):
-
-- Memory leaks fixed in binpack example.
-- Improvements and fixes in the TBB allocator.
-
-------------------------------------------------------------------------
-Intel TBB 4.0 commercial-aligned release
-TBB_INTERFACE_VERSION == 6000
-
-Changes (w.r.t. Intel TBB 3.0 Update 8 commercial-aligned release):
-
-- concurrent_priority_queue is now a fully supported feature.
- Capacity control methods were removed.
-- Flow graph is now a fully supported feature.
-- A new memory backend has been implemented in the TBB allocator.
- It can reuse freed memory for both small and large objects, and
- returns unused memory blocks to the OS more actively.
-- Improved partitioning algorithms for parallel_for and parallel_reduce
- to better handle load imbalance.
-- The convex_hull example has been refactored for reproducible
- performance results.
-- The major interface version has changed from 5 to 6.
- Deprecated interfaces might be removed in future releases.
-
-Community Preview Features:
-
-- Added: serial subset, i.e. sequential implementations of TBB generic
- algorithms (currently, only provided for parallel_for).
-- Preview of new flow graph nodes:
- or_node (accepts multiple inputs, forwards each input separately
- to all successors),
- split_node (accepts tuples, and forwards each element of a tuple
- to a corresponding successor), and
- multioutput_function_node (accepts one input, and passes the input
- and a tuple of output ports to the function body to support outputs
- to multiple successors).
-- Added: memory pools for more control on memory source, grouping,
- and collective deallocation.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 8 commercial-aligned release
-TBB_INTERFACE_VERSION == 5008
-
-Changes (w.r.t. Intel TBB 3.0 Update 7 commercial-aligned release):
-
-- Task priorities become an official feature of TBB,
- not community preview as before.
-- Atomics API extended, and implementation refactored.
-- Added task::set_parent() method.
-- Added concurrent_unordered_set container.
-
-Open-source contributions integrated:
-
-- PowerPC support by Raf Schietekat.
-- Fix of potential task pool overrun and other improvements
- in the task scheduler by Raf Schietekat.
-- Fix in parallel_for_each to work with std::set in Visual* C++ 2010.
-
-Community Preview Features:
-
-- Graph community preview feature was renamed to flow graph.
- Multiple improvements in the implementation.
- Binpack example was added for the feature.
-- A number of improvements to concurrent_priority_queue.
- Shortpath example was added for the feature.
-- TBB runtime loaded functionality was added (Windows*-only).
- It allows to specify which versions of TBB should be used,
- as well as to set directories for the library search.
-- parallel_deterministic_reduce template function was added.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 7 commercial-aligned release
-TBB_INTERFACE_VERSION == 5006 (forgotten to increment)
-
-Changes (w.r.t. Intel TBB 3.0 Update 6 commercial-aligned release):
-
-- Added implementation of the platform isolation layer based on
- GCC atomic built-ins; it is supposed to work on any platform
- where GCC has these built-ins.
-
-Community Preview Features:
-
-- Graph's dining_philosophers example added.
-- A number of improvements to graph and concurrent_priority_queue.
-
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 6 commercial-aligned release
-TBB_INTERFACE_VERSION == 5006
-
-Changes (w.r.t. Intel TBB 3.0 Update 5 commercial-aligned release):
-
-- Added Community Preview feature: task and task group priority, and
- Fractal example demonstrating it.
-- parallel_pipeline optimized for data items of small and large sizes.
-- Graph's join_node is now parametrized with a tuple of up to 10 types.
-- Improved performance of concurrent_priority_queue.
-
-Open-source contributions integrated:
-
-- Initial NetBSD support by Aleksej Saushev.
-
-Bugs fixed:
-
-- Failure to enable interoperability with Intel(R) Cilk(tm) Plus runtime
- library, and a crash caused by invoking the interoperability layer
- after one of the libraries was unloaded.
-- Data race that could result in concurrent_unordered_map structure
- corruption after call to clear() method.
-- Stack corruption caused by PIC version of 64-bit CAS compiled by Intel
- compiler on Linux.
-- Inconsistency of exception propagation mode possible when application
- built with Microsoft* Visual Studio* 2008 or earlier uses TBB built
- with Microsoft* Visual Studio* 2010.
-- Affinitizing master thread to a subset of available CPUs after TBB
- scheduler was initialized tied all worker threads to the same CPUs.
-- Method is_stolen_task() always returned 'false' for affinitized tasks.
-- write_once_node and overwrite_node did not immediately send buffered
- items to successors
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 5 commercial-aligned release
-TBB_INTERFACE_VERSION == 5005
-
-Changes (w.r.t. Intel TBB 3.0 Update 4 commercial-aligned release):
-
-- Added Community Preview feature: graph.
-- Added automatic propagation of master thread FPU settings to
- TBB worker threads.
-- Added a public function to perform a sequentially consistent full
- memory fence: tbb::atomic_fence() in tbb/atomic.h.
-
-Bugs fixed:
-
-- Data race that could result in scheduler data structures corruption
- when using fire-and-forget tasks.
-- Potential referencing of destroyed concurrent_hash_map element after
- using erase(accessor&A) method with A acquired as const_accessor.
-- Fixed a correctness bug in the convex hull example.
-
-Open-source contributions integrated:
-
-- Patch for calls to internal::atomic_do_once() by Andrey Semashev.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 4 commercial-aligned release
-TBB_INTERFACE_VERSION == 5004
-
-Changes (w.r.t. Intel TBB 3.0 Update 3 commercial-aligned release):
-
-- Added Community Preview feature: concurrent_priority_queue.
-- Fixed library loading to avoid possibility for remote code execution,
- see http://www.microsoft.com/technet/security/advisory/2269637.mspx.
-- Added support of more than 64 cores for appropriate Microsoft*
- Windows* versions. For more details, see
- http://msdn.microsoft.com/en-us/library/dd405503.aspx.
-- Default number of worker threads is adjusted in accordance with
- process affinity mask.
-
-Bugs fixed:
-
-- Calls of scalable_* functions from inside the allocator library
- caused issues if the functions were overridden by another module.
-- A crash occurred if methods run() and wait() were called concurrently
- for an empty tbb::task_group (1736).
-- The tachyon example exhibited build problems associated with
- bug 554339 on Microsoft* Visual Studio* 2010. Project files were
- modified as a partial workaround to overcome the problem. See
- http://connect.microsoft.com/VisualStudio/feedback/details/554339.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 3 commercial-aligned release
-TBB_INTERFACE_VERSION == 5003
-
-Changes (w.r.t. Intel TBB 3.0 Update 2 commercial-aligned release):
-
-- cache_aligned_allocator class reworked to use scalable_aligned_malloc.
-- Improved performance of count() and equal_range() methods
- in concurrent_unordered_map.
-- Improved implementation of 64-bit atomic loads and stores on 32-bit
- platforms, including compilation with VC 7.1.
-- Added implementation of atomic operations on top of OSAtomic API
- provided by OS X*.
-- Removed gratuitous try/catch blocks surrounding thread function calls
- in tbb_thread.
-- Xcode* projects were added for sudoku and game_of_life examples.
-- Xcode* projects were updated to work without TBB framework.
-
-Bugs fixed:
-
-- Fixed a data race in task scheduler destruction that on rare occasion
- could result in memory corruption.
-- Fixed idle spinning in thread bound filters in tbb::pipeline (1670).
-
-Open-source contributions integrated:
-
-- MinGW-64 basic support by brsomoza (partially).
-- Patch for atomic.h by Andrey Semashev.
-- Support for AIX & GCC on PowerPC by Giannis Papadopoulos.
-- Various improvements by Raf Schietekat.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 2 commercial-aligned release
-TBB_INTERFACE_VERSION == 5002
-
-Changes (w.r.t. Intel TBB 3.0 Update 1 commercial-aligned release):
-
-- Destructor of tbb::task_group class throws missing_wait exception
- if there are tasks running when it is invoked.
-- Interoperability layer with Intel Cilk Plus runtime library added
- to protect TBB TLS in case of nested usage with Intel Cilk Plus.
-- Compilation fix for dependent template names in concurrent_queue.
-- Memory allocator code refactored to ease development and maintenance.
-
-Bugs fixed:
-
-- Improved interoperability with other Intel software tools on Linux in
- case of dynamic replacement of memory allocator (1700)
-- Fixed install issues that prevented installation on
- Mac OS* X 10.6.4 (1711).
-
-------------------------------------------------------------------------
-Intel TBB 3.0 Update 1 commercial-aligned release
-TBB_INTERFACE_VERSION == 5000 (forgotten to increment)
-
-Changes (w.r.t. Intel TBB 3.0 commercial-aligned release):
-
-- Decreased memory fragmentation by allocations bigger than 8K.
-- Lazily allocate worker threads, to avoid creating unnecessary stacks.
-
-Bugs fixed:
-
-- TBB allocator used much more memory than malloc (1703) - see above.
-- Deadlocks happened in some specific initialization scenarios
- of the TBB allocator (1701, 1704).
-- Regression in enumerable_thread_specific: excessive requirements
- for object constructors.
-- A bug in construction of parallel_pipeline filters when body instance
- was a temporary object.
-- Incorrect usage of memory fences on PowerPC and XBOX360 platforms.
-- A subtle issue in task group context binding that could result
- in cancellation signal being missed by nested task groups.
-- Incorrect construction of concurrent_unordered_map if specified
- number of buckets is not power of two.
-- Broken count() and equal_range() of concurrent_unordered_map.
-- Return type of postfix form of operator++ for hash map's iterators.
-
-------------------------------------------------------------------------
-Intel TBB 3.0 commercial-aligned release
-TBB_INTERFACE_VERSION == 5000
-
-Changes (w.r.t. Intel TBB 2.2 Update 3 commercial-aligned release):
-
-- All open-source-release changes down to TBB 2.2 U3 below
- were incorporated into this release.
-
-------------------------------------------------------------------------
-20100406 open-source release
-
-Changes (w.r.t. 20100310 open-source release):
-
-- Added support for Microsoft* Visual Studio* 2010, including binaries.
-- Added a PDF file with recommended Design Patterns for TBB.
-- Added parallel_pipeline function and companion classes and functions
- that provide a strongly typed lambda-friendly pipeline interface.
-- Reworked enumerable_thread_specific to use a custom implementation of
- hash map that is more efficient for ETS usage models.
-- Added example for class task_group; see examples/task_group/sudoku.
-- Removed two examples, as they were long outdated and superseded:
- pipeline/text_filter (use pipeline/square);
- parallel_while/parallel_preorder (use parallel_do/parallel_preorder).
-- PDF documentation updated.
-- Other fixes and changes in code, tests, and examples.
-
-Bugs fixed:
-
-- Eliminated build errors with MinGW32.
-- Fixed post-build step and other issues in VS projects for examples.
-- Fixed discrepancy between scalable_realloc and scalable_msize that
- caused crashes with malloc replacement on Windows.
-
-------------------------------------------------------------------------
-20100310 open-source release
-
-Changes (w.r.t. Intel TBB 2.2 Update 3 commercial-aligned release):
-
-- Version macros changed in anticipation of a future release.
-- Directory structure aligned with Intel(R) C++ Compiler;
- now TBB binaries reside in //[bin|lib]
- (in TBB 2.x, it was [bin|lib]//).
-- Visual Studio projects changed for examples: instead of separate set
- of files for each VS version, now there is single 'msvs' directory
- that contains workspaces for MS C++ compiler (_cl.sln) and
- Intel C++ compiler (_icl.sln). Works with VS 2005 and above.
-- The name versioning scheme for backward compatibility was improved;
- now compatibility-breaking changes are done in a separate namespace.
-- Added concurrent_unordered_map implementation based on a prototype
- developed in Microsoft for a future version of PPL.
-- Added PPL-compatible writer-preference RW lock (reader_writer_lock).
-- Added TBB_IMPLEMENT_CPP0X macro to control injection of C++0x names
- implemented in TBB into namespace std.
-- Added almost-C++0x-compatible std::condition_variable, plus a bunch
- of other C++0x classes required by condition_variable.
-- With TBB_IMPLEMENT_CPP0X, tbb_thread can be also used as std::thread.
-- task.cpp was split into several translation units to structure
- TBB scheduler sources layout. Static data layout and library
- initialization logic were also updated.
-- TBB scheduler reworked to prevent master threads from stealing
- work belonging to other masters.
-- Class task was extended with enqueue() method, and slightly changed
- semantics of methods spawn() and destroy(). For exact semantics,
- refer to TBB Reference manual.
-- task_group_context now allows for destruction by non-owner threads.
-- Added TBB_USE_EXCEPTIONS macro to control use of exceptions in TBB
- headers. It turns off (i.e. sets to 0) automatically if specified
- compiler options disable exception handling.
-- TBB is enabled to run on top of Microsoft's Concurrency Runtime
- on Windows* 7 (via our worker dispatcher known as RML).
-- Removed old unused busy-waiting code in concurrent_queue.
-- Described the advanced build & test options in src/index.html.
-- Warning level for GCC raised with -Wextra and a few other options.
-- Multiple fixes and improvements in code, tests, examples, and docs.
-
-Open-source contributions integrated:
-
-- Xbox support by Roman Lut (Deep Shadows), though further changes are
- required to make it working; e.g. post-2.1 entry points are missing.
-- "Eventcount" by Dmitry Vyukov evolved into concurrent_monitor,
- an internal class used in the implementation of concurrent_queue.
-
-------------------------------------------------------------------------
-Intel TBB 2.2 Update 3 commercial-aligned release
-TBB_INTERFACE_VERSION == 4003
-
-Changes (w.r.t. Intel TBB 2.2 Update 2 commercial-aligned release):
-
-- PDF documentation updated.
-
-Bugs fixed:
-
-- concurrent_hash_map compatibility issue exposed on Linux in case
- two versions of the container were used by different modules.
-- enforce 16 byte stack alignment for consistence with GCC; required
- to work correctly with 128-bit variables processed by SSE.
-- construct() methods of allocator classes now use global operator new.
-
-------------------------------------------------------------------------
-Intel TBB 2.2 Update 2 commercial-aligned release
-TBB_INTERFACE_VERSION == 4002
-
-Changes (w.r.t. Intel TBB 2.2 Update 1 commercial-aligned release):
-
-- parallel_invoke and parallel_for_each now take function objects
- by const reference, not by value.
-- Building TBB with /MT is supported, to avoid dependency on particular
- versions of Visual C++* runtime DLLs. TBB DLLs built with /MT
- are located in vc_mt directory.
-- Class critical_section introduced.
-- Improvements in exception support: new exception classes introduced,
- all exceptions are thrown via an out-of-line internal method.
-- Improvements and fixes in the TBB allocator and malloc replacement,
- including robust memory identification, and more reliable dynamic
- function substitution on Windows*.
-- Method swap() added to class tbb_thread.
-- Methods rehash() and bucket_count() added to concurrent_hash_map.
-- Added support for Visual Studio* 2010 Beta2. No special binaries
- provided, but CRT-independent DLLs (vc_mt) should work.
-- Other fixes and improvements in code, tests, examples, and docs.
-
-Open-source contributions integrated:
-
-- The fix to build 32-bit TBB on Mac OS* X 10.6.
-- GCC-based port for SPARC Solaris by Michailo Matijkiw, with use of
- earlier work by Raf Schietekat.
-
-Bugs fixed:
-
-- 159 - TBB build for PowerPC* running Mac OS* X.
-- 160 - IBM* Java segfault if used with TBB allocator.
-- crash in concurrent_queue (1616).
-
-------------------------------------------------------------------------
-Intel TBB 2.2 Update 1 commercial-aligned release
-TBB_INTERFACE_VERSION == 4001
-
-Changes (w.r.t. Intel TBB 2.2 commercial-aligned release):
-
-- Incorporates all changes from open-source releases below.
-- Documentation was updated.
-- TBB scheduler auto-initialization now covers all possible use cases.
-- concurrent_queue: made argument types of sizeof used in paddings
- consistent with those actually used.
-- Memory allocator was improved: supported corner case of user's malloc
- calling scalable_malloc (non-Windows), corrected processing of
- memory allocation requests during tbb memory allocator startup
- (Linux).
-- Windows malloc replacement has got better support for static objects.
-- In pipeline setups that do not allow actual parallelism, execution
- by a single thread is guaranteed, idle spinning eliminated, and
- performance improved.
-- RML refactoring and clean-up.
-- New constructor for concurrent_hash_map allows reserving space for
- a number of items.
-- Operator delete() added to the TBB exception classes.
-- Lambda support was improved in parallel_reduce.
-- gcc 4.3 warnings were fixed for concurrent_queue.
-- Fixed possible initialization deadlock in modules using TBB entities
- during construction of global static objects.
-- Copy constructor in concurrent_hash_map was fixed.
-- Fixed a couple of rare crashes in the scheduler possible before
- in very specific use cases.
-- Fixed a rare crash in the TBB allocator running out of memory.
-- New tests were implemented, including test_lambda.cpp that checks
- support for lambda expressions.
-- A few other small changes in code, tests, and documentation.
-
-------------------------------------------------------------------------
-20090809 open-source release
-
-Changes (w.r.t. Intel TBB 2.2 commercial-aligned release):
-
-- Fixed known exception safety issues in concurrent_vector.
-- Better concurrency of simultaneous grow requests in concurrent_vector.
-- TBB allocator further improves performance of large object allocation.
-- Problem with source of text relocations was fixed on Linux
-- Fixed bugs related to malloc replacement under Windows
-- A few other small changes in code and documentation.
-
-------------------------------------------------------------------------
-Intel TBB 2.2 commercial-aligned release
-TBB_INTERFACE_VERSION == 4000
-
-Changes (w.r.t. Intel TBB 2.1 U4 commercial-aligned release):
-
-- Incorporates all changes from open-source releases below.
-- Architecture folders renamed from em64t to intel64 and from itanium
- to ia64.
-- Major Interface version changed from 3 to 4. Deprecated interfaces
- might be removed in future releases.
-- Parallel algorithms that use partitioners have switched to use
- the auto_partitioner by default.
-- Improved memory allocator performance for allocations bigger than 8K.
-- Added new thread-bound filters functionality for pipeline.
-- New implementation of concurrent_hash_map that improves performance
- significantly.
-- A few other small changes in code and documentation.
-
-------------------------------------------------------------------------
-20090511 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Basic support for MinGW32 development kit.
-- Added tbb::zero_allocator class that initializes memory with zeros.
- It can be used as an adaptor to any STL-compatible allocator class.
-- Added tbb::parallel_for_each template function as alias to parallel_do.
-- Added more overloads for tbb::parallel_for.
-- Added support for exact exception propagation (can only be used with
- compilers that support C++0x std::exception_ptr).
-- tbb::atomic template class can be used with enumerations.
-- mutex, recursive_mutex, spin_mutex, spin_rw_mutex classes extended
- with explicit lock/unlock methods.
-- Fixed size() and grow_to_at_least() methods of tbb::concurrent_vector
- to provide space allocation guarantees. More methods added for
- compatibility with std::vector, including some from C++0x.
-- Preview of a lambda-friendly interface for low-level use of tasks.
-- scalable_msize function added to the scalable allocator (Windows only).
-- Rationalized internal auxiliary functions for spin-waiting and backoff.
-- Several tests undergo decent refactoring.
-
-Changes affecting backward compatibility:
-
-- Improvements in concurrent_queue, including limited API changes.
- The previous version is deprecated; its functionality is accessible
- via methods of the new tbb::concurrent_bounded_queue class.
-- grow* and push_back methods of concurrent_vector changed to return
- iterators; old semantics is deprecated.
-
-------------------------------------------------------------------------
-Intel TBB 2.1 Update 4 commercial-aligned release
-TBB_INTERFACE_VERSION == 3016
-
-Changes (w.r.t. Intel TBB 2.1 U3 commercial-aligned release):
-
-- Added tests for aligned memory allocations and malloc replacement.
-- Several improvements for better bundling with Intel(R) C++ Compiler.
-- A few other small changes in code and documentation.
-
-Bugs fixed:
-
-- 150 - request to build TBB examples with debug info in release mode.
-- backward compatibility issue with concurrent_queue on Windows.
-- dependency on VS 2005 SP1 runtime libraries removed.
-- compilation of GUI examples under Xcode* 3.1 (1577).
-- On Windows, TBB allocator classes can be instantiated with const types
- for compatibility with MS implementation of STL containers (1566).
-
-------------------------------------------------------------------------
-20090313 open-source release
-
-Changes (w.r.t. 20081109 open-source release):
-
-- Includes all changes introduced in TBB 2.1 Update 2 & Update 3
- commercial-aligned releases (see below for details).
-- Added tbb::parallel_invoke template function. It runs up to 10
- user-defined functions in parallel and waits for them to complete.
-- Added a special library providing ability to replace the standard
- memory allocation routines in Microsoft* C/C++ RTL (malloc/free,
- global new/delete, etc.) with the TBB memory allocator.
- Usage details are described in include/tbb/tbbmalloc_proxy.h file.
-- Task scheduler switched to use new implementation of its core
- functionality (deque based task pool, new structure of arena slots).
-- Preview of Microsoft* Visual Studio* 2005 project files for
- building the library is available in build/vsproject folder.
-- Added tests for aligned memory allocations and malloc replacement.
-- Added parallel_for/game_of_life.net example (for Windows only)
- showing TBB usage in a .NET application.
-- A number of other fixes and improvements to code, tests, makefiles,
- examples and documents.
-
-Bugs fixed:
-
-- The same list as in TBB 2.1 Update 4 right above.
-
-------------------------------------------------------------------------
-Intel TBB 2.1 Update 3 commercial-aligned release
-TBB_INTERFACE_VERSION == 3015
-
-Changes (w.r.t. Intel TBB 2.1 U2 commercial-aligned release):
-
-- Added support for aligned allocations to the TBB memory allocator.
-- Added a special library to use with LD_PRELOAD on Linux* in order to
- replace the standard memory allocation routines in C/C++ with the
- TBB memory allocator.
-- Added null_mutex and null_rw_mutex: no-op classes interface-compliant
- to other TBB mutexes.
-- Improved performance of parallel_sort, to close most of the serial gap
- with std::sort, and beat it on 2 and more cores.
-- A few other small changes.
-
-Bugs fixed:
-
-- the problem where parallel_for hanged after exception throw
- if affinity_partitioner was used (1556).
-- get rid of VS warnings about mbstowcs deprecation (1560),
- as well as some other warnings.
-- operator== for concurrent_vector::iterator fixed to work correctly
- with different vector instances.
-
-------------------------------------------------------------------------
-Intel TBB 2.1 Update 2 commercial-aligned release
-TBB_INTERFACE_VERSION == 3014
-
-Changes (w.r.t. Intel TBB 2.1 U1 commercial-aligned release):
-
-- Incorporates all open-source-release changes down to TBB 2.1 U1,
- except for:
- - 20081019 addition of enumerable_thread_specific;
-- Warning level for Microsoft* Visual C++* compiler raised to /W4 /Wp64;
- warnings found on this level were cleaned or suppressed.
-- Added TBB_runtime_interface_version API function.
-- Added new example: pipeline/square.
-- Added exception handling and cancellation support
- for parallel_do and pipeline.
-- Added copy constructor and [begin,end) constructor to concurrent_queue.
-- Added some support for beta version of Intel(R) Parallel Amplifier.
-- Added scripts to set environment for cross-compilation of 32-bit
- applications on 64-bit Linux with Intel(R) C++ Compiler.
-- Fixed semantics of concurrent_vector::clear() to not deallocate
- internal arrays. Fixed compact() to perform such deallocation later.
-- Fixed the issue with atomic when T is incomplete type.
-- Improved support for PowerPC* Macintosh*, including the fix
- for a bug in masked compare-and-swap reported by a customer.
-- As usual, a number of other improvements everywhere.
-
-------------------------------------------------------------------------
-20081109 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Added new serial out of order filter for tbb::pipeline.
-- Fixed the issue with atomic::operator= reported at the forum.
-- Fixed the issue with using tbb::task::self() in task destructor
- reported at the forum.
-- A number of other improvements to code, tests, makefiles, examples
- and documents.
-
-Open-source contributions integrated:
-- Changes in the memory allocator were partially integrated.
-
-------------------------------------------------------------------------
-20081019 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Introduced enumerable_thread_specific. This new class provides a
- wrapper around native thread local storage as well as iterators and
- ranges for accessing the thread local copies (1533).
-- Improved support for Intel(R) Threading Analysis Tools
- on Intel(R) 64 architecture.
-- Dependency from Microsoft* CRT was integrated to the libraries using
- manifests, to avoid issues if called from code that uses different
- version of Visual C++* runtime than the library.
-- Introduced new defines TBB_USE_ASSERT, TBB_USE_DEBUG,
- TBB_USE_PERFORMANCE_WARNINGS, TBB_USE_THREADING_TOOLS.
-- A number of other improvements to code, tests, makefiles, examples
- and documents.
-
-Open-source contributions integrated:
-
-- linker optimization: /incremental:no .
-
-------------------------------------------------------------------------
-20080925 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Same fix for a memory leak in the memory allocator as in TBB 2.1 U1.
-- Improved support for lambda functions.
-- Fixed more concurrent_queue issues reported at the forum.
-- A number of other improvements to code, tests, makefiles, examples
- and documents.
-
-------------------------------------------------------------------------
-Intel TBB 2.1 Update 1 commercial-aligned release
-TBB_INTERFACE_VERSION == 3013
-
-Changes (w.r.t. Intel TBB 2.1 commercial-aligned release):
-
-- Fixed small memory leak in the memory allocator.
-- Incorporates all open-source-release changes since TBB 2.1,
- except for:
- - 20080825 changes for parallel_do;
-
-------------------------------------------------------------------------
-20080825 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Added exception handling and cancellation support for parallel_do.
-- Added default HashCompare template argument for concurrent_hash_map.
-- Fixed concurrent_queue.clear() issues due to incorrect assumption
- about clear() being private method.
-- Added the possibility to use TBB in applications that change
- default calling conventions (Windows* only).
-- Many improvements to code, tests, examples, makefiles and documents.
-
-Bugs fixed:
-
-- 120, 130 - memset declaration missed in concurrent_hash_map.h
-
-------------------------------------------------------------------------
-20080724 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Inline assembly for atomic operations improved for gcc 4.3
-- A few more improvements to the code.
-
-------------------------------------------------------------------------
-20080709 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- operator=() was added to the tbb_thread class according to
- the current working draft for std::thread.
-- Recognizing SPARC* in makefiles for Linux* and Sun Solaris*.
-
-Bugs fixed:
-
-- 127 - concurrent_hash_map::range fixed to split correctly.
-
-Open-source contributions integrated:
-
-- fix_set_midpoint.diff by jyasskin
-- SPARC* support in makefiles by Raf Schietekat
-
-------------------------------------------------------------------------
-20080622 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Fixed a hang that rarely happened on Linux
- during deinitialization of the TBB scheduler.
-- Improved support for Intel(R) Thread Checker.
-- A few more improvements to the code.
-
-------------------------------------------------------------------------
-Intel TBB 2.1 commercial-aligned release
-TBB_INTERFACE_VERSION == 3011
-
-Changes (w.r.t. Intel TBB 2.0 U3 commercial-aligned release):
-
-- All open-source-release changes down to, and including, TBB 2.0 below,
- were incorporated into this release.
-
-------------------------------------------------------------------------
-20080605 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Explicit control of exported symbols by version scripts added on Linux.
-- Interfaces polished for exception handling & algorithm cancellation.
-- Cache behavior improvements in the scalable allocator.
-- Improvements in text_filter, polygon_overlay, and other examples.
-- A lot of other stability improvements in code, tests, and makefiles.
-- First release where binary packages include headers/docs/examples, so
- binary packages are now self-sufficient for using TBB.
-
-Open-source contributions integrated:
-
-- atomics patch (partially).
-- tick_count warning patch.
-
-Bugs fixed:
-
-- 118 - fix for boost compatibility.
-- 123 - fix for tbb_machine.h.
-
-------------------------------------------------------------------------
-20080512 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Fixed a problem with backward binary compatibility
- of debug Linux builds.
-- Sun* Studio* support added.
-- soname support added on Linux via linker script. To restore backward
- binary compatibility, *.so -> *.so.2 softlinks should be created.
-- concurrent_hash_map improvements - added few new forms of insert()
- method and fixed precondition and guarantees of erase() methods.
- Added runtime warning reporting about bad hash function used for
- the container. Various improvements for performance and concurrency.
-- Cancellation mechanism reworked so that it does not hurt scalability.
-- Algorithm parallel_do reworked. Requirement for Body::argument_type
- definition removed, and work item argument type can be arbitrarily
- cv-qualified.
-- polygon_overlay example added.
-- A few more improvements to code, tests, examples and Makefiles.
-
-Open-source contributions integrated:
-
-- Soname support patch for Bugzilla #112.
-
-Bugs fixed:
-
-- 112 - fix for soname support.
-
-------------------------------------------------------------------------
-Intel TBB 2.0 U3 commercial-aligned release (package 017, April 20, 2008)
-
-Corresponds to commercial 019 (for Linux*, 020; for Mac OS* X, 018)
-packages.
-
-Changes (w.r.t. Intel TBB 2.0 U2 commercial-aligned release):
-
-- Does not contain open-source-release changes below; this release is
- only a minor update of TBB 2.0 U2.
-- Removed spin-waiting in pipeline and concurrent_queue.
-- A few more small bug fixes from open-source releases below.
-
-------------------------------------------------------------------------
-20080408 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- count_strings example reworked: new word generator implemented, hash
- function replaced, and tbb_allocator is used with std::string class.
-- Static methods of spin_rw_mutex were replaced by normal member
- functions, and the class name was versioned.
-- tacheon example was renamed to tachyon.
-- Improved support for Intel(R) Thread Checker.
-- A few more minor improvements.
-
-Open-source contributions integrated:
-
-- Two sets of Sun patches for IA Solaris support.
-
-------------------------------------------------------------------------
-20080402 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Exception handling and cancellation support for tasks and algorithms
- fully enabled.
-- Exception safety guaranties defined and fixed for all concurrent
- containers.
-- User-defined memory allocator support added to all concurrent
- containers.
-- Performance improvement of concurrent_hash_map, spin_rw_mutex.
-- Critical fix for a rare race condition during scheduler
- initialization/de-initialization.
-- New methods added for concurrent containers to be closer to STL,
- as well as automatic filters removal from pipeline
- and __TBB_AtomicAND function.
-- The volatile keyword dropped from where it is not really needed.
-- A few more minor improvements.
-
-------------------------------------------------------------------------
-20080319 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Support for gcc version 4.3 was added.
-- tbb_thread class, near compatible with std::thread expected in C++0x,
- was added.
-
-Bugs fixed:
-
-- 116 - fix for compilation issues with gcc version 4.2.1.
-- 120 - fix for compilation issues with gcc version 4.3.
-
-------------------------------------------------------------------------
-20080311 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- An enumerator added for pipeline filter types (serial vs. parallel).
-- New task_scheduler_observer class introduced, to observe when
- threads start and finish interacting with the TBB task scheduler.
-- task_scheduler_init reverted to not use internal versioned class;
- binary compatibility guaranteed with stable releases only.
-- Various improvements to code, tests, examples and Makefiles.
-
-------------------------------------------------------------------------
-20080304 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Task-to-thread affinity support, previously kept under a macro,
- now fully legalized.
-- Work-in-progress on cache_aligned_allocator improvements.
-- Pipeline really supports parallel input stage; it's no more serialized.
-- Various improvements to code, tests, examples and Makefiles.
-
-Bugs fixed:
-
-- 119 - fix for scalable_malloc sometimes failing to return a big block.
-- TR575 - fixed a deadlock occurring on Windows in startup/shutdown
- under some conditions.
-
-------------------------------------------------------------------------
-20080226 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Introduced tbb_allocator to select between standard allocator and
- tbb::scalable_allocator when available.
-- Removed spin-waiting in pipeline and concurrent_queue.
-- Improved performance of concurrent_hash_map by using tbb_allocator.
-- Improved support for Intel(R) Thread Checker.
-- Various improvements to code, tests, examples and Makefiles.
-
-------------------------------------------------------------------------
-Intel TBB 2.0 U2 commercial-aligned release (package 017, February 14, 2008)
-
-Corresponds to commercial 017 (for Linux*, 018; for Mac OS* X, 016)
-packages.
-
-Changes (w.r.t. Intel TBB 2.0 U1 commercial-aligned release):
-
-- Does not contain open-source-release changes below; this release is
- only a minor update of TBB 2.0 U1.
-- Add support for Microsoft* Visual Studio* 2008, including binary
- libraries and VS2008 projects for examples.
-- Use SwitchToThread() not Sleep() to yield threads on Windows*.
-- Enhancements to Doxygen-readable comments in source code.
-- A few more small bug fixes from open-source releases below.
-
-Bugs fixed:
-
-- TR569 - Memory leak in concurrent_queue.
-
-------------------------------------------------------------------------
-20080207 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Improvements and minor fixes in VS2008 projects for examples.
-- Improvements in code for gating worker threads that wait for work,
- previously consolidated under #if IMPROVED_GATING, now legalized.
-- Cosmetic changes in code, examples, tests.
-
-Bugs fixed:
-
-- 113 - Iterators and ranges should be convertible to their const
- counterparts.
-- TR569 - Memory leak in concurrent_queue.
-
-------------------------------------------------------------------------
-20080122 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Updated examples/parallel_for/seismic to improve the visuals and to
- use the affinity_partitioner (20071127 and forward) for better
- performance.
-- Minor improvements to unittests and performance tests.
-
-------------------------------------------------------------------------
-20080115 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Cleanup, simplifications and enhancements to the Makefiles for
- building the libraries (see build/index.html for high-level
- changes) and the examples.
-- Use SwitchToThread() not Sleep() to yield threads on Windows*.
-- Engineering work-in-progress on exception safety/support.
-- Engineering work-in-progress on affinity_partitioner for
- parallel_reduce.
-- Engineering work-in-progress on improved gating for worker threads
- (idle workers now block in the OS instead of spinning).
-- Enhancements to Doxygen-readable comments in source code.
-
-Bugs fixed:
-
-- 102 - Support for parallel build with gmake -j
-- 114 - /Wp64 build warning on Windows*.
-
-------------------------------------------------------------------------
-20071218 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Full support for Microsoft* Visual Studio* 2008 in open-source.
- Binaries for vc9/ will be available in future stable releases.
-- New recursive_mutex class.
-- Full support for 32-bit PowerMac including export files for builds.
-- Improvements to parallel_do.
-
-------------------------------------------------------------------------
-20071206 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Support for Microsoft* Visual Studio* 2008 in building libraries
- from source as well as in vc9/ projects for examples.
-- Small fixes to the affinity_partitioner first introduced in 20071127.
-- Small fixes to the thread-stack size hook first introduced in 20071127.
-- Engineering work in progress on concurrent_vector.
-- Engineering work in progress on exception behavior.
-- Unittest improvements.
-
-------------------------------------------------------------------------
-20071127 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- Task-to-thread affinity support (affinity partitioner) first appears.
-- More work on concurrent_vector.
-- New parallel_do algorithm (function-style version of parallel while)
- and parallel_do/parallel_preorder example.
-- New task_scheduler_init() hooks for getting default_num_threads() and
- for setting thread stack size.
-- Support for weak memory consistency models in the code base.
-- Futex usage in the task scheduler (Linux).
-- Started adding 32-bit PowerMac support.
-- Intel(R) 9.1 compilers are now the base supported Intel(R) compiler
- version.
-- TBB libraries added to link line automatically on Microsoft Windows*
- systems via #pragma comment linker directives.
-
-Open-source contributions integrated:
-
-- FreeBSD platform support patches.
-- AIX weak memory model patch.
-
-Bugs fixed:
-
-- 108 - Removed broken affinity.h reference.
-- 101 - Does not build on Debian Lenny (replaced arch with uname -m).
-
-------------------------------------------------------------------------
-20071030 open-source release
-
-Changes (w.r.t. previous open-source release):
-
-- More work on concurrent_vector.
-- Better support for building with -Wall -Werror (or not) as desired.
-- A few fixes to eliminate extraneous warnings.
-- Begin introduction of versioning hooks so that the internal/API
- version is tracked via TBB_INTERFACE_VERSION. The newest binary
- libraries should always work with previously-compiled code when-
- ever possible.
-- Engineering work in progress on using futex inside the mutexes (Linux).
-- Engineering work in progress on exception behavior.
-- Engineering work in progress on a new parallel_do algorithm.
-- Unittest improvements.
-
-------------------------------------------------------------------------
-20070927 open-source release
-
-Changes (w.r.t. Intel TBB 2.0 U1 commercial-aligned release):
-
-- Minor update to TBB 2.0 U1 below.
-- Begin introduction of new concurrent_vector interfaces not released
- with TBB 2.0 U1.
-
-------------------------------------------------------------------------
-Intel TBB 2.0 U1 commercial-aligned release (package 014, October 1, 2007)
-
-Corresponds to commercial 014 (for Linux*, 016) packages.
-
-Changes (w.r.t. Intel TBB 2.0 commercial-aligned release):
-
-- All open-source-release changes down to, and including, TBB 2.0
- below, were incorporated into this release.
-- Made a number of changes to the officially supported OS list:
- Added Linux* OSs:
- Asianux* 3, Debian* 4.0, Fedora Core* 6, Fedora* 7,
- Turbo Linux* 11, Ubuntu* 7.04;
- Dropped Linux* OSs:
- Asianux* 2, Fedora Core* 4, Haansoft* Linux 2006 Server,
- Mandriva/Mandrake* 10.1, Miracle Linux* 4.0,
- Red Flag* DC Server 5.0;
- Only Mac OS* X 10.4.9 (and forward) and Xcode* tool suite 2.4.1 (and
- forward) are now supported.
-- Commercial installers on Linux* fixed to recommend the correct
- binaries to use in more cases, with less unnecessary warnings.
-- Changes to eliminate spurious build warnings.
-
-Open-source contributions integrated:
-
-- Two small header guard macro patches; it also fixed bug #94.
-- New blocked_range3d class.
-
-Bugs fixed:
-
-- 93 - Removed misleading comments in task.h.
-- 94 - See above.
-
-------------------------------------------------------------------------
-20070815 open-source release
-
-Changes:
-
-- Changes to eliminate spurious build warnings.
-- Engineering work in progress on concurrent_vector allocator behavior.
-- Added hooks to use the Intel(R) compiler code coverage tools.
-
-Open-source contributions integrated:
-
-- Mac OS* X build warning patch.
-
-Bugs fixed:
-
-- 88 - Fixed TBB compilation errors if both VS2005 and Windows SDK are
- installed.
-
-------------------------------------------------------------------------
-20070719 open-source release
-
-Changes:
-
-- Minor update to TBB 2.0 commercial-aligned release below.
-- Changes to eliminate spurious build warnings.
-
-------------------------------------------------------------------------
-Intel TBB 2.0 commercial-aligned release (package 010, July 19, 2007)
-
-Corresponds to commercial 010 (for Linux*, 012) packages.
-
-- TBB open-source debut release.
-
-------------------------------------------------------------------------
-Intel TBB 1.1 commercial release (April 10, 2007)
-
-Changes (w.r.t. Intel TBB 1.0 commercial release):
-
-- auto_partitioner which offered an automatic alternative to specifying
- a grain size parameter to estimate the best granularity for tasks.
-- The release was added to the Intel(R) C++ Compiler 10.0 Pro.
-
-------------------------------------------------------------------------
-Intel TBB 1.0 Update 2 commercial release
-
-Changes (w.r.t. Intel TBB 1.0 Update 1 commercial release):
-
-- Mac OS* X 64-bit support added.
-- Source packages for commercial releases introduced.
-
-------------------------------------------------------------------------
-Intel TBB 1.0 Update 1 commercial-aligned release
-
-Changes (w.r.t. Intel TBB 1.0 commercial release):
-
-- Fix for critical package issue on Mac OS* X.
-
-------------------------------------------------------------------------
-Intel TBB 1.0 commercial release (August 29, 2006)
-
-Changes (w.r.t. Intel TBB 1.0 beta commercial release):
-
-- New namespace (and compatibility headers for old namespace).
- Namespaces are tbb and tbb::internal and all classes are in the
- underscore_style not the WindowsStyle.
-- New class: scalable_allocator (and cache_aligned_allocator using that
- if it exists).
-- Added parallel_for/tacheon example.
-- Removed C-style casts from headers for better C++ compliance.
-- Bug fixes.
-- Documentation improvements.
-- Improved performance of the concurrent_hash_map class.
-- Upgraded parallel_sort() to support STL-style random-access iterators
- instead of just pointers.
-- The Windows vs7_1 directories renamed to vs7.1 in examples.
-- New class: spin version of reader-writer lock.
-- Added push_back() interface to concurrent_vector().
-
-------------------------------------------------------------------------
-Intel TBB 1.0 beta commercial release
-
-Initial release.
-
-Features / APIs:
-
-- Concurrent containers: ConcurrentHashTable, ConcurrentVector,
- ConcurrentQueue.
-- Parallel algorithms: ParallelFor, ParallelReduce, ParallelScan,
- ParallelWhile, Pipeline, ParallelSort.
-- Support: AlignedSpace, BlockedRange (i.e., 1D), BlockedRange2D
-- Task scheduler with multi-master support.
-- Atomics: read, write, fetch-and-store, fetch-and-add, compare-and-swap.
-- Locks: spin, reader-writer, queuing, OS-wrapper.
-- Memory allocation: STL-style memory allocator that avoids false
- sharing.
-- Timers.
-
-Tools Support:
-- Intel(R) Thread Checker 3.0.
-- Intel(R) Thread Profiler 3.0.
-
-Documentation:
-- First Use Documents: README.txt, INSTALL.txt, Release_Notes.txt,
- Doc_Index.html, Getting_Started.pdf, Tutorial.pdf, Reference.pdf.
-- Class hierarchy HTML pages (Doxygen).
-- Tree of index.html pages for navigating the installed package, esp.
- for the examples.
-
-Examples:
-- One for each of these TBB features: ConcurrentHashTable, ParallelFor,
- ParallelReduce, ParallelWhile, Pipeline, Task.
-- Live copies of examples from Getting_Started.pdf.
-- TestAll example that exercises every class and header in the package
- (i.e., a "liveness test").
-- Compilers: see Release_Notes.txt.
-- APIs: OpenMP, WinThreads, Pthreads.
-
-Packaging:
-- Package for Windows installs IA-32 and EM64T bits.
-- Package for Linux installs IA-32, EM64T and IPF bits.
-- Package for Mac OS* X installs IA-32 bits.
-- All packages support Intel(R) software setup assistant (ISSA) and
- install-time FLEXlm license checking.
-- ISSA support allows license file to be specified directly in case of
- no Internet connection or problems with IRC or serial #s.
-- Linux installer allows root or non-root, RPM or non-RPM installs.
-- FLEXlm license servers (for those who need floating/counted licenses)
- are provided separately on Intel(R) Premier.
-
-------------------------------------------------------------------------
-Intel, the Intel logo, Xeon, Intel Xeon Phi, and Cilk are registered
-trademarks or trademarks of Intel Corporation or its subsidiaries in
-the United States and other countries.
-
-* Other names and brands may be claimed as the property of others.
diff --git a/src/tbb-2019/COPYING b/src/tbb-2019/COPYING
deleted file mode 100644
index 261eeb9e9..000000000
--- a/src/tbb-2019/COPYING
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/src/tbb-2019/Doxyfile b/src/tbb-2019/Doxyfile
deleted file mode 100644
index 3c7727f84..000000000
--- a/src/tbb-2019/Doxyfile
+++ /dev/null
@@ -1,1325 +0,0 @@
-# Doxyfile 1.4.7
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = "Intel(R) Threading Building Blocks Doxygen Documentation"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = "version 4.2.3"
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
-# Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful is your file systems
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = YES
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for Java.
-# For instance, namespaces will be presented as packages, qualified scopes
-# will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT = YES
-
-# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
-# to that level are automatically included in the table of contents, even if
-# they do not have an id attribute.
-# Note: This feature currently applies only to Markdown headings.
-# Minimum value: 0, maximum value: 99, default value: 0.
-# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
-
-TOC_INCLUDE_HEADINGS = 0
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
-# include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = NO
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = NO
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = NO
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS = INTERNAL
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or define consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and defines in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from the
-# version control system). Doxygen will invoke the program by executing (via
-# popen()) the command , where is the value of
-# the FILE_VERSION_FILTER tag, and is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = include/ src/tbb/
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
-
-FILE_PATTERNS =
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix filesystem feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command , where
-# is the value of the INPUT_FILTER tag, and is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
-# is applied to all files.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = YES
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code. Otherwise they will link to the documentstion.
-
-REFERENCES_LINK_SOURCE = NO
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX =
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER = doc/copyright_brand_disclaimer_doxygen.txt
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET =
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
-# generated containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = YES
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = a4wide
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = NO
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = NO
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED = TBB_PREVIEW_FLOW_GRAPH_FEATURES \
- TBB_PREVIEW_FLOW_GRAPH_NODES \
- __TBB_PREVIEW_OPENCL_NODE \
- __TBB_CPP11_RVALUE_REF_PRESENT \
- __TBB_CPP11_VARIADIC_TEMPLATES_PRESENT \
- __TBB_IMPLICIT_MOVE_PRESENT \
- __TBB_EXCEPTION_PTR_PRESENT \
- __TBB_STATIC_ASSERT_PRESENT \
- __TBB_CPP11_TUPLE_PRESENT \
- __TBB_INITIALIZER_LISTS_PRESENT \
- __TBB_CONSTEXPR_PRESENT \
- __TBB_DEFAULTED_AND_DELETED_FUNC_PRESENT \
- __TBB_NOEXCEPT_PRESENT \
- __TBB_CPP11_STD_BEGIN_END_PRESENT \
- __TBB_CPP11_AUTO_PRESENT \
- __TBB_CPP11_DECLTYPE_PRESENT \
- __TBB_CPP11_LAMBDAS_PRESENT \
- __TBB_CPP11_DEFAULT_FUNC_TEMPLATE_ARGS_PRESENT \
- __TBB_OVERRIDE_PRESENT \
- __TBB_ALIGNAS_PRESENT \
- __TBB_CPP11_TEMPLATE_ALIASES_PRESENT \
- __TBB_FLOW_GRAPH_CPP11_FEATURES \
- __TBB_PREVIEW_STREAMING_NODE
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all function-like macros that are alone
-# on a line, have an all uppercase name, and do not end with a semicolon. Such
-# function macros are typically used for boiler-plate code, and will confuse
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option is superseded by the HAVE_DOT option below. This is only a
-# fallback. It is recommended to install and use dot, since it yields more
-# powerful graphs.
-
-CLASS_DIAGRAMS = YES
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = YES
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = YES
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a call dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-
-CALL_GRAPH = YES
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will
-# generate a caller dependency graph for every global function or class method.
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-
-CALLER_GRAPH = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, jpg, or gif
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = svg
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG = YES
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that a graph may be further truncated if the graph's
-# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
-# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
-# the graph is not depth-constrained.
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES = 200
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, which results in a white background.
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = YES
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = YES
diff --git a/src/tbb-2019/LICENSE b/src/tbb-2019/LICENSE
deleted file mode 100644
index 261eeb9e9..000000000
--- a/src/tbb-2019/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/src/tbb-2019/Makefile b/src/tbb-2019/Makefile
deleted file mode 100644
index 29e3f5cfd..000000000
--- a/src/tbb-2019/Makefile
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-tbb_root?=.
-include $(tbb_root)/build/common.inc
-.PHONY: default all tbb tbbmalloc tbbproxy test examples
-
-#workaround for non-depend targets tbb and tbbmalloc which both depend on version_string.ver
-#According to documentation, recursively invoked make commands can process their targets in parallel
-.NOTPARALLEL: tbb tbbmalloc tbbproxy
-
-default: tbb tbbmalloc $(if $(use_proxy),tbbproxy)
-
-all: tbb tbbmalloc tbbproxy test examples
-
-tbb: mkdir
- $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbb cfg=debug
- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbb cfg=release
-
-tbbmalloc: mkdir
- $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc
- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc
-
-tbbproxy: mkdir
- $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=debug tbbproxy
- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbproxy cfg=release tbbproxy
-
-test: tbb tbbmalloc $(if $(use_proxy),tbbproxy)
- -$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc_test
- -$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.test cfg=debug
- -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc_test
- -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test cfg=release
-
-rml: mkdir
- $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.rml cfg=debug
- $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.rml cfg=release
-
-
-examples: tbb tbbmalloc
- $(MAKE) -C examples -r -f Makefile tbb_root=.. release test
-
-.PHONY: clean clean_examples mkdir info
-
-clean: clean_examples
- $(shell $(RM) $(work_dir)_release$(SLASH)*.* >$(NUL) 2>$(NUL))
- $(shell $(RD) $(work_dir)_release >$(NUL) 2>$(NUL))
- $(shell $(RM) $(work_dir)_debug$(SLASH)*.* >$(NUL) 2>$(NUL))
- $(shell $(RD) $(work_dir)_debug >$(NUL) 2>$(NUL))
- @echo clean done
-
-clean_examples:
- $(shell $(MAKE) -s -i -r -C examples -f Makefile tbb_root=.. clean >$(NUL) 2>$(NUL))
-
-mkdir:
- $(shell $(MD) "$(work_dir)_release" >$(NUL) 2>$(NUL))
- $(shell $(MD) "$(work_dir)_debug" >$(NUL) 2>$(NUL))
- @echo Created $(work_dir)_release and ..._debug directories
-
-info:
- @echo OS: $(tbb_os)
- @echo arch=$(arch)
- @echo compiler=$(compiler)
- @echo runtime=$(runtime)
- @echo tbb_build_prefix=$(tbb_build_prefix)
-
diff --git a/src/tbb-2019/README b/src/tbb-2019/README
deleted file mode 100644
index fcc87af0c..000000000
--- a/src/tbb-2019/README
+++ /dev/null
@@ -1,11 +0,0 @@
-Intel(R) Threading Building Blocks - README
-
-See index.html for directions and documentation.
-
-If source is present (./Makefile and src/ directories),
-type 'gmake' in this directory to build and test.
-
-See examples/index.html for runnable examples and directions.
-
-See http://threadingbuildingblocks.org for full documentation
-and software information.
diff --git a/src/tbb-2019/README.md b/src/tbb-2019/README.md
deleted file mode 100644
index 4efa64a66..000000000
--- a/src/tbb-2019/README.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Threading Building Blocks 2019 Update 8
-[![Stable release](https://img.shields.io/badge/version-2019_U8-green.svg)](https://github.com/01org/tbb/releases/tag/2019_U8)
-[![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE)
-
-Threading Building Blocks (TBB) lets you easily write parallel C++ programs that take
-full advantage of multicore performance, that are portable, composable and have future-proof scalability.
-
-## Release Information
-Here are the latest [Changes](CHANGES) and [Release Notes](doc/Release_Notes.txt) (contains system requirements and known issues).
-
-Since [2018 U5](https://github.com/01org/tbb/releases/tag/2018_U5) TBB binary packages include [Parallel STL](https://github.com/intel/parallelstl) as a high-level component.
-
-## Documentation
-* TBB [tutorial](https://software.intel.com/en-us/tbb-tutorial)
-* TBB general documentation: [stable](https://software.intel.com/en-us/tbb-documentation)
-and [latest](https://www.threadingbuildingblocks.org/docs/help/index.htm)
-
-## Support
-Please report issues and suggestions via
-[GitHub issues](https://github.com/01org/tbb/issues) or start a topic on the
-[TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
-
-## How to Contribute
-To contribute to TBB, please open a GitHub pull request (preferred) or send us a patch by e-mail.
-Threading Building Blocks is licensed under [Apache License, Version 2.0](LICENSE).
-By its terms, contributions submitted to the project are also done under that license.
-
-## Engineering team contacts
-* [E-mail us.](mailto:inteltbbdevelopers@intel.com)
-
-------------------------------------------------------------------------
-Intel and the Intel logo are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
-
-\* Other names and brands may be claimed as the property of others.
diff --git a/src/tbb-2019/build/.gitignore b/src/tbb-2019/build/.gitignore
deleted file mode 100644
index 53dc09fc1..000000000
--- a/src/tbb-2019/build/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-lib_*/
diff --git a/src/tbb-2019/build/AIX.gcc.inc b/src/tbb-2019/build/AIX.gcc.inc
deleted file mode 100644
index 4258a708e..000000000
--- a/src/tbb-2019/build/AIX.gcc.inc
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-DYLIB_KEY = -shared
-LIBDL = -ldl
-
-CPLUS = g++
-CONLY = gcc
-LIB_LINK_FLAGS = -shared
-LIBS = -lpthread -ldl
-C_FLAGS = $(CPLUS_FLAGS) -x c
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -O2 -DUSE_PTHREAD -pthread
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -pthread
-endif
-
-ASM=
-ASM_FLAGS=
-
-TBB_ASM.OBJ=
-
-ifeq (powerpc,$(arch))
- CPLUS_FLAGS += -maix64 -Wl,-G
- LIB_LINK_FLAGS += -maix64 -Wl,-b64 -Wl,-brtl -Wl,-G
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-
-ASSEMBLY_SOURCE=ibm_aix51
-ifeq (powerpc,$(arch))
- TBB_ASM.OBJ = atomic_support.o
-endif
-
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/AIX.inc b/src/tbb-2019/build/AIX.inc
deleted file mode 100644
index 45e3651cf..000000000
--- a/src/tbb-2019/build/AIX.inc
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-ifndef arch
- arch:=$(shell uname -p)
- export arch
-endif
-
-ifndef runtime
- gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
- os_version:=$(shell uname -r)
- os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
- export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)
-endif
-
-native_compiler := gcc
-export compiler ?= gcc
-debugger ?= gdb
-
-CMD=$(SHELL) -c
-CWD=$(shell pwd)
-RM?=rm -f
-RD?=rmdir
-MD?=mkdir -p
-NUL= /dev/null
-SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(VERSION_FLAGS) >version_string.ver
-MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
-
-ifdef LIBPATH
- export LIBPATH := .:$(LIBPATH)
-else
- export LIBPATH := .
-endif
-
-####### Build settings ########################################################
-
-OBJ = o
-DLL = so
-
-TBB.LST =
-TBB.DEF =
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/src/tbb-2019/build/BSD.clang.inc b/src/tbb-2019/build/BSD.clang.inc
deleted file mode 100644
index 042c09b0c..000000000
--- a/src/tbb-2019/build/BSD.clang.inc
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-TEST_WARNING_KEY = -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor -Wno-dangling-else
-DYLIB_KEY = -shared
-EXPORT_KEY = -Wl,--version-script,
-LIBDL =
-
-CPLUS = clang++
-CONLY = clang
-LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
-LIBS += -lpthread
-LINK_FLAGS = -Wl,-rpath-link=. -Wl,-rpath=. -rdynamic
-C_FLAGS = $(CPLUS_FLAGS)
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
-endif
-
-ifneq (,$(stdlib))
- CPLUS_FLAGS += -stdlib=$(stdlib)
- LIB_LINK_FLAGS += -stdlib=$(stdlib)
-endif
-
-TBB_ASM.OBJ=
-MALLOC_ASM.OBJ=
-
-ifeq (intel64,$(arch))
- ITT_NOTIFY = -DDO_ITT_NOTIFY
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-ifeq (ia32,$(arch))
- ITT_NOTIFY = -DDO_ITT_NOTIFY
- CPLUS_FLAGS += -m32 -march=pentium4
- LIB_LINK_FLAGS += -m32
-endif
-
-ifeq (ppc64,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-ifeq (ppc32,$(arch))
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-endif
-
-ifeq (bg,$(arch))
- CPLUS = bgclang++
- CONLY = bgclang
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-ASM = as
-ifeq (intel64,$(arch))
- ASM_FLAGS += --64
-endif
-ifeq (ia32,$(arch))
- ASM_FLAGS += --32
-endif
-ifeq ($(cfg),debug)
- ASM_FLAGS += -g
-endif
-
-ASSEMBLY_SOURCE=$(arch)-gas
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/BSD.inc b/src/tbb-2019/build/BSD.inc
deleted file mode 100644
index 6ef75dbab..000000000
--- a/src/tbb-2019/build/BSD.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-ifndef arch
- ifeq ($(shell uname -m),i386)
- export arch:=ia32
- endif
- ifeq ($(shell uname -m),ia64)
- export arch:=ia64
- endif
- ifeq ($(shell uname -m),amd64)
- export arch:=intel64
- endif
-endif
-
-ifndef runtime
- clang_version:=$(shell clang -v 2>&1 | grep version | sed "s/.*version \([0-9]*\.[0-9]*\).*/\1/")
- os_version:=$(shell uname -r)
- os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
- export runtime:=cc$(clang_version)_kernel$(os_kernel_version)
-endif
-
-native_compiler := clang
-export compiler ?= clang
-debugger ?= gdb
-
-CMD=$(SHELL) -c
-CWD=$(shell pwd)
-RM?=rm -f
-RD?=rmdir
-MD?=mkdir -p
-NUL= /dev/null
-SLASH=/
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(VERSION_FLAGS) >version_string.ver
-MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
-
-ifdef LD_LIBRARY_PATH
- export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
-else
- export LD_LIBRARY_PATH := .
-endif
-
-####### Build settings ########################################################
-
-OBJ = o
-DLL = so
-LIBEXT=so
-
-TBB.LST =
-TBB.DEF =
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/src/tbb-2019/build/FreeBSD.clang.inc b/src/tbb-2019/build/FreeBSD.clang.inc
deleted file mode 100644
index c7a2864d7..000000000
--- a/src/tbb-2019/build/FreeBSD.clang.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include $(tbb_root)/build/BSD.clang.inc
-
-LIBS += -lrt
diff --git a/src/tbb-2019/build/FreeBSD.gcc.inc b/src/tbb-2019/build/FreeBSD.gcc.inc
deleted file mode 100644
index 653d4a3ed..000000000
--- a/src/tbb-2019/build/FreeBSD.gcc.inc
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-DYLIB_KEY = -shared
-WARNING_SUPPRESS = -Wno-parentheses
-
-CPLUS = g++
-CONLY = gcc
-LIB_LINK_FLAGS = -shared
-LIBS = -lpthread
-C_FLAGS = $(CPLUS_FLAGS)
-
-# gcc 6.0 and later have -flifetime-dse option that controls
-# elimination of stores done outside the object lifetime
-ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9])"))
- # keep pre-contruction stores for zero initialization
- DSE_KEY = -flifetime-dse=1
-endif
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
-endif
-
-ASM=
-ASM_FLAGS=
-
-TBB_ASM.OBJ=
-MALLOC_ASM.OBJ=
-
-ifeq (ia64,$(arch))
-# Position-independent code (PIC) is a must on IA-64 architecture, even for regular (not shared) executables
- CPLUS_FLAGS += $(PIC_KEY)
-endif
-
-ifeq (intel64,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-ifeq (ia32,$(arch))
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-ASSEMBLY_SOURCE=$(arch)-gas
-ifeq (ia64,$(arch))
- ASM=as
- TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
- MALLOC_ASM.OBJ = atomic_support.o lock_byte.o pause.o
-endif
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/FreeBSD.inc b/src/tbb-2019/build/FreeBSD.inc
deleted file mode 100644
index 7eafb2743..000000000
--- a/src/tbb-2019/build/FreeBSD.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include $(tbb_root)/build/BSD.inc
diff --git a/src/tbb-2019/build/Makefile.rml b/src/tbb-2019/build/Makefile.rml
deleted file mode 100644
index 62983a641..000000000
--- a/src/tbb-2019/build/Makefile.rml
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# TODO: investigate why version_string.ver is not complete when $(RML_SERVER.OBJ) is being compiled.
-.NOTPARALLEL:
-
-tbb_root ?= $(TBBROOT)
-BUILDING_PHASE=1
-TEST_RESOURCE = $(RML.RES)
-include $(tbb_root)/build/common.inc
-DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
-
-ifeq (android,$(target))
-$(error "RML is not supported on Android")
-endif
-
-# default target
-default_rml: rml rml_test
-
-RML_ROOT ?= $(tbb_root)/src/rml
-RML_SERVER_ROOT = $(RML_ROOT)/server
-
-VPATH = $(tbb_root)/src/tbb $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE)
-VPATH += $(RML_ROOT)/server $(RML_ROOT)/client $(RML_ROOT)/test $(tbb_root)/src/test
-
-include $(tbb_root)/build/common_rules.inc
-
-#--------------------------------------------------------------------------
-# Define rules for making the RML server shared library and client objects.
-#--------------------------------------------------------------------------
-
-# Object files that make up RML server
-RML_SERVER.OBJ = rml_server.$(OBJ)
-
-# Object files that RML clients need
-RML_TBB_CLIENT.OBJ ?= rml_tbb.$(OBJ) dynamic_link_rml.$(OBJ)
-RML_OMP_CLIENT.OBJ ?= rml_omp.$(OBJ) omp_dynamic_link.$(OBJ)
-
-RML.OBJ = $(RML_SERVER.OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
-ifeq (windows,$(tbb_os))
-RML_ASM.OBJ = $(if $(findstring intel64,$(arch)),$(TBB_ASM.OBJ))
-endif
-ifeq (linux,$(tbb_os))
-RML_ASM.OBJ = $(if $(findstring ia64,$(arch)),$(TBB_ASM.OBJ))
-endif
-
-RML_TBB_DEP= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) concurrent_vector_rml.$(OBJ) semaphore_rml.$(OBJ) tbb_misc_rml.$(OBJ) tbb_misc_ex_rml.$(OBJ)
-TBB_DEP_NON_RML_TEST?= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ) tbb_misc_ex_rml.$(OBJ)
-ifeq ($(cfg),debug)
-RML_TBB_DEP+= spin_mutex_rml.$(OBJ)
-TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ)
-else
-TBB_DEP_RML_TEST?= $(RML_ASM.OBJ)
-endif
-LIBS += $(LIBDL)
-
-INCLUDES += $(INCLUDE_KEY)$(RML_ROOT)/include $(INCLUDE_KEY).
-T_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(tbb_root)/src/test $(INCLUDE_KEY)$(RML_SERVER_ROOT)
-
-ifeq ($(rml_wcrm),1)
-CPLUS_FLAGS+=/DRML_USE_WCRM
-endif
-
-# Suppress superfluous warnings for RML compilation
-R_CPLUS_FLAGS = $(subst DO_ITT_NOTIFY,DO_ITT_NOTIFY=0,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) \
- $(DEFINE_KEY)TBB_USE_THREADING_TOOLS=0 $(DEFINE_KEY)__TBB_RML_STATIC=1 $(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1
-
-%.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(INCLUDES) $<
-
-ifeq (linux,$(tbb_os))
-omp_dynamic_link.$(OBJ): CPLUS_FLAGS+=-fno-exceptions
-endif
-
-tbb_misc_rml.$(OBJ) $(RML_SERVER.OBJ): version_string.ver
-
-RML_TEST.OBJ = test_job_automaton.$(OBJ) test_thread_monitor.$(OBJ) test_rml_tbb.$(OBJ) test_rml_omp.$(OBJ) test_rml_mixed.$(OBJ)
-
-$(RML_TBB_DEP): %_rml.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(R_CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(INCLUDES) $<
-
-$(RML_TEST.OBJ): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(T_INCLUDES) $<
-
-ifneq (,$(RML.DEF))
-rml.def: $(RML.DEF)
- $(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@
-
-LIB_LINK_FLAGS += $(EXPORT_KEY)rml.def
-$(RML.DLL): rml.def
-endif
-
-$(RML.DLL): CPLUS_FLAGS += $(SDL_FLAGS)
-$(RML.DLL): BUILDING_LIBRARY = $(RML.DLL)
-$(RML.DLL): $(RML_TBB_DEP) $(RML_SERVER.OBJ) $(RML.RES) $(RML_NO_VERSION.DLL) $(RML_ASM.OBJ)
- $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(RML.DLL) $(RML_SERVER.OBJ) $(RML_TBB_DEP) $(RML_ASM.OBJ) $(RML.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS)
-
-ifneq (,$(RML_NO_VERSION.DLL))
-$(RML_NO_VERSION.DLL):
- echo "INPUT ($(RML.DLL))" > $(RML_NO_VERSION.DLL)
-endif
-
-rml: $(RML.DLL) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
-
-#------------------------------------------------------
-# End of rules for making the RML server shared library
-#------------------------------------------------------
-
-#------------------------------------------------------
-# Define rules for making the RML unit tests
-#------------------------------------------------------
-
-add_debug=$(basename $(1))_debug$(suffix $(1))
-cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
-
-RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT)
-RML_CUSTOM_TESTS = test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
-
-test_rml_tbb.$(TEST_EXT): test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
-
-test_rml_omp.$(TEST_EXT): test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST)
- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
-
-test_rml_mixed.$(TEST_EXT): test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
-
-rml_omp_stub.$(OBJ): rml_omp_stub.cpp
- $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS) $(T_INCLUDES) $(PIC_KEY) $<
-
-test_rml_omp_c_linkage.$(TEST_EXT): test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ)
- $(CONLY) $(C_FLAGS) $(OUTPUT_KEY)$@ test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) omp_dynamic_link.$(OBJ) $(LIBS) $(LINK_FLAGS)
-
-$(RML_TESTS): %.$(TEST_EXT): %.$(OBJ) $(TBB_DEP_NON_RML_TEST)
- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
-
-### run_cmd is usually empty
-rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS) $(RML_CUSTOM_TESTS)
- $(run_cmd) ./test_job_automaton.$(TEST_EXT) $(args)
- $(run_cmd) ./test_thread_monitor.$(TEST_EXT) $(args)
- $(run_cmd) ./test_rml_tbb.$(TEST_EXT) $(args)
- $(run_cmd) ./test_rml_omp.$(TEST_EXT) $(args)
- $(run_cmd) ./test_rml_mixed.$(TEST_EXT) $(args)
- $(run_cmd) ./test_rml_omp_c_linkage.$(TEST_EXT) $(args)
-
-#------------------------------------------------------
-# End of rules for making the TBBMalloc unit tests
-#------------------------------------------------------
-
-# Include automatically generated dependencies
--include *.d
diff --git a/src/tbb-2019/build/Makefile.tbb b/src/tbb-2019/build/Makefile.tbb
deleted file mode 100644
index c58f4fb18..000000000
--- a/src/tbb-2019/build/Makefile.tbb
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#------------------------------------------------------------------------------
-# Define rules for making the TBB shared library.
-#------------------------------------------------------------------------------
-
-tbb_root ?= "$(TBBROOT)"
-BUILDING_PHASE=1
-include $(tbb_root)/build/common.inc
-CPLUS_FLAGS += $(SDL_FLAGS)
-DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
-
-#------------------------------------------------------------
-# Define static pattern rules dealing with .cpp source files
-#------------------------------------------------------------
-$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) target=$(target) runtime=$(runtime))
-
-default_tbb: $(TBB.DLL)
-.PHONY: default_tbb tbbvars clean
-.PRECIOUS: %.$(OBJ)
-
-VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/old $(tbb_root)/src/rml/client
-
-CPLUS_FLAGS += $(PIC_KEY) $(DSE_KEY) $(DEFINE_KEY)__TBB_BUILD=1
-
-# Object files (that were compiled from C++ code) that gmake up TBB
-TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \
- concurrent_queue.$(OBJ) \
- concurrent_vector.$(OBJ) \
- dynamic_link.$(OBJ) \
- itt_notify.$(OBJ) \
- cache_aligned_allocator.$(OBJ) \
- pipeline.$(OBJ) \
- queuing_mutex.$(OBJ) \
- queuing_rw_mutex.$(OBJ) \
- reader_writer_lock.$(OBJ) \
- spin_rw_mutex.$(OBJ) \
- x86_rtm_rw_mutex.$(OBJ) \
- spin_mutex.$(OBJ) \
- critical_section.$(OBJ) \
- mutex.$(OBJ) \
- recursive_mutex.$(OBJ) \
- condition_variable.$(OBJ) \
- tbb_thread.$(OBJ) \
- concurrent_monitor.$(OBJ) \
- semaphore.$(OBJ) \
- private_server.$(OBJ) \
- rml_tbb.$(OBJ) \
- tbb_misc.$(OBJ) \
- tbb_misc_ex.$(OBJ) \
- task.$(OBJ) \
- task_group_context.$(OBJ) \
- governor.$(OBJ) \
- market.$(OBJ) \
- arena.$(OBJ) \
- scheduler.$(OBJ) \
- observer_proxy.$(OBJ) \
- tbb_statistics.$(OBJ) \
- tbb_main.$(OBJ)
-
-# OLD/Legacy object files for backward binary compatibility
-ifeq (,$(findstring $(DEFINE_KEY)TBB_NO_LEGACY,$(CXXFLAGS)))
-TBB_CPLUS_OLD.OBJ = \
- concurrent_vector_v2.$(OBJ) \
- concurrent_queue_v2.$(OBJ) \
- spin_rw_mutex_v2.$(OBJ) \
- task_v2.$(OBJ)
-endif
-
-# Object files that gmake up TBB (TBB_ASM.OBJ is platform-specific)
-TBB.OBJ = $(TBB_CPLUS.OBJ) $(TBB_CPLUS_OLD.OBJ) $(TBB_ASM.OBJ)
-
-# Suppress superfluous warnings for TBB compilation
-WARNING_KEY += $(WARNING_SUPPRESS)
-
-include $(tbb_root)/build/common_rules.inc
-
-ifneq (,$(TBB.DEF))
-tbb.def: $(TBB.DEF) $(TBB.LST)
- $(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@
-
-# LLVM on Windows doesn't need --version-script export
-# https://reviews.llvm.org/D63743
-ifeq (, $(WINARM64_CLANG))
- LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def
-endif
-$(TBB.DLL): tbb.def
-endif
-
-tbbvars.sh:
- $(MAKE_TBBVARS)
-
-$(TBB.DLL): BUILDING_LIBRARY = $(TBB.DLL)
-$(TBB.DLL): $(TBB.OBJ) $(TBB.RES) tbbvars.sh $(TBB_NO_VERSION.DLL)
- $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(TBB.DLL) $(TBB.OBJ) $(TBB.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS)
-
-ifneq (,$(TBB_NO_VERSION.DLL))
-$(TBB_NO_VERSION.DLL):
- echo "INPUT ($(TBB.DLL))" > $(TBB_NO_VERSION.DLL)
-endif
-
-#clean:
-# $(RM) *.$(OBJ) *.$(DLL) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d core core.*[0-9][0-9] *.ver
-
-# Include automatically generated dependencies
--include *.d
diff --git a/src/tbb-2019/build/Makefile.tbbmalloc b/src/tbb-2019/build/Makefile.tbbmalloc
deleted file mode 100644
index 0efafb806..000000000
--- a/src/tbb-2019/build/Makefile.tbbmalloc
+++ /dev/null
@@ -1,260 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# default target
-default_malloc: malloc malloc_test
-
-tbb_root ?= $(TBBROOT)
-BUILDING_PHASE=1
-TEST_RESOURCE = $(MALLOC.RES)
-TESTFILE=tbbmalloc
-include $(tbb_root)/build/common.inc
-DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
-
-MALLOC_ROOT ?= $(tbb_root)/src/tbbmalloc
-MALLOC_SOURCE_ROOT ?= $(MALLOC_ROOT)
-
-VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test
-VPATH += $(MALLOC_ROOT) $(MALLOC_SOURCE_ROOT)
-
-CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBBMALLOC_NO_IMPLICIT_LINKAGE=1)
-
-TEST_SUFFIXES=proxy
-TEST_PREREQUISITE+=$(MALLOC.LIB)
-LINK_FILES+=$(LINK_MALLOC.LIB)
-include $(tbb_root)/build/common_rules.inc
-
-ORIG_CPLUS_FLAGS:=$(CPLUS_FLAGS)
-ORIG_INCLUDES:=$(INCLUDES)
-ORIG_LINK_MALLOC.LIB:=$(LINK_MALLOC.LIB)
-
-#------------------------------------------------------
-# Define rules for making the TBBMalloc shared library.
-#------------------------------------------------------
-
-# Object files that make up TBBMalloc
-MALLOC_CPLUS.OBJ = backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ) tbbmalloc.$(OBJ)
-MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) itt_notify_malloc.$(OBJ) frontend.$(OBJ)
-PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ)
-M_CPLUS_FLAGS += $(DEFINE_KEY)__TBBMALLOC_BUILD=1
-M_INCLUDES := $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
-
-# Suppress superfluous warnings for TBBMalloc compilation
-$(MALLOC.OBJ): M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(WARNING_SUPPRESS)
-# Suppress superfluous warnings for TBBMalloc proxy compilation
-$(PROXY.OBJ): CPLUS_FLAGS += $(WARNING_SUPPRESS)
-
-frontend.$(OBJ): frontend.cpp version_string.ver
- $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(M_INCLUDES) $(INCLUDE_KEY). $<
-
-$(PROXY.OBJ): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(DEFINE_KEY)__TBBMALLOC_BUILD=1 $(M_INCLUDES) $<
-
-$(MALLOC_CPLUS.OBJ): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(M_INCLUDES) $<
-
-itt_notify_malloc.$(OBJ): itt_notify.cpp
- $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(DSE_KEY) $(OUTPUTOBJ_KEY)$@ $(INCLUDES) $<
-
-MALLOC_LINK_FLAGS = $(LIB_LINK_FLAGS)
-PROXY_LINK_FLAGS = $(LIB_LINK_FLAGS)
-
-ifneq (,$(MALLOC.DEF))
-tbbmalloc.def: $(MALLOC.DEF)
- $(CPLUS) $(PREPROC_ONLY) $< $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS) $(INCLUDES) > $@
-
-# LLVM on Windows doesn't need --version-script export
-# https://reviews.llvm.org/D63743
-ifeq (, $(WINARM64_CLANG))
- MALLOC_LINK_FLAGS += $(EXPORT_KEY)tbbmalloc.def
-endif
-$(MALLOC.DLL): tbbmalloc.def
-endif
-
-$(MALLOC.DLL) $(MALLOCPROXY.DLL): CPLUS_FLAGS += $(SDL_FLAGS)
-$(MALLOC.DLL) $(MALLOCPROXY.DLL): M_CPLUS_FLAGS += $(SDL_FLAGS)
-$(MALLOC.DLL): BUILDING_LIBRARY = $(MALLOC.DLL)
-$(MALLOC.DLL): $(MALLOC.OBJ) $(MALLOC.RES) $(MALLOC_NO_VERSION.DLL)
- $(subst $(CPLUS),$(CONLY),$(LIB_LINK_CMD)) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS)
-
-ifneq (,$(MALLOCPROXY.DEF))
-tbbmallocproxy.def: $(MALLOCPROXY.DEF)
- $(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(WARNING_SUPPRESS) $(INCLUDES) > $@
-
-PROXY_LINK_FLAGS += $(EXPORT_KEY)tbbmallocproxy.def
-$(MALLOCPROXY.DLL): tbbmallocproxy.def
-endif
-
-ifneq (,$(MALLOCPROXY.DLL))
-$(MALLOCPROXY.DLL): BUILDING_LIBRARY = $(MALLOCPROXY.DLL)
-$(MALLOCPROXY.DLL): $(PROXY.OBJ) $(MALLOCPROXY_NO_VERSION.DLL) $(MALLOC.DLL) $(MALLOC.RES)
- $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC.LIB) $(PROXY_LINK_FLAGS)
-endif
-
-ifneq (,$(MALLOC_NO_VERSION.DLL))
-$(MALLOC_NO_VERSION.DLL):
- echo "INPUT ($(MALLOC.DLL))" > $(MALLOC_NO_VERSION.DLL)
-endif
-
-ifneq (,$(MALLOCPROXY_NO_VERSION.DLL))
-$(MALLOCPROXY_NO_VERSION.DLL):
- echo "INPUT ($(MALLOCPROXY.DLL))" > $(MALLOCPROXY_NO_VERSION.DLL)
-endif
-
-malloc: $(MALLOC.DLL) $(MALLOCPROXY.DLL)
-
-malloc_dll: $(MALLOC.DLL)
-
-malloc_proxy_dll: $(MALLOCPROXY.DLL)
-
-.PHONY: malloc malloc_dll malloc_proxy_dll
-
-#------------------------------------------------------
-# End of rules for making the TBBMalloc shared library
-#------------------------------------------------------
-
-#------------------------------------------------------
-# Define rules for making the TBBMalloc unit tests
-#------------------------------------------------------
-
-# --------- The list of TBBMalloc unit tests ----------
-MALLOC_TESTS = test_ScalableAllocator.$(TEST_EXT) \
- test_ScalableAllocator_STL.$(TEST_EXT) \
- test_malloc_compliance.$(TEST_EXT) \
- test_malloc_regression.$(TEST_EXT) \
- test_malloc_init_shutdown.$(TEST_EXT) \
- test_malloc_pools.$(TEST_EXT) \
- test_malloc_pure_c.$(TEST_EXT) \
- test_malloc_whitebox.$(TEST_EXT) \
- test_malloc_used_by_lib.$(TEST_EXT) \
- test_malloc_lib_unload.$(TEST_EXT) \
- test_malloc_shutdown_hang.$(TEST_EXT)
-ifneq (,$(MALLOCPROXY.DLL))
-MALLOC_TESTS += test_malloc_overload.$(TEST_EXT) \
- test_malloc_overload_proxy.$(TEST_EXT) \
- test_malloc_overload_disable.$(TEST_EXT) \
- test_malloc_atexit.$(TEST_EXT) \
- test_malloc_new_handler.$(TEST_EXT)
-endif
-# -----------------------------------------------------
-
-# ------------ Set test specific variables ------------
-# TODO: implement accurate warning suppression for tests to unify with Makefile.test.
-$(MALLOC_TESTS): CPLUS_FLAGS += $(TEST_WARNING_KEY) $(if $(no_exceptions),$(DEFINE_KEY)__TBB_TEST_NO_EXCEPTIONS=1)
-$(MALLOC_TESTS): M_CPLUS_FLAGS += $(TEST_WARNING_KEY) $(if $(no_exceptions),$(DEFINE_KEY)__TBB_TEST_NO_EXCEPTIONS=1)
-$(MALLOC_TESTS): INCLUDES += $(INCLUDE_TEST_HEADERS)
-$(MALLOC_TESTS): M_INCLUDES += $(INCLUDE_TEST_HEADERS)
-
-ifeq (windows.gcc,$(tbb_os).$(compiler))
-test_malloc_overload.$(TEST_EXT): LIBS += $(MALLOCPROXY.LIB)
-endif
-
-MALLOC_M_CPLUS_TESTS = test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unload.$(TEST_EXT) \
- test_malloc_used_by_lib.$(TEST_EXT)
-MALLOC_NO_LIB_TESTS = test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unload.$(TEST_EXT) \
- test_malloc_used_by_lib.$(TEST_EXT) test_malloc_overload.$(TEST_EXT)
-MALLOC_LINK_PROXY_TESTS = test_malloc_overload_proxy.$(TEST_EXT) test_malloc_new_handler.$(TEST_EXT)
-MALLOC_ADD_DLL_TESTS = test_malloc_lib_unload.$(TEST_EXT) test_malloc_used_by_lib.$(TEST_EXT) \
- test_malloc_atexit.$(TEST_EXT)
-MALLOC_SUPPRESS_WARNINGS = test_malloc_whitebox.$(TEST_EXT) test_malloc_pure_c.$(TEST_EXT)
-
-$(MALLOC_SUPPRESS_WARNINGS): WARNING_KEY=
-$(MALLOC_SUPPRESS_WARNINGS): TEST_WARNING_KEY=
-$(MALLOC_M_CPLUS_TESTS): CPLUS_FLAGS:=$(M_CPLUS_FLAGS)
-$(MALLOC_M_CPLUS_TESTS): INCLUDES=$(M_INCLUDES)
-$(MALLOC_NO_LIB_TESTS): LINK_MALLOC.LIB=
-$(MALLOC_NO_LIB_TESTS): LINK_FLAGS+=$(LIBDL)
-$(MALLOC_LINK_PROXY_TESTS): LINK_MALLOC.LIB=$(LINK_MALLOCPROXY.LIB)
-ifneq (,$(DYLIB_KEY))
-$(MALLOC_ADD_DLL_TESTS): %.$(TEST_EXT): %_dll.$(DLL)
-$(MALLOC_ADD_DLL_TESTS): TEST_LIBS+=$(@:.$(TEST_EXT)=_dll.$(LIBEXT))
-endif
-
-test_malloc_over%.$(TEST_EXT): CPLUS_FLAGS:=$(subst /MT,/MD,$(M_CPLUS_FLAGS))
-test_malloc_over%.$(TEST_EXT): INCLUDES=$(M_INCLUDES)
-test_malloc_overload_proxy.$(TEST_EXT): LINK_FLAGS+=$(LIBDL)
-
-test_malloc_atexit_dll.$(DLL): CPLUS_FLAGS:=$(subst /MT,/MD,$(M_CPLUS_FLAGS))
-test_malloc_atexit.$(TEST_EXT): CPLUS_FLAGS:=$(subst /MT,/MD,$(M_CPLUS_FLAGS))
-test_malloc_atexit.$(TEST_EXT): LINK_FLAGS+=$(LIBDL)
-# on Ubuntu 11.10 linker called with --as-needed, so dependency on libtbbmalloc_proxy
-# is not created, and malloc overload via linking with -ltbbmalloc_proxy is not working.
-# Overcome with --no-as-needed.
-ifeq (linux.gcc,$(tbb_os).$(compiler))
-test_malloc_atexit.$(TEST_EXT): MALLOCPROXY.LIB := -Wl,--no-as-needed $(MALLOCPROXY.LIB)
-endif
-# The test isn't added to MALLOC_LINK_PROXY_TESTS, because we need both
-# tbbmalloc and proxy libs. For platforms other than Android it's enough
-# to modify LINK_MALLOC.LIB for TEST_EXT target only. But under Android build
-# of DLL and TEST_EXT can be requested independently, so there is no chance
-# to set LINK_MALLOC.LIB in TEST_EXT build rule, and affect DLL build.
-test_malloc_atexit.$(TEST_EXT): LINK_MALLOC.LIB := $(LINK_MALLOC.LIB) $(LINK_MALLOCPROXY.LIB)
-test_malloc_atexit_dll.$(DLL): LINK_MALLOC.LIB := $(LINK_MALLOC.LIB) $(LINK_MALLOCPROXY.LIB)
-
-test_malloc_whitebox.$(TEST_EXT): $(MALLOC_ASM.OBJ) version_string.ver
-test_malloc_whitebox.$(TEST_EXT): INCLUDES+=$(INCLUDE_KEY).
-test_malloc_whitebox.$(TEST_EXT): LINK_FILES+=$(MALLOC_ASM.OBJ)
-
-# Some _dll targets need to restore variables since they are changed by parent
-# target-specific rule of its .exe targets
-test_malloc_lib_unload_dll.$(DLL): CPLUS_FLAGS=$(ORIG_CPLUS_FLAGS) $(if $(no_exceptions),$(DEFINE_KEY)__TBB_TEST_NO_EXCEPTIONS=1)
-test_malloc_lib_unload_dll.$(DLL): INCLUDES=$(ORIG_INCLUDES) $(INCLUDE_TEST_HEADERS)
-
-test_malloc_used_by_lib_dll.$(DLL): CPLUS_FLAGS:=$(subst /MT,/LD,$(M_CPLUS_FLAGS))
-test_malloc_used_by_lib_dll.$(DLL): LINK_FILES+=$(ORIG_LINK_MALLOC.LIB)
-test_malloc_used_by_lib_dll.$(DLL): LIBDL=
-
-# The test needs both tbb and tbbmalloc.
-# For static build LINK_TBB.LIB is resolved in tbb.a static lib name (Linux), which cannot be found (dynamic tbb is used only).
-# In order to link properly, have to define LINK_TBB.LIB ourselves except for Windows where linkage with *.lib file expected.
-ifdef extra_inc
-ifneq ($(tbb_os),windows)
-DYNAMIC_TBB_LIB=$(LIBPREF)tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-endif
-endif
-test_malloc_shutdown_hang.$(TEST_EXT): LINK_FILES += $(if $(DYNAMIC_TBB_LIB), $(DYNAMIC_TBB_LIB), $(LINK_TBB.LIB))
-
-# -----------------------------------------------------
-
-# ---- The list of TBBMalloc test running commands ----
-# run_cmd is usually empty
-malloc_test: $(MALLOC.DLL) malloc_test_no_depends
-
-malloc_test_no_depends: $(TEST_PREREQUISITE) $(MALLOC_TESTS)
- $(run_cmd) ./test_malloc_pools.$(TEST_EXT) $(args) 1:4
-ifneq (,$(MALLOCPROXY.DLL))
- $(run_cmd) ./test_malloc_atexit.$(TEST_EXT) $(args)
- $(run_cmd) $(TEST_LAUNCHER) -l $(MALLOCPROXY.DLL) ./test_malloc_overload.$(TEST_EXT) $(args)
- $(run_cmd) $(TEST_LAUNCHER) ./test_malloc_overload_proxy.$(TEST_EXT) $(args)
- $(run_cmd) ./test_malloc_overload_disable.$(TEST_EXT) $(args)
- $(run_cmd) $(TEST_LAUNCHER) ./test_malloc_new_handler.$(TEST_EXT) $(args)
-endif
- $(run_cmd) $(TEST_LAUNCHER) ./test_malloc_lib_unload.$(TEST_EXT) $(args)
- $(run_cmd) $(TEST_LAUNCHER) ./test_malloc_used_by_lib.$(TEST_EXT)
- $(run_cmd) ./test_malloc_whitebox.$(TEST_EXT) $(args) 1:4
- $(run_cmd) $(TEST_LAUNCHER) -u ./test_malloc_compliance.$(TEST_EXT) $(args) 1:4
- $(run_cmd) ./test_ScalableAllocator.$(TEST_EXT) $(args)
- $(run_cmd) ./test_ScalableAllocator_STL.$(TEST_EXT) $(args)
- $(run_cmd) ./test_malloc_regression.$(TEST_EXT) $(args)
- $(run_cmd) ./test_malloc_init_shutdown.$(TEST_EXT) $(args)
- $(run_cmd) ./test_malloc_pure_c.$(TEST_EXT) $(args)
- $(run_cmd) ./test_malloc_shutdown_hang.$(TEST_EXT)
-# -----------------------------------------------------
-
-#------------------------------------------------------
-# End of rules for making the TBBMalloc unit tests
-#------------------------------------------------------
-
-# Include automatically generated dependencies
--include *.d
diff --git a/src/tbb-2019/build/Makefile.tbbproxy b/src/tbb-2019/build/Makefile.tbbproxy
deleted file mode 100644
index 196361cc0..000000000
--- a/src/tbb-2019/build/Makefile.tbbproxy
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# default target
-default_tbbproxy: tbbproxy tbbproxy_test
-
-tbb_root ?= $(TBBROOT)
-BUILDING_PHASE=1
-include $(tbb_root)/build/common.inc
-DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
-
-PROXY_ROOT ?= $(tbb_root)/src/tbbproxy
-PROXY_SOURCE_ROOT ?= $(PROXY_ROOT)
-
-VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test
-VPATH += $(PROXY_ROOT) $(PROXY_SOURCE_ROOT)
-
-CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DLL_NAME=$(TBB.DLL)
-CPLUS_FLAGS += $(DEFINE_KEY)__TBB_LST=$(TBB.LST)
-CPLUS_FLAGS += $(foreach dir,$(VPATH),$(INCLUDE_KEY)$(dir))
-CPLUS_FLAGS += $(PIC_KEY) $(DSE_KEY)
-
-include $(tbb_root)/build/common_rules.inc
-
-#------------------------------------------------------
-# Define rules for making the TBB Proxy static library.
-#------------------------------------------------------
-
-# Object files that make up TBB Proxy
-PROXY_CPLUS.OBJ = tbbproxy.$(OBJ)
-PROXY_ASM.OBJ = tbbproxy-asm.$(OBJ)
-PROXY.OBJ := $(PROXY_CPLUS.OBJ) $(PROXY_ASM.OBJ)
-
-# Not using intrinsics prevents undesired dependence on ICL libraries (e.g. libirc).
-# Not using default libs prevents link issues caused by different CRT versions in tbbproxy and in an app.
-$(PROXY.OBJ): CPLUS_FLAGS += $(DEFINE_KEY)ARCH_$(arch) $(DEFINE_KEY)OS_$(tbb_os) $(NOINTRINSIC_KEY) $(NODEFAULTLIB_KEY)
-
-$(PROXY_CPLUS.OBJ): CPLUS_FLAGS+=$(if $(filter windows.%cl,$(tbb_os).$(compiler)),/Fdtbbproxy$(DEBUG_SUFFIX).pdb)
-$(PROXY_CPLUS.OBJ): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(INCLUDES) $<
-
-$(PROXY.LIB): $(PROXY.OBJ)
- $(AR) $(AR_FLAGS) $(AR_OUTPUT_KEY)$@ $^
-
-.PRECIOUS : %.$(ASMEXT)
-tbbproxy-asm.$(ASMEXT) : tbbproxy-$(tbb_os).$(ASMEXT) $(TBB.LST) $(TBB-OBJECTS.LST)
- $(CPLUS) $(PREPROC_ONLY) $< $(INCLUDES) $(CPLUS_FLAGS) $(DEFINE_KEY)__TBB_BUILD=1 > $@
-
-.PHONY: tbbproxy
-ifeq (windows,$(tbb_os))
-tbbproxy: $(PROXY.LIB)
-else
-tbbproxy:
-endif
-
-#------------------------------------------------------
-# End of rules for making the TBB Proxy static library
-#------------------------------------------------------
-
-#------------------------------------------------------
-# Define rules for making the TBB Proxy unit tests
-#------------------------------------------------------
-
-add_debug=$(basename $(1))_debug$(suffix $(1))
-cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
-
-PROXY_LIB = $(call cross_suffix,$(PROXY.LIB))
-PROXY_TESTS_SRCS = test_runtime_loader.cpp
-PROXY_TESTS_OBJS = $(PROXY_TESTS_SRCS:.cpp=.$(OBJ))
-PROXY_TESTS_EXES = $(PROXY_TESTS_OBJS:.$(OBJ)=.$(TEST_EXT))
-
-# Run rules.
-.PHONY: tbbproxy_test
-ifeq (windows,$(tbb_os))
-tbbproxy_test: $(call cross_suffix,$(PROXY.LIB)) $(TEST_PREREQUISITE) $(PROXY_TESTS_EXES)
- $(run_cmd) ./test_runtime_loader.$(TEST_EXT) $(args)
-else
-tbbproxy_test:
-endif
-
-# Link rules.
-$(PROXY_TESTS_EXES): %.$(TEST_EXT): %.$(OBJ) $(PROXY_LIB)
- $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(PROXY_LIB) $(LIBS) $(LIBDL) $(LINK_FLAGS)
-
-# Compilation rules.
-$(PROXY_TESTS_OBJS): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(OUTPUT_KEY)$@ $<
-
-#------------------------------------------------------
-# End of rules for making the TBB Proxy unit tests
-#------------------------------------------------------
-
-# Include automatically generated dependencies
--include *.d
diff --git a/src/tbb-2019/build/Makefile.test b/src/tbb-2019/build/Makefile.test
deleted file mode 100644
index dc801ab8e..000000000
--- a/src/tbb-2019/build/Makefile.test
+++ /dev/null
@@ -1,314 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#------------------------------------------------------------------------------
-# Define rules for making the TBB tests.
-#------------------------------------------------------------------------------
-.PHONY: default test_tbb_plain test_tbb_openmp test_tbb_cilk test_tbb_old clean
-
-default: test_tbb_plain test_tbb_openmp test_tbb_cilk test_tbb_old
-
-tbb_root ?= $(TBBROOT)
-BUILDING_PHASE=1
-TEST_RESOURCE = $(TBB.RES)
-TESTFILE=test
-include $(tbb_root)/build/common.inc
-DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
-
-#------------------------------------------------------------
-# Define static pattern rules dealing with .cpp source files
-#------------------------------------------------------------
-
-VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/rml/client $(tbb_root)/src/old $(tbb_root)/src/test $(tbb_root)/src/perf
-CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1) \
- $(if $(no_exceptions),$(DEFINE_KEY)__TBB_TEST_NO_EXCEPTIONS=1) \
- $(if $(LINK_TBB.LIB),$(DEFINE_KEY)TEST_USES_TBB=1)
-
-TEST_PREREQUISITE+=$(TBB.LIB)
-LINK_FILES+=$(LINK_TBB.LIB)
-
-ifdef use_proxy
- USE_PROXY_FLAG = $(DEFINE_KEY)HARNESS_USE_RUNTIME_LOADER
- CPLUS_FLAGS += $(USE_PROXY_FLAG)
- LINK_TBB.LIB = $(PROXY.LIB)
- LIBS += $(LIBDL)
-endif
-
-TEST_SUFFIXES=secondary compiler_builtins pic
-include $(tbb_root)/build/common_rules.inc
-
-# Rules for the tests, which use TBB in a dynamically loadable library
-test_model_plugin.$(TEST_EXT): LINK_TBB.LIB =
-test_model_plugin.$(TEST_EXT): CPLUS_FLAGS := $(CPLUS_FLAGS:$(USE_PROXY_FLAG)=)
-test_model_plugin.$(TEST_EXT): LIBS += $(LIBDL)
-ifneq (,$(DYLIB_KEY))
-test_model_plugin.$(TEST_EXT): test_model_plugin_dll.$(DLL)
-endif
-
-# tbb_misc.$(OBJ) has to be specified here (instead of harness_inject_scheduler.h) because it carries dependency on version_string.ver
-SCHEDULER_DEPENDENCIES = $(TBB_ASM.OBJ) tbb_misc.$(OBJ)
-
-# These executables don't depend on the TBB library, but include core .cpp files directly
-SCHEDULER_DIRECTLY_INCLUDED = test_task_leaks.$(TEST_EXT) \
- test_task_assertions.$(TEST_EXT) \
- test_fast_random.$(TEST_EXT) \
- test_global_control_whitebox.$(TEST_EXT) \
- test_concurrent_queue_whitebox.$(TEST_EXT)
-
-# Necessary to locate version_string.ver referenced from directly included tbb_misc.cpp
-INCLUDES += $(INCLUDE_KEY). $(INCLUDE_TEST_HEADERS)
-
-$(SCHEDULER_DIRECTLY_INCLUDED): CPLUS_FLAGS += $(DSE_KEY)
-$(SCHEDULER_DIRECTLY_INCLUDED): WARNING_KEY += $(WARNING_SUPPRESS)
-$(SCHEDULER_DIRECTLY_INCLUDED): LIBS += $(LIBDL)
-#tbb.lib must not be linked to scheduler white box tests in order to not violate ODR
-$(SCHEDULER_DIRECTLY_INCLUDED): LINK_TBB.LIB =
-$(SCHEDULER_DIRECTLY_INCLUDED): LINK_FILES += $(SCHEDULER_DEPENDENCIES)
-$(SCHEDULER_DIRECTLY_INCLUDED): $(SCHEDULER_DEPENDENCIES)
-
-# test_tbb_header detects "multiple definition" linker error using the test that covers the whole library
-TWICE_LINKED_TESTS = test_tbb_header.$(TEST_EXT) \
- test_concurrent_unordered_set.$(TEST_EXT)
-
-%_secondary.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_SECONDARY=1
-
-# Detecting "multiple definition" linker error using the test that covers the whole library
-$(TWICE_LINKED_TESTS): %.$(TEST_EXT): %.$(OBJ) %_secondary.$(OBJ)
-$(TWICE_LINKED_TESTS): LINK_FILES+=$(@:.$(TEST_EXT)=_secondary.$(OBJ))
-
-# Checks that TBB works correctly in position independent code
-%_pic.$(OBJ): CPLUS_FLAGS+=$(PIC_KEY)
-%_pic.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_PIC=1
-
-# Test of generic gcc port and icc intrinsics port
-%_compiler_builtins.$(TEST_EXT): LINK_TBB.LIB =
-%_compiler_builtins.$(OBJ): CPLUS_FLAGS+=$(DEFINE_KEY)__TBB_TEST_BUILTINS=1 $(DEFINE_KEY)TBB_USE_ASSERT=0
-
-# dynamic_link tests don't depend on the TBB library
-test_dynamic_link%.$(TEST_EXT): LINK_TBB.LIB =
-test_dynamic_link.$(TEST_EXT): LIBS += $(LIBDL)
-
-# Resolving issue with the number of sections that an object file can contain
-ifneq (,$(BIGOBJ_KEY))
-TEST_BIGOBJ = test_opencl_node.$(TEST_EXT) \
- test_atomic.$(TEST_EXT) \
- test_concurrent_unordered_set.$(TEST_EXT) \
- test_concurrent_unordered_map.$(TEST_EXT) \
- test_join_node_key_matching.$(TEST_EXT) \
- test_join_node_msg_key_matching.$(TEST_EXT) \
- test_join_node.$(TEST_EXT)
-$(TEST_BIGOBJ): override CXXFLAGS += $(BIGOBJ_KEY)
-endif
-
-# TODO: remove repetition of .$(TEST_EXT) in the list bellow
-# The main list of TBB tests
-TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
- test_global_control.$(TEST_EXT) \
- test_tbb_fork.$(TEST_EXT) \
- test_assembly_compiler_builtins.$(TEST_EXT) \
- test_aligned_space.$(TEST_EXT) \
- test_atomic.$(TEST_EXT) \
- test_atomic_pic.$(TEST_EXT) \
- test_atomic_compiler_builtins.$(TEST_EXT) \
- test_blocked_range.$(TEST_EXT) \
- test_blocked_range2d.$(TEST_EXT) \
- test_blocked_range3d.$(TEST_EXT) \
- test_blocked_rangeNd.$(TEST_EXT) \
- test_concurrent_queue.$(TEST_EXT) \
- test_concurrent_vector.$(TEST_EXT) \
- test_concurrent_unordered_set.$(TEST_EXT) \
- test_concurrent_unordered_map.$(TEST_EXT) \
- test_concurrent_hash_map.$(TEST_EXT) \
- test_enumerable_thread_specific.$(TEST_EXT) \
- test_handle_perror.$(TEST_EXT) \
- test_halt.$(TEST_EXT) \
- test_model_plugin.$(TEST_EXT) \
- test_mutex.$(TEST_EXT) \
- test_mutex_native_threads.$(TEST_EXT) \
- test_rwm_upgrade_downgrade.$(TEST_EXT) \
- test_cache_aligned_allocator.$(TEST_EXT) \
- test_cache_aligned_allocator_STL.$(TEST_EXT) \
- test_parallel_for.$(TEST_EXT) \
- test_parallel_reduce.$(TEST_EXT) \
- test_parallel_sort.$(TEST_EXT) \
- test_parallel_scan.$(TEST_EXT) \
- test_parallel_while.$(TEST_EXT) \
- test_parallel_do.$(TEST_EXT) \
- test_pipeline.$(TEST_EXT) \
- test_pipeline_with_tbf.$(TEST_EXT) \
- test_parallel_pipeline.$(TEST_EXT) \
- test_lambda.$(TEST_EXT) \
- test_task_scheduler_init.$(TEST_EXT) \
- test_task_scheduler_observer.$(TEST_EXT) \
- test_task.$(TEST_EXT) \
- test_tbb_thread.$(TEST_EXT) \
- test_std_thread.$(TEST_EXT) \
- test_tick_count.$(TEST_EXT) \
- test_inits_loop.$(TEST_EXT) \
- test_yield.$(TEST_EXT) \
- test_eh_tasks.$(TEST_EXT) \
- test_eh_algorithms.$(TEST_EXT) \
- test_eh_flow_graph.$(TEST_EXT) \
- test_parallel_invoke.$(TEST_EXT) \
- test_task_group.$(TEST_EXT) \
- test_ittnotify.$(TEST_EXT) \
- test_parallel_for_each.$(TEST_EXT) \
- test_tbb_header.$(TEST_EXT) \
- test_combinable.$(TEST_EXT) \
- test_task_auto_init.$(TEST_EXT) \
- test_task_arena.$(TEST_EXT) \
- test_concurrent_monitor.$(TEST_EXT) \
- test_semaphore.$(TEST_EXT) \
- test_critical_section.$(TEST_EXT) \
- test_reader_writer_lock.$(TEST_EXT) \
- test_tbb_condition_variable.$(TEST_EXT) \
- test_intrusive_list.$(TEST_EXT) \
- test_concurrent_priority_queue.$(TEST_EXT) \
- test_task_priority.$(TEST_EXT) \
- test_task_enqueue.$(TEST_EXT) \
- test_task_steal_limit.$(TEST_EXT) \
- test_hw_concurrency.$(TEST_EXT) \
- test_fp.$(TEST_EXT) \
- test_tuple.$(TEST_EXT) \
- test_flow_graph.$(TEST_EXT) \
- test_broadcast_node.$(TEST_EXT) \
- test_continue_node.$(TEST_EXT) \
- test_function_node.$(TEST_EXT) \
- test_limiter_node.$(TEST_EXT) \
- test_join_node.$(TEST_EXT) \
- test_join_node_key_matching.$(TEST_EXT) \
- test_join_node_msg_key_matching.$(TEST_EXT) \
- test_buffer_node.$(TEST_EXT) \
- test_queue_node.$(TEST_EXT) \
- test_priority_queue_node.$(TEST_EXT) \
- test_sequencer_node.$(TEST_EXT) \
- test_source_node.$(TEST_EXT) \
- test_overwrite_node.$(TEST_EXT) \
- test_write_once_node.$(TEST_EXT) \
- test_indexer_node.$(TEST_EXT) \
- test_multifunction_node.$(TEST_EXT) \
- test_split_node.$(TEST_EXT) \
- test_static_assert.$(TEST_EXT) \
- test_aggregator.$(TEST_EXT) \
- test_concurrent_lru_cache.$(TEST_EXT) \
- test_examples_common_utility.$(TEST_EXT) \
- test_dynamic_link.$(TEST_EXT) \
- test_parallel_for_vectorization.$(TEST_EXT) \
- test_tagged_msg.$(TEST_EXT) \
- test_partitioner_whitebox.$(TEST_EXT) \
- test_flow_graph_whitebox.$(TEST_EXT) \
- test_composite_node.$(TEST_EXT) \
- test_async_node.$(TEST_EXT) \
- test_async_msg.$(TEST_EXT) \
- test_tbb_version.$(TEST_EXT) # insert new files right above
-
-# These tests depend on other technologies
-TEST_TBB_SPECIAL.EXE = test_openmp.$(TEST_EXT) \
- test_cilk_interop.$(TEST_EXT) \
- test_gfx_factory.$(TEST_EXT) \
- test_opencl_node.$(TEST_EXT)
-
-# skip mode_plugin for now
-skip_tests += test_model_plugin
-
-ifdef OPENMP_FLAG
-test_openmp.$(TEST_EXT): CPLUS_FLAGS += $(OPENMP_FLAG)
-
-test_tbb_openmp: $(TEST_PREREQUISITE) test_openmp.$(TEST_EXT)
- $(run_cmd) ./test_openmp.$(TEST_EXT) 1:4
-else
-test_tbb_openmp:
- @echo "OpenMP is not available"
-endif
-
-ifdef CILK_AVAILABLE
-# Workaround on cilkrts linkage known issue (see Intel(R) C++ Composer XE 2011 Release Notes)
-# The issue reveals itself if a version of binutils is prior to 2.17
-ifeq (linux_icc,$(tbb_os)_$(compiler))
-test_cilk_interop.$(TEST_EXT): LIBS += -lcilkrts
-test_gfx_factory.$(TEST_EXT): LIBS += -lcilkrts
-endif
-test_tbb_cilk: test_cilk_interop.$(TEST_EXT)
- $(run_cmd) ./test_cilk_interop.$(TEST_EXT) $(args)
-else
-test_tbb_cilk:
- @echo "Intel(R) Cilk(TM) Plus is not available"
-endif
-
-test_opencl_node.$(TEST_EXT): LIBS += $(OPENCL.LIB)
-
-$(TEST_TBB_PLAIN.EXE) $(TEST_TBB_SPECIAL.EXE): WARNING_KEY += $(TEST_WARNING_KEY)
-
-# Run tests that are in SCHEDULER_DIRECTLY_INCLUDED and TEST_TBB_PLAIN.EXE but not in skip_tests (which is specified by user)
-TESTS_TO_RUN := $(filter-out $(addsuffix .$(TEST_EXT),$(skip_tests)),$(TEST_TBB_PLAIN.EXE) $(SCHEDULER_DIRECTLY_INCLUDED))
-
-# This definition intentionally consists of two blank lines
-define eol
-
-
-endef
-
-# First build the targets, then run them
-# Form a list of commands separated with end of line
-# Note that usually run_cmd is empty, and tests run directly
-
-test_tbb_plain: $(TEST_PREREQUISITE) $(TESTS_TO_RUN)
- $(foreach test, $(TESTS_TO_RUN), $(run_cmd) ./$(test) $(args) $(eol))
-
-
-# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
-CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)__TBB_TEST_DEPRECATED=1 $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) $(INCLUDE_KEY)$(tbb_root)/src/test
-TEST_TBB_OLD.OBJ = test_concurrent_vector_v2.$(OBJ) test_concurrent_queue_v2.$(OBJ) test_mutex_v2.$(OBJ) test_task_scheduler_observer_v3.$(OBJ)
-
-$(TEST_TBB_OLD.OBJ): CPLUS_FLAGS := $(CPLUS_FLAGS_DEPRECATED)
-
-TEST_TBB_OLD.EXE = $(subst .$(OBJ),.$(TEST_EXT),$(TEST_TBB_OLD.OBJ))
-
-ifeq (,$(NO_LEGACY_TESTS))
-test_tbb_old: $(TEST_PREREQUISITE) $(TEST_TBB_OLD.EXE)
- $(run_cmd) ./test_concurrent_vector_v2.$(TEST_EXT) $(args) 1:4
- $(run_cmd) ./test_concurrent_queue_v2.$(TEST_EXT) $(args) 1:4
- $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 1
- $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 2
- $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 4
- $(run_cmd) ./test_task_scheduler_observer_v3.$(TEST_EXT) $(args) 1:4
-else
-test_tbb_old:
- @echo Legacy tests skipped
-endif
-
-ifneq (,$(codecov))
-codecov_gen:
- profmerge
- codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt
-endif
-
-time_%: time_%.$(TEST_EXT) $(TEST_PREREQUISITE)
- $(run_cmd) ./$< $(args)
-
-
-# for some reason, "perf_%.$(TEST_EXT): perf_dll.$(DLL)" does not work TODO: find out how to apply pattern here
-perf_sched.$(TEST_EXT): perf_dll.$(DLL)
-perf_%.$(TEST_EXT): TEST_LIBS = perf_dll.$(LIBEXT)
-perf_%: perf_%.$(TEST_EXT) $(TEST_PREREQUISITE)
- $(run_cmd) ./$< $(args)
-
-clean_%:
- $(RM) $*.$(OBJ) $*.exe $*.$(DLL) $*.$(LIBEXT) $*.res $*.map $*.ilk $*.pdb $*.exp $*.*manifest $*.tmp $*.d *.ver
-
-clean:
- $(RM) *.$(OBJ) *.exe *.$(DLL) *.$(LIBEXT) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d pgopti.* *.dyn core core.*[0-9][0-9] *.ver
-
-# Include automatically generated dependencies
--include *.d
diff --git a/src/tbb-2019/build/OpenBSD.clang.inc b/src/tbb-2019/build/OpenBSD.clang.inc
deleted file mode 100644
index dd913a37e..000000000
--- a/src/tbb-2019/build/OpenBSD.clang.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include $(tbb_root)/build/BSD.clang.inc
diff --git a/src/tbb-2019/build/OpenBSD.inc b/src/tbb-2019/build/OpenBSD.inc
deleted file mode 100644
index 7eafb2743..000000000
--- a/src/tbb-2019/build/OpenBSD.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-include $(tbb_root)/build/BSD.inc
diff --git a/src/tbb-2019/build/SunOS.gcc.inc b/src/tbb-2019/build/SunOS.gcc.inc
deleted file mode 100644
index 75cef4a84..000000000
--- a/src/tbb-2019/build/SunOS.gcc.inc
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wextra
-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
-DYLIB_KEY = -shared
-LIBDL = -ldl
-
-CPLUS = g++
-CONLY = gcc
-LIB_LINK_FLAGS = -shared
-LIBS = -lpthread -lrt -ldl
-C_FLAGS = $(CPLUS_FLAGS) -x c
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -g -O2 -DUSE_PTHREAD
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
-endif
-
-ASM=
-ASM_FLAGS=
-
-TBB_ASM.OBJ=
-
-ifeq (ia64,$(arch))
-# Position-independent code (PIC) is a must for IA-64
- CPLUS_FLAGS += $(PIC_KEY)
-endif
-
-ifeq (intel64,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-ifeq (ia32,$(arch))
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-endif
-
-# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
-# RcppParallel: CRAN uses 32-bit SPARC so we force that here
-ifeq (sparc,$(arch))
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-# CPLUS_FLAGS += -mcpu=v9 -m64
-# LIB_LINK_FLAGS += -mcpu=v9 -m64
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-ASSEMBLY_SOURCE=$(arch)-gas
-ifeq (ia64,$(arch))
- ASM=ias
- TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
-endif
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/SunOS.inc b/src/tbb-2019/build/SunOS.inc
deleted file mode 100644
index 569d3214a..000000000
--- a/src/tbb-2019/build/SunOS.inc
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-ifndef arch
- arch:=$(shell uname -p)
- ifeq ($(arch),i386)
- ifeq ($(shell isainfo -b),64)
- arch:=intel64
- else
- arch:=ia32
- endif
- endif
- export arch
-# For non-IA systems running Sun OS, 'arch' will contain whatever is printed by uname -p.
-# In particular, for SPARC architecture it will contain "sparc".
-endif
-
-ifndef runtime
- gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
- os_version:=$(shell uname -r)
- os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
- export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)
-endif
-
-ifeq ($(arch),sparc)
- native_compiler := gcc
- export compiler ?= gcc
-else
- native_compiler := suncc
- export compiler ?= suncc
-endif
-# debugger ?= gdb
-
-CMD=$(SHELL) -c
-CWD=$(shell pwd)
-RM?=rm -f
-RD?=rmdir
-MD?=mkdir -p
-NUL= /dev/null
-SLASH=/
-MAKE_VERSIONS=bash $(tbb_root)/build/version_info_sunos.sh $(VERSION_FLAGS) >version_string.ver
-MAKE_TBBVARS=bash $(tbb_root)/build/generate_tbbvars.sh
-
-ifdef LD_LIBRARY_PATH
- export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
-else
- export LD_LIBRARY_PATH := .
-endif
-
-####### Build settings ########################################################
-
-OBJ = o
-DLL = so
-LIBEXT=so
-
-TBB.LST =
-TBB.DEF =
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
-
-TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
diff --git a/src/tbb-2019/build/SunOS.suncc.inc b/src/tbb-2019/build/SunOS.suncc.inc
deleted file mode 100644
index db9d1a6a7..000000000
--- a/src/tbb-2019/build/SunOS.suncc.inc
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-COMPILE_ONLY = -c -xMMD -errtags
-PREPROC_ONLY = -E -xMMD
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -KPIC
-DYLIB_KEY = -G
-LIBDL = -ldl
-# WARNING_AS_ERROR_KEY = -errwarn=%all
-WARNING_AS_ERROR_KEY = Warning as error
-# Supported Solaris Studio* 12.2 and above, remove ',inlasmpnu' in the line below to build by compiler prior Solaris Studio* 12.2
-WARNING_SUPPRESS = -erroff=unassigned,attrskipunsup,badargtype2w,badbinaryopw,wbadasg,wvarhidemem,inlasmpnu
-tbb_strict=0
-
-# RcppParallel patch: -library=stlport4
-CPLUS = CC -library=stlport4
-CONLY = cc
-
-OPENMP_FLAG = -xopenmp
-LIB_LINK_FLAGS = -G -R . -M$(tbb_root)/build/suncc.map.pause
-LINK_FLAGS += -M$(tbb_root)/build/suncc.map.pause
-LIBS = -lpthread -lrt -R .
-C_FLAGS = $(CPLUS_FLAGS)
-
-#TODO: the $(stdlib) instead of hard-wiring STLPort
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -mt -xO2 -g -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS)
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -mt -DTBB_USE_DEBUG -g -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS)
-endif
-
-ASM=
-ASM_FLAGS=
-
-TBB_ASM.OBJ=
-
-ifeq (intel64,$(arch))
- CPLUS_FLAGS += -m64
- ASM_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-ifeq (ia32,$(arch))
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-endif
-
-# TODO: verify whether -m64 implies V9 on relevant Sun Studio versions
-# (those that handle gcc assembler syntax)
-ifeq (sparc,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-endif
-
-export TBB_CUSTOM_VARS_SH=export CXXFLAGS="-I$${TBBROOT}/include -library=stlport4 $(CXXFLAGS) -M$${TBBROOT}/build/suncc.map.pause"
-export TBB_CUSTOM_VARS_CSH=setenv CXXFLAGS "-I$${TBBROOT}/include -library=stlport4 $(CXXFLAGS) -M$${TBBROOT}/build/suncc.map.pause"
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-ASSEMBLY_SOURCE=$(arch)-fbe
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-M_INCLUDES = $(INCLUDES) -I$(MALLOC_ROOT) -I$(MALLOC_SOURCE_ROOT)
-M_CPLUS_FLAGS = $(CPLUS_FLAGS)
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/android.clang.inc b/src/tbb-2019/build/android.clang.inc
deleted file mode 100644
index 40b3149b4..000000000
--- a/src/tbb-2019/build/android.clang.inc
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-SDL_FLAGS = -fPIE -fPIC -fstack-protector -Wformat -Wformat-security
-TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wextra
-
-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
-DYLIB_KEY = -shared
-EXPORT_KEY = -Wl,--version-script,
-LIBDL = -ldl
-
-CPLUS = $(TARGET_CXX)
-CONLY = $(TARGET_CC)
-
-# -soname is necessary for proper linkage to TBB prebuilt libraries when building application with Android SDK
-LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) -z relro -z now
-
-# pie is necessary for test executables to work and might be removed if newer NDK will add it implicitly
-PIE_FLAG = -pie
-ifeq ($(APP_PIE), false)
- PIE_FLAG=
-endif
-
-LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
-C_FLAGS = $(CPLUS_FLAGS)
-
-ifeq ($(cfg), release)
- SDL_FLAGS += -D_FORTIFY_SOURCE=2
- CPLUS_FLAGS = -O2
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -g -O0 $(DEFINE_KEY)TBB_USE_DEBUG
-endif
-
-CPLUS_FLAGS += $(DEFINE_KEY)USE_PTHREAD $(DEFINE_KEY)_GLIBCXX_HAVE_FENV_H
-
-ifneq (,$(findstring $(arch),ia32 intel64))
- CPLUS_FLAGS += $(DEFINE_KEY)DO_ITT_NOTIFY
-endif
-
-ifeq (0, $(dynamic_load))
- CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DYNAMIC_LOAD_ENABLED=0
-endif
-
-# Paths to the NDK prebuilt tools and libraries
-ifeq (,$(findstring $(ndk_version), $(foreach v, 7 8 9 10 11 12 13 14 15,r$(v) r$(v)b r$(v)c r$(v)d r$(v)e)))
- # Since Android* NDK r16 another sysroot and isystem paths have to be specified
- CPLUS_FLAGS += --sysroot=$(NDK_ROOT)/sysroot -isystem $(NDK_ROOT)/sysroot/usr/include/$(TRIPLE)
- # Android* version flag required since r16
- CPLUS_FLAGS += -D__ANDROID_API__=$(API_LEVEL)
-else
- CPLUS_FLAGS += --sysroot=$(SYSROOT)
-endif
-
-# Library sysroot flag
-LIB_LINK_FLAGS += --sysroot=$(SYSROOT)
-# Flag for test executables
-LINK_FLAGS += --sysroot=$(SYSROOT)
-
-LIBS = -L$(CPLUS_LIB_PATH) -lc++_shared
-ifeq (,$(findstring $(ndk_version),$(foreach v, 7 8 9 10 11,r$(v) r$(v)b r$(v)c r$(v)d r$(v)e)))
- LIBS += -lc++abi
- ifeq (arm,$(arch))
- LIBS += -lunwind
- endif
-endif
-
-ifeq (arm,$(arch))
- CPLUS_FLAGS += $(DEFINE_KEY)__TBB_64BIT_ATOMICS=0
-endif
-
-CPLUS_FLAGS += $(TARGET_CFLAGS)
-LIB_LINK_FLAGS += $(TARGET_CFLAGS) $(TARGET_LDFLAGS) -L$(CPLUS_LIB_PATH)
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-TBB_ASM.OBJ=
-MALLOC_ASM.OBJ=
-
-ASM = $(tbb_tool_prefix)as
-ifeq (intel64,$(arch))
- ASM_FLAGS += --64
-endif
-ifeq (ia32,$(arch))
- ASM_FLAGS += --32
-endif
-ifeq ($(cfg),debug)
- ASM_FLAGS += -g
-endif
-
-ASSEMBLY_SOURCE=$(arch)-gas
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/android.gcc.inc b/src/tbb-2019/build/android.gcc.inc
deleted file mode 100644
index 13b29fb8a..000000000
--- a/src/tbb-2019/build/android.gcc.inc
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY = -Wall
-TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wextra
-
-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
-DYLIB_KEY = -shared
-EXPORT_KEY = -Wl,--version-script,
-LIBDL = -ldl
-
-CPLUS = $(tbb_tool_prefix)g++
-CONLY = $(tbb_tool_prefix)gcc
-
-# -soname is necessary for proper linkage to TBB prebuilt libraries when building application with Android SDK
-LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
-
-# pie is necessary for test executables to work and might be removed if newer NDK will add it implicitly
-PIE_FLAG = -pie
-ifeq ($(APP_PIE), false)
- PIE_FLAG=
-endif
-
-LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
-C_FLAGS = $(CPLUS_FLAGS)
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -O2
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -g -O0 $(DEFINE_KEY)TBB_USE_DEBUG
-endif
-
-CPLUS_FLAGS += $(DEFINE_KEY)USE_PTHREAD $(DEFINE_KEY)_GLIBCXX_HAVE_FENV_H
-
-ifneq (,$(findstring $(arch),ia32 intel64))
- CPLUS_FLAGS += $(DEFINE_KEY)DO_ITT_NOTIFY
-endif
-
-ifeq (0, $(dynamic_load))
- CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DYNAMIC_LOAD_ENABLED=0
-endif
-
-
-# Paths to the NDK prebuilt tools and libraries
-CPLUS_FLAGS += --sysroot=$(SYSROOT)
-LIB_LINK_FLAGS += --sysroot=$(SYSROOT)
-LIBS = -L$(CPLUS_LIB_PATH) -lgnustl_shared
-
-ifeq (ia32,$(arch))
- # TODO: Determine best setting of -march and add to CPLUS_FLAGS
- CPLUS_FLAGS += -m32
- LIB_LINK_FLAGS += -m32
-else ifeq (intel64,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
-else ifeq (arm,$(arch))
- CPLUS_FLAGS += -march=armv7-a $(DEFINE_KEY)TBB_USE_GCC_BUILTINS=1 $(DEFINE_KEY)__TBB_64BIT_ATOMICS=0
-else ifeq (arm64,$(arch))
- CPLUS_FLAGS += -march=armv8-a
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-TBB_ASM.OBJ=
-MALLOC_ASM.OBJ=
-
-ASM = $(tbb_tool_prefix)as
-ifeq (intel64,$(arch))
- ASM_FLAGS += --64
-endif
-ifeq (ia32,$(arch))
- ASM_FLAGS += --32
-endif
-ifeq ($(cfg),debug)
- ASM_FLAGS += -g
-endif
-
-ASSEMBLY_SOURCE=$(arch)-gas
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/android.icc.inc b/src/tbb-2019/build/android.icc.inc
deleted file mode 100644
index 921a1f07f..000000000
--- a/src/tbb-2019/build/android.icc.inc
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-COMPILE_ONLY = -c -MMD
-PREPROC_ONLY = -E -x c++
-INCLUDE_KEY = -I
-DEFINE_KEY = -D
-OUTPUT_KEY = -o #
-OUTPUTOBJ_KEY = -o #
-PIC_KEY = -fPIC
-WARNING_AS_ERROR_KEY = -Werror
-WARNING_KEY =
-TEST_WARNING_KEY = -Wshadow -Woverloaded-virtual -Wextra
-
-WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
-DYLIB_KEY = -shared
-EXPORT_KEY = -Wl,--version-script,
-LIBDL = -ldl
-
-CPLUS = icpc
-CONLY = icc
-
-# -soname is necessary for proper linkage to TBB prebuilt libraries when building application with Android SDK
-LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
-
-# pie is necessary for test executables to work and might be removed if newer NDK will add it implicitly
-PIE_FLAG = -pie
-ifeq ($(APP_PIE), false)
- PIE_FLAG=
-endif
-
-LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
-C_FLAGS = $(CPLUS_FLAGS)
-
-ifeq ($(cfg), release)
- CPLUS_FLAGS = -O2
-endif
-ifeq ($(cfg), debug)
- CPLUS_FLAGS = -g -O0 $(DEFINE_KEY)TBB_USE_DEBUG
-endif
-
-CPLUS_FLAGS += $(DEFINE_KEY)USE_PTHREAD $(DEFINE_KEY)_GLIBCXX_HAVE_FENV_H
-
-ifneq (,$(findstring $(arch),ia32 intel64))
- CPLUS_FLAGS += $(DEFINE_KEY)DO_ITT_NOTIFY
-endif
-
-ifeq (0, $(dynamic_load))
- CPLUS_FLAGS += $(DEFINE_KEY)__TBB_DYNAMIC_LOAD_ENABLED=0
-endif
-
-
-# Paths to the NDK prebuilt tools and libraries
-CPLUS_FLAGS += --sysroot=$(SYSROOT)
-LIB_LINK_FLAGS += --sysroot=$(SYSROOT)
-# the -static-intel flag is to remove the need to copy Intel-specific libs to the device.
-LIBS = -L$(CPLUS_LIB_PATH) -lgnustl_shared -static-intel
-
-ifeq (ia32,$(arch))
- # TODO: Determine best setting of -march and add to CPLUS_FLAGS
- CPLUS_FLAGS += -m32 -march=pentium4 -falign-stack=maintain-16-byte
- LIB_LINK_FLAGS += -m32
-else
- ifeq (intel64,$(arch))
- CPLUS_FLAGS += -m64
- LIB_LINK_FLAGS += -m64
- endif
-endif
-
-ifeq (arm,$(findstring arm,$(arch)))
- $(error "Unsupported architecture $(arch) for icc compiler")
-endif
-
-#------------------------------------------------------------------------------
-# Setting assembler data.
-#------------------------------------------------------------------------------
-TBB_ASM.OBJ=
-MALLOC_ASM.OBJ=
-
-ASM = $(tbb_tool_prefix)as
-ifeq (intel64,$(arch))
- ASM_FLAGS += --64
-endif
-ifeq (ia32,$(arch))
- ASM_FLAGS += --32
-endif
-ifeq ($(cfg),debug)
- ASM_FLAGS += -g
-endif
-
-ASSEMBLY_SOURCE=$(arch)-gas
-#------------------------------------------------------------------------------
-# End of setting assembler data.
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Setting tbbmalloc data.
-#------------------------------------------------------------------------------
-
-M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions
-
-#------------------------------------------------------------------------------
-# End of setting tbbmalloc data.
-#------------------------------------------------------------------------------
diff --git a/src/tbb-2019/build/android.inc b/src/tbb-2019/build/android.inc
deleted file mode 100644
index 893b33c16..000000000
--- a/src/tbb-2019/build/android.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# Extra gmake command-line parameters for use with Android:
-#
-# dlopen_workaround: Some OS versions need workaround for dlopen to avoid recursive calls.
-#
-
-####### Detections and Commands ###############################################
-
-ifeq (android,$(findstring android,$(tbb_os)))
- $(error TBB only supports cross-compilation for Android. Specify "target=android" instead.)
-endif
-
-ifndef BUILDING_PHASE
- ifneq ("command line","$(origin arch)")
- ifeq (icc,$(compiler))
- export COMPILER_VERSION := ICC: $(shell icc -V &1 | grep 'Version')
- ifneq (,$(findstring running on IA-32, $(COMPILER_VERSION)))
- export arch:=ia32
- else ifneq (,$(findstring running on Intel(R) 64, $(COMPILER_VERSION)))
- export arch:=intel64
- else
- $(error "No support for Android in $(COMPILER_VERSION)")
- endif
-
- else
- ifdef ANDROID_SERIAL
- uname_m:=$(shell adb shell uname -m)
- ifeq (i686,$(uname_m))
- export arch:=ia32
- else
- export arch:=$(uname_m)
- endif
- endif
- endif
- endif
-endif
-
-ifeq ("$(arch)","")
- $(error "No target architecture specified and \'ANDROID_SERIAL\' environment variable specifying target device not set")
-endif
-
-# Android platform only supported from TBB 4.1 forward
-NO_LEGACY_TESTS = 1
-
-
diff --git a/src/tbb-2019/build/android.linux.inc b/src/tbb-2019/build/android.linux.inc
deleted file mode 100644
index 39767b697..000000000
--- a/src/tbb-2019/build/android.linux.inc
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-####### Detections and Commands ###############################################
-
-# Must set def_prefix according to target architecture detected above
-ifeq (ia32,$(arch))
- def_prefix = lin32
-endif
-ifeq (arm,$(findstring arm,$(arch)))
- def_prefix = lin32
-endif
-ifeq (64,$(findstring 64,$(arch)))
- def_prefix = lin64
-endif
-
-ifdef ndk_version
- $(warning "NDK version $(ndk_version)")
-else
- $(warning "NDK version not set in environment, using \'unknown\' instead.")
- ndk_version:=unknown
-endif
-
-export runtime:=$(target)_NDK$(ndk_version)_version_$(target_os_version)
-
-AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(VERSION_FLAGS) >version_string.ver
-
-####### Build settings ########################################################
-
-# No SONAME_SUFFIX for Android allowed in library names
-TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst
-TBB.DEF = $(TBB.LST:.lst=.def)
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-TBB_NO_VERSION.DLL=
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-MALLOC_NO_VERSION.DLL=
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def
-MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
-MALLOCPROXY_NO_VERSION.DLL=
-MALLOCPROXY.LIB = $(MALLOCPROXY.DLL)
-LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB)
-
-TEST_LAUNCHER=
-run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs)
diff --git a/src/tbb-2019/build/android.linux.launcher.sh b/src/tbb-2019/build/android.linux.launcher.sh
deleted file mode 100644
index a394750c2..000000000
--- a/src/tbb-2019/build/android.linux.launcher.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Usage:
-# android.linux.launcher.sh [-v] [-q] [-s] [-r ] [-u] [-l ]
-# where: -v enables verbose output
-# where: -q enables quiet mode
-# where: -s runs the test in stress mode (until non-zero exit code or ctrl-c pressed)
-# where: -r specifies number of times to repeat execution
-# where: -u is ignored on Android
-# where: -l specifies the library name to be assigned to LD_PRELOAD
-#
-# Libs and executable necessary for testing should be present in the current directory before running.
-# ANDROID_SERIAL must be set to the connected Android target device name for file transfer and test runs.
-# ANDROID_TEST_DIRECTORY may be set to the directory used for testing on the Android target device; otherwise,
-# the default directory used is "/data/local/tmp/$(basename $PWD)".
-# Note: Do not remove the redirections to '/dev/null' in the script, otherwise the nightly test system will fail.
-
-do_cleanup() #
-{ #
- adb pull $targetdir/events.txt events.txt > /dev/null 2>&1 #
- # Remove target directory on the device
- adb shell "rm -r ${targetdir}; mkdir -p ${targetdir}" > /dev/null 2>&1 #
-} #
-do_trap_cleanup() #
-{ #
- do_cleanup #
- exit -1 #
-} #
-while getopts "qvsr:ul:" flag #
-do case $flag in #
- s ) # Stress testing mode
- echo Doing stress testing. Press Ctrl-C to terminate
- run_env='stressed() { while $*; do :; done; }; ' #
- run_prefix="stressed $run_prefix" ;; #
- r ) # Repeats test n times
- run_env="repeated() { for i in $(seq -s ' ' 1 $OPTARG) ; do echo \$i of $OPTARG:; \$*; done; }; " #
- run_prefix="repeated $run_prefix" ;; #
- l ) # Additional library
- ldpreload="$OPTARG " ;; #
- u ) # Stack limit
- ;; #
- q ) # Quiet mode, removes 'done' but prepends any other output by test name
- OUTPUT='2>&1 | sed -e "s/done//;/^[[:space:]]*$/d;s!^!$exename: !"' ;; #
- v ) # Verbose mode
- SUPPRESS='' #
- verbose=1 ;; #
-esac done #
-shift `expr $OPTIND - 1` #
-[ -z "$OUTPUT" ] && OUTPUT='| sed -e "s/\\r$//"' #
-[ $verbose ] || SUPPRESS='>/dev/null' #
-# Collect the executable name
-exename=$(basename $1) #
-shift #
-# Prepare the target directory on the device
-currentdir=$(basename $PWD) #
-targetdir=${ANDROID_TEST_DIRECTORY:-/data/local/tmp/$currentdir} #
-do_cleanup #
-trap do_trap_cleanup INT # if someone hits control-c, cleanup the device
-# Collect the list of files to transfer to the target device, starting with executable itself.
-fnamelist="$exename" #
-# Add the C++ standard library from the NDK, which is required for all tests on Android.
-if [ ! -z "${LIB_STL_ANDROID}" ]; then #
- fnamelist="$fnamelist ${LIB_STL_ANDROID}" #
-else #
- fnamelist="$fnamelist libc++_shared.so" #
-fi #
-# Find the TBB libraries and add them to the list.
-# Add TBB libraries from the current directory that contains libtbb* files
-files="$(ls libtbb* 2> /dev/null)" #
-[ -z "$files" ] || fnamelist="$fnamelist $files" #
-# Add any libraries built for specific tests.
-exeroot=${exename%\.*} #
-files="$(ls ${exeroot}*.so ${exeroot}*.so.* 2> /dev/null)" #
-[ -z "$files" ] || fnamelist="$fnamelist $files" #
-# TODO: Add extra libraries from the Intel(R) Compiler for certain tests
-# found=$(echo $exename | egrep 'test_malloc_atexit\|test_malloc_lib_unload' 2> /dev/null)
-# if [ ! -z $found ] ; then
-# fnamelist="$fnamelist ${compiler_path_lib}/libimf.so \
-# ${compiler_path_lib}/libsvml.so \
-# ${compiler_path_lib}/libintlc.so.5"
-# fi
-
-# Transfer collected executable and library files to the target device.
-transfers_ok=1 #
-for fullname in $fnamelist; do { #
- if [ -r $fullname ]; then { #
- # Transfer the executable and libraries to top-level target directory
- [ $verbose ] && echo -n "Pushing $fullname: " #
- eval "adb push $fullname ${targetdir}/$(basename $fullname) $SUPPRESS 2>&1" #
- }; else { #
- echo "Error: required file ${currentdir}/${fullname} for test $exename not available for transfer." #
- transfers_ok=0 #
- }; fi #
-}; done #
-if [ "${transfers_ok}" = "0" ]; then { #
- do_cleanup #
- exit -1 #
-}; fi #
-# Transfer input files used by example codes by scanning the executable argument list.
-for fullname in "$@"; do { #
- if [ -r $fullname ]; then { #
- directory=$(dirname $fullname) #
- filename=$(basename $fullname) #
- # strip leading "." from fullname if present
- if [ "$directory" = "\." ]; then { #
- directory="" #
- fullname=$filename #
- }; fi #
- # Create the target directory to hold input file if necessary
- if [ ! -z $directory ]; then { #
- eval "adb shell 'mkdir $directory' $SUPPRESS 2>&1" #
- }; fi #
- # Transfer the input file to corresponding directory on target device
- [ $verbose ] && echo -n "Pushing $fullname: " #
- eval "adb push $fullname ${targetdir}/$fullname $SUPPRESS 2>&1" #
- }; fi #
-}; done #
-# Set LD_PRELOAD if necessary
-[ -z "$ldpreload" ] || run_prefix="LD_PRELOAD='$ldpreload' $run_prefix" #
-[ $verbose ] && echo Running $run_prefix ./$exename $* #
-run_env="$run_env cd $targetdir; export LD_LIBRARY_PATH=." #
-[ -z "$VIRTUAL_MACHINE" ] || run_env="$run_env; export VIRTUAL_MACHINE=$VIRTUAL_MACHINE" #
-# The return_code file is the best way found to return the status of the test execution when using adb shell.
-eval 'adb shell "$run_env; $run_prefix ./$exename $* || echo -n \$? >error_code"' "${OUTPUT}" #
-# Capture the return code string and remove the trailing \r from the return_code file contents
-err=`adb shell "cat $targetdir/error_code 2>/dev/null"` #
-[ -z $err ] || echo $exename: exited with error $err #
-do_cleanup #
-# Return the exit code of the test.
-exit $err #
diff --git a/src/tbb-2019/build/android.macos.inc b/src/tbb-2019/build/android.macos.inc
deleted file mode 100644
index 3efe09dfe..000000000
--- a/src/tbb-2019/build/android.macos.inc
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-####### Detections and Commands ###############################################
-
-# Must set def_prefix according to target architecture detected above
-ifeq (ia32,$(arch))
- def_prefix = lin32
-endif
-ifeq (arm,$(findstring arm,$(arch)))
- def_prefix = lin32
-endif
-ifeq (64,$(findstring 64,$(arch)))
- def_prefix = lin64
-endif
-
-ifdef ndk_version
- $(warning "NDK version $(ndk_version)")
-else
- $(warning "NDK version not set in environment, using \'unknown\' instead.")
- ndk_version:=unknown
-endif
-
-export runtime:=$(target)_NDK$(ndk_version)_version_$(target_os_version)
-
-AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS=sh $(tbb_root)/build/version_info_android.sh $(VERSION_FLAGS) >version_string.ver
-
-####### Build settings ########################################################
-
-# No SONAME_SUFFIX for Android allowed in library names
-TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst
-TBB.DEF = $(TBB.LST:.lst=.def)
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-TBB_NO_VERSION.DLL=
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-MALLOC_NO_VERSION.DLL=
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def
-MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
-MALLOCPROXY_NO_VERSION.DLL=
-MALLOCPROXY.LIB = $(MALLOCPROXY.DLL)
-LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB)
-
-TBB.RES =
-MALLOC.RES =
-RML.RES =
-TBB.MANIFEST =
-MALLOC.MANIFEST =
-RML.MANIFEST =
-OBJ = o
-DLL = so
-
-TEST_LAUNCHER=
-run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs)
diff --git a/src/tbb-2019/build/android.windows.inc b/src/tbb-2019/build/android.windows.inc
deleted file mode 100644
index c690966ff..000000000
--- a/src/tbb-2019/build/android.windows.inc
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-####### Detections and Commands ###############################################
-
-# Must set def_prefix according to target architecture detected above
-ifeq (ia32,$(arch))
- def_prefix = lin32
-endif
-ifeq (arm,$(findstring arm,$(arch)))
- def_prefix = lin32
-endif
-ifeq (64,$(findstring 64,$(arch)))
- def_prefix = lin64
-endif
-
-ifdef ndk_version
- $(warning "NDK version $(ndk_version)")
-else
- $(warning "NDK version not set in environment, using \'unknown\' instead.")
- ndk_version:=unknown
-endif
-
-export runtime:=$(target)_NDK$(ndk_version)_version_$(target_os_version)
-
-AR = $(tbb_tool_prefix)ar
-MAKE_VERSIONS = cmd /C cscript /nologo /E:jscript $(subst \,/,$(tbb_root))/build/version_info_windows.js $(CONLY) $(arch) $(subst \,/,"$(VERSION_FLAGS)") > version_string.ver
-
-####### Build settings ########################################################
-
-# No SONAME_SUFFIX for Android allowed in library names
-TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst
-TBB.DEF = $(TBB.LST:.lst=.def)
-TBB.DLL = libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
-TBB.LIB = $(TBB.DLL)
-TBB_NO_VERSION.DLL=
-LINK_TBB.LIB = $(TBB.LIB)
-
-MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
-MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
-MALLOC.LIB = $(MALLOC.DLL)
-MALLOC_NO_VERSION.DLL=
-LINK_MALLOC.LIB = $(MALLOC.LIB)
-
-MALLOCPROXY.DEF = $(MALLOC_ROOT)/$(def_prefix)-proxy-export.def
-MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
-MALLOCPROXY_NO_VERSION.DLL=
-MALLOCPROXY.LIB = $(MALLOCPROXY.DLL)
-
-TBB.RES =
-MALLOC.RES =
-RML.RES =
-TBB.MANIFEST =
-MALLOC.MANIFEST =
-RML.MANIFEST =
-OBJ = o
-DLL = so
-
-TEST_LAUNCHER=
-run_cmd ?= -sh $(tbb_root)/build/android.linux.launcher.sh $(largs)
-export UNIXMODE = 1
-# Clang for Android* uses the INCLUDE variable (instead of CPATH)
-export USE_INCLUDE_ENV = 1
diff --git a/src/tbb-2019/build/big_iron.inc b/src/tbb-2019/build/big_iron.inc
deleted file mode 100644
index dc8849f7c..000000000
--- a/src/tbb-2019/build/big_iron.inc
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#------------------------------------------------------------------------------
-# Defines settings for building the TBB run-time as a static library.
-# Use these only on platforms where dynamic linking is impractical.
-#
-# IF YOU USE TBB AS A STATIC LIBRARY, YOU MUST GUARANTEE THAT ONLY ONE COPY OF
-# THE TBB RUN-TIME IS LINKED INTO AN APPLICATION! LINKING IN MULTIPLE COPIES
-# OF THE TBB RUN-TIME, DIRECTLY OR INDIRECTLY, MAY CAUSE PROGRAM FAILURE!
-#------------------------------------------------------------------------------
-
-# Note that ITT_NOTIFY allows to selectively remove the definition of
-# DO_ITT_NOTIFY without sabotaging deferred expansion of CPLUS_FLAGS.
-# TODO: currently only in linux.{gcc,xl}.inc
-
-# Note that -pthread with xl gives "1501-210 (W) command option t contains an incorrect subargument";
-# multithreading is instead achieved by using the _r affix in the compiler name.
-# TODO: is -lpthread still relevant/needed with XL and _r affix?
-
-# Note that usage of dynamic (shared) libraries is disabled
-# (via -D__TBB_DYNAMIC_LOAD_ENABLED=0 and LIBDL emptied) primarily for performance.
-
-# OS specific settings =>
- LIB_LINK_CMD = ar rcs
- LIB_LINK_FLAGS =
- LIB_LINK_LIBS =
- LIB_OUTPUT_KEY =
- DYLIB_KEY =
- ifeq ($(tbb_os),linux)
- ifeq ($(compiler),clang)
- LIBS = -pthread -lrt
- endif
- ifeq ($(compiler),gcc)
- LIBS = -pthread -lrt
- endif
- ifeq ($(compiler),xl)
- LIBS = -lpthread -lrt
- endif
- LINK_FLAGS =
- endif
- override CXXFLAGS += -D__TBB_DYNAMIC_LOAD_ENABLED=0 -D__TBB_SOURCE_DIRECTLY_INCLUDED=1
- ITT_NOTIFY =
- DLL = a
- LIBEXT = a
- LIBPREF = lib
- LIBDL =
-# <= OS specific settings
-
-TBB.DLL = $(LIBPREF)tbb$(DEBUG_SUFFIX).$(LIBEXT)
-LINK_TBB.LIB = $(TBB.DLL)
-TBB.LST =
-TBB.DEF =
-TBB_NO_VERSION.DLL =
-
-MALLOC.DLL = $(LIBPREF)tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT)
-LINK_MALLOC.LIB = $(MALLOC.DLL)
-MALLOC.DEF =
-MALLOC_NO_VERSION.DLL =
-MALLOCPROXY.DLL =
-MALLOCPROXY.DEF =
diff --git a/src/tbb-2019/build/build.py b/src/tbb-2019/build/build.py
deleted file mode 100644
index 4c3c1fb43..000000000
--- a/src/tbb-2019/build/build.py
+++ /dev/null
@@ -1,204 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright (c) 2017-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Provides unified tool for preparing TBB for packaging
-
-from __future__ import print_function
-import os
-import re
-import sys
-import shutil
-import platform
-import argparse
-from glob import glob
-from collections import OrderedDict
-
-jp = os.path.join
-is_win = (platform.system() == 'Windows')
-is_lin = (platform.system() == 'Linux')
-is_mac = (platform.system() == 'Darwin')
-
-default_prefix = os.getenv('PREFIX', 'install_prefix')
-if is_win:
- default_prefix = jp(default_prefix, 'Library') # conda-specific by default on Windows
-
-parser = argparse.ArgumentParser()
-parser.add_argument('--tbbroot', default='.', help='Take Intel TBB from here')
-parser.add_argument('--prefix', default=default_prefix, help='Prefix')
-parser.add_argument('--prebuilt', default=[], action='append', help='Directories to find prebuilt files')
-parser.add_argument('--no-rebuild', default=False, action='store_true', help='do not rebuild')
-parser.add_argument('--install', default=False, action='store_true', help='install all')
-parser.add_argument('--install-libs', default=False, action='store_true', help='install libs')
-parser.add_argument('--install-devel', default=False, action='store_true', help='install devel')
-parser.add_argument('--install-docs', default=False, action='store_true', help='install docs')
-parser.add_argument('--install-python', default=False, action='store_true', help='install python module')
-parser.add_argument('--make-tool', default='make', help='Use different make command instead')
-parser.add_argument('--copy-tool', default=None, help='Use this command for copying ($ tool file dest-dir)')
-parser.add_argument('--build-args', default="", help='specify extra build args')
-parser.add_argument('--build-prefix', default='local', help='build dir prefix')
-parser.add_argument('--cmake-dir', help='directory to install CMake configuration files. Default: /lib/cmake/tbb')
-if is_win:
- parser.add_argument('--msbuild', default=False, action='store_true', help='Use msbuild')
- parser.add_argument('--vs', default="2012", help='select VS version for build')
- parser.add_argument('--vs-platform', default="x64", help='select VS platform for build')
-parser.add_argument('ignore', nargs='?', help="workaround conda-build issue #2512")
-
-args = parser.parse_args()
-
-if args.install:
- args.install_libs = True
- args.install_devel = True
- args.install_docs = True
- args.install_python= True
-
-def custom_cp(src, dst):
- assert os.system(' '.join([args.copy_tool, src, dst])) == 0
-
-if args.copy_tool:
- install_cp = custom_cp # e.g. to use install -p -D -m 755 on Linux
-else:
- install_cp = shutil.copy
-
-bin_dir = jp(args.prefix, "bin")
-lib_dir = jp(args.prefix, "lib")
-inc_dir = jp(args.prefix, 'include')
-doc_dir = jp(args.prefix, 'share', 'doc', 'tbb')
-cmake_dir = jp(args.prefix, "lib", "cmake", "tbb") if args.cmake_dir is None else args.cmake_dir
-
-if is_win:
- os.environ["OS"] = "Windows_NT" # make sure TBB will interpret it correctly
- libext = '.dll'
- libpref = ''
- dll_dir = bin_dir
-else:
- libext = '.dylib' if is_mac else '.so.2'
- libpref = 'lib'
- dll_dir = lib_dir
-
-tbb_names = ["tbb", "tbbmalloc", "tbbmalloc_proxy"]
-
-##############################################################
-
-def system(arg):
- print('$ ', arg)
- return os.system(arg)
-
-def run_make(arg):
- if system('%s -j %s'% (args.make_tool, arg)) != 0:
- print("\nBummer. Running serial build in order to recover the log and have a chance to fix the build")
- assert system('%s %s'% (args.make_tool, arg)) == 0
-
-os.chdir(args.tbbroot)
-if args.prebuilt:
- release_dirs = sum([glob(d) for d in args.prebuilt], [])
- print("Using pre-built files from ", release_dirs)
-else:
- if is_win and args.msbuild:
- preview_release_dir = release_dir = jp(args.tbbroot, 'build', 'vs'+args.vs, args.vs_platform, 'Release')
- if not args.no_rebuild or not os.path.isdir(release_dir):
- assert os.system('msbuild /m /p:Platform=%s /p:Configuration=Release %s build/vs%s/makefile.sln'% \
- (args.vs_platform, args.build_args, args.vs)) == 0
- preview_debug_dir = debug_dir = jp(args.tbbroot, 'build', 'vs'+args.vs, args.vs_platform, 'Debug')
- if not args.no_rebuild or not os.path.isdir(debug_dir):
- assert os.system('msbuild /m /p:Platform=%s /p:Configuration=Debug %s build/vs%s/makefile.sln'% \
- (args.vs_platform, args.build_args, args.vs)) == 0
- else:
- release_dir = jp(args.tbbroot, 'build', args.build_prefix+'_release')
- debug_dir = jp(args.tbbroot, 'build', args.build_prefix+'_debug')
- if not args.no_rebuild or not (os.path.isdir(release_dir) and os.path.isdir(debug_dir)):
- run_make('tbb_build_prefix=%s %s'% (args.build_prefix, args.build_args))
- preview_release_dir = jp(args.tbbroot, 'build', args.build_prefix+'_preview_release')
- preview_debug_dir = jp(args.tbbroot, 'build', args.build_prefix+'_preview_debug')
- if not args.no_rebuild or not (os.path.isdir(preview_release_dir) and os.path.isdir(preview_debug_dir)):
- run_make('tbb_build_prefix=%s_preview %s tbb_cpf=1 tbb'% (args.build_prefix, args.build_args))
- release_dirs = [release_dir, debug_dir, preview_release_dir, preview_debug_dir]
-
-filemap = OrderedDict()
-def append_files(names, dst, paths=release_dirs):
- global filemap
- files = sum([glob(jp(d, f)) for d in paths for f in names], [])
- filemap.update(dict(zip(files, [dst]*len(files))))
-
-
-if args.install_libs:
- append_files([libpref+f+libext for f in tbb_names], dll_dir)
-
-if args.install_devel:
- dll_files = [libpref+f+'_debug'+libext for f in tbb_names] # adding debug libraries
- if not is_win or not args.msbuild:
- dll_files += [libpref+"tbb_preview"+libext, libpref+"tbb_preview_debug"+libext]
- if is_win:
- dll_files += ['tbb*.pdb'] # copying debug info
- if is_lin:
- dll_files += ['libtbb*.so'] # copying linker scripts
- # symlinks .so -> .so.2 should not be created instead
- # since linking with -ltbb when using links can result in
- # incorrect dependence upon unversioned .so files
- append_files(dll_files, dll_dir)
- if is_win:
- append_files(['*.lib', '*.def'], lib_dir) # copying linker libs and defs
- for rootdir, dirnames, filenames in os.walk(jp(args.tbbroot,'include')):
- files = [f for f in filenames if not '.html' in f]
- append_files(files, jp(inc_dir, rootdir.split('include')[1][1:]), paths=(rootdir,))
-
- # Preparing CMake configuration files
- cmake_build_dir = jp(args.tbbroot, 'build', args.build_prefix+'_release', 'cmake_configs')
- assert system('cmake -DINSTALL_DIR=%s -DSYSTEM_NAME=%s -DTBB_VERSION_FILE=%s -DINC_REL_PATH=%s -DLIB_REL_PATH=%s -DBIN_REL_PATH=%s -P %s' % \
- (cmake_build_dir,
- platform.system(),
- jp(args.tbbroot, 'include', 'tbb', 'tbb_stddef.h'),
- os.path.relpath(inc_dir, cmake_dir),
- os.path.relpath(lib_dir, cmake_dir),
- os.path.relpath(bin_dir, cmake_dir),
- jp(args.tbbroot, 'cmake', 'tbb_config_installer.cmake'))) == 0
- append_files(['TBBConfig.cmake', 'TBBConfigVersion.cmake'], cmake_dir, paths=[cmake_build_dir])
-
-if args.install_python: # RML part
- irml_dir = jp(args.tbbroot, 'build', args.build_prefix+'_release')
- run_make('-C src tbb_build_prefix=%s %s python_rml'% (args.build_prefix, args.build_args))
- if is_lin:
- append_files(['libirml.so.1'], dll_dir, paths=[irml_dir])
-
-if args.install_docs:
- files = [
- 'CHANGES',
- 'LICENSE',
- 'README',
- 'README.md',
- 'Release_Notes.txt',
- ]
- append_files(files, doc_dir, paths=release_dirs+[jp(args.tbbroot, d) for d in ('.', 'doc')])
-
-for f in filemap.keys():
- assert os.path.exists(f)
- assert os.path.isfile(f)
-
-if filemap:
- print("Copying to prefix =", args.prefix)
-for f, dest in filemap.items():
- if not os.path.isdir(dest):
- os.makedirs(dest)
- print("+ %s to $prefix%s"%(f,dest.replace(args.prefix, '')))
- install_cp(f, dest)
-
-if args.install_python: # Python part
- paths = [os.path.abspath(d) for d in [args.prefix, inc_dir, irml_dir, lib_dir]+release_dirs]
- os.environ["TBBROOT"] = paths[0]
- # all the paths must be relative to python/ directory or be absolute
- assert system('python python/setup.py build -b%s build_ext -I%s -L%s install -f'% \
- (paths[2], paths[1], ':'.join(paths[2:]))) == 0
-
-print("done")
diff --git a/src/tbb-2019/build/codecov.txt b/src/tbb-2019/build/codecov.txt
deleted file mode 100644
index e22f8059a..000000000
--- a/src/tbb-2019/build/codecov.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-src/tbb
-src/tbbmalloc
-include/tbb
-src/rml/server
-src/rml/client
-src/rml/include
-source/malloc
diff --git a/src/tbb-2019/build/common.inc b/src/tbb-2019/build/common.inc
deleted file mode 100644
index b95c78d6b..000000000
--- a/src/tbb-2019/build/common.inc
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-ifndef tbb_os
-
- # Windows sets environment variable OS; for other systems, ask uname
- ifeq ($(OS),)
- OS:=$(shell uname)
- ifeq ($(OS),)
- $(error "Cannot detect operating system")
- endif
- export tbb_os=$(OS)
- endif
-
- ifeq ($(OS), Windows_NT)
- export tbb_os=windows
- endif
- ifeq ($(OS), Linux)
- export tbb_os=linux
- endif
- ifeq ($(OS), Darwin)
- export tbb_os=macos
- endif
-
-endif # !tbb_os
-
-ifeq (1,$(tbb_cpf))
- export CPF_SUFFIX ?=_preview
-endif
-
-ifeq (0,$(exceptions))
-# Inverse the value, for simplicity of use
- export no_exceptions=1
-endif
-
-ifdef cpp0x
- $(warning "Warning: deprecated cpp0x=$(cpp0x) is used, stdver must be used instead. Building in stdver=c++0x mode.")
- export stdver?=c++0x
- override cpp0x=
-endif
-
-# Define C & C++ compilers according to platform defaults or CXX & CC environment variables
-ifneq (,$(findstring environment, $(origin CXX)))
- CPLUS = $(CXX)
-endif
-ifneq (,$(findstring environment, $(origin CC)))
- CONLY = $(CC)
-endif
-
-ifneq (,$(stdver))
- ifeq (,$(findstring ++, $(stdver)))
- $(warning "Warning: unexpected stdver=$(stdver) is used.")
- endif
- CXX_STD_FLAGS=-std=$(stdver)
-endif
-
-# The requested option is added unconditionally.
-# If it is not supported, a compiler warning or error is expected.
-# Note that CXX_STD_FLAGS can be changed in ..inc.
-CXX_ONLY_FLAGS+=$(CXX_STD_FLAGS)
-
-ifeq (,$(wildcard $(tbb_root)/build/$(tbb_os).inc))
- $(error "$(tbb_os)" is not supported. Add build/$(tbb_os).inc file with os-specific settings )
-endif
-
-# detect arch and runtime versions, provide common host-specific definitions
-include $(tbb_root)/build/$(tbb_os).inc
-
-ifeq ($(arch),)
- $(error Architecture not detected)
-endif
-ifeq ($(runtime),)
- $(error Runtime version not detected)
-endif
-
-# process target-dependent compilation and testing configurations
-ifdef target
- # optionally process target-dependent options for compilation and testing
- ifneq (,$(wildcard $(tbb_root)/build/$(target).inc))
- include $(tbb_root)/build/$(target).inc
- endif
-
- # optionally process host-dependent environment for target-dependent compilation and testing
- ifneq (,$(wildcard $(tbb_root)/build/$(target).$(tbb_os).inc))
- include $(tbb_root)/build/$(target).$(tbb_os).inc
- endif
-
- # insure at least one target-dependent configuration file was found for compilation and testing
- ifeq (,$(wildcard $(tbb_root)/build/$(target).inc)$(wildcard $(tbb_root)/build/$(target).$(tbb_os).inc))
- $(error "$(target)" is not supported. Add build/$(target).inc or build/$(target).$(tbb_os).inc file)
- endif
-endif #target
-
-# Support for running debug tests to release library and vice versa
-flip_cfg=$(subst _flipcfg,_release,$(subst _release,_debug,$(subst _debug,_flipcfg,$(1))))
-cross_cfg = $(if $(crosstest),$(call flip_cfg,$(1)),$(1))
-# Setting default configuration to release
-cfg?=release
-
-compiler_name=$(notdir $(compiler))
-ifdef BUILDING_PHASE
- ifndef target
- target:=$(tbb_os)
- endif
- # process host/target compiler-dependent build configuration
- ifeq (,$(wildcard $(tbb_root)/build/$(target).$(compiler_name).inc))
- $(error "$(compiler_name)" is not supported on $(target). Add build/$(target).$(compiler_name).inc file with compiler-specific settings. )
- endif
- include $(tbb_root)/build/$(target).$(compiler_name).inc
-endif
-
-ifneq ($(BUILDING_PHASE),1)
- # definitions for top-level Makefiles
- origin_build_dir:=$(origin tbb_build_dir)
- tbb_build_dir?=$(tbb_root)$(SLASH)build
- export tbb_build_prefix?=$(tbb_os)_$(arch)_$(compiler_name)_$(runtime)$(CPF_SUFFIX)
- work_dir=$(tbb_build_dir)$(SLASH)$(tbb_build_prefix)
-endif # BUILDING_PHASE != 1
-
-ifdef offload
- extra_inc=$(offload).offload.inc
-endif
-ifdef extra_inc
- ifneq (,$(wildcard $(tbb_root)/build/$(extra_inc)))
- include $(tbb_root)/build/$(extra_inc)
- else
- $(error specified build file: "build/$(extra_inc)" is not found. )
- endif
-endif
-
-ifndef BUILDING_PHASE
- work_dir:=$(work_dir)
- # assign new value for tbb_root if path is not absolute (the filter keeps only /* paths)
- ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),)
- full_tbb_root:=$(CURDIR)/$(tbb_root)
- ifeq ($(origin_build_dir),undefined)
- #relative path are needed here as a workaround to support whitespaces in path
- override tbb_root:=../..
- else
- override tbb_root:=$(full_tbb_root)
- endif
- export tbb_root
- endif
- endif # !BUILDING_PHASE
-
-.DELETE_ON_ERROR: # Make will delete target if error occurred when building it.
-
-# MAKEOVERRIDES contains the command line variable definitions. Resetting it to
-# empty allows propagating all exported overridden variables to nested makes.
-# NOTEs:
-# 1. All variable set in command line are propagated to nested makes.
-# 2. All variables declared with the "export" keyword are propagated to
-# nested makes.
-# 3. "override" allows changing variables set in command line. But it doesn't
-# propagate new values to nested makes. For propagation, the "export" keyword
-# should be used.
-# 4. gmake v3.80 doesn't support exporting of target-specific variables using
-# the "export" keyword
-MAKEOVERRIDES =
diff --git a/src/tbb-2019/build/common_rules.inc b/src/tbb-2019/build/common_rules.inc
deleted file mode 100644
index 096a40758..000000000
--- a/src/tbb-2019/build/common_rules.inc
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-ifeq ($(tbb_strict),1)
- ifeq ($(WARNING_AS_ERROR_KEY),)
- $(error WARNING_AS_ERROR_KEY is empty)
- endif
- # Do not remove line below!
- WARNING_KEY += $(WARNING_AS_ERROR_KEY)
-endif
-
-ifneq (,$(findstring s,$(MAKEFLAGS)))
- override largs+=-q
-endif
-ifneq (,$(repeat))
- override largs+=-r $(repeat)
-endif
-ifneq (,$(largs)$(run_prefix))
- override run_cmd:=$(run_cmd) $(TEST_LAUNCHER)
- TEST_LAUNCHER=
- ifeq (,$(strip $(run_cmd)))
- $(warning Test launcher is not defined for the platform, ignoring launcher arguments)
- endif
-endif
-
-ifndef TEST_EXT
- TEST_EXT = exe
-endif
-
-INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include
-
-CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS)
-ifeq (1,$(tbb_cpf))
-CPLUS_FLAGS += $(DEFINE_KEY)__TBB_CPF_BUILD=1
-endif
-ifeq (0,$(exceptions))
-CPLUS_FLAGS += $(DEFINE_KEY)TBB_USE_EXCEPTIONS=0
-endif
-LINK_FLAGS += $(LDFLAGS)
-LIB_LINK_FLAGS += $(LDFLAGS)
-
-LIB_LINK_CMD ?= $(CPLUS) $(PIC_KEY)
-ifeq ($(origin LIB_OUTPUT_KEY), undefined)
- LIB_OUTPUT_KEY = $(OUTPUT_KEY)
-endif
-ifeq ($(origin LIB_LINK_LIBS), undefined)
- LIB_LINK_LIBS = $(LIBDL) $(LIBS)
-endif
-
-# some platforms do not provide separate C-only compiler
-CONLY ?= $(CPLUS)
-
-# The most generic rules
-#$(1) - is the target pattern
-define make-cxx-obj
-$1: %.cpp
- $$(CPLUS) $$(OUTPUTOBJ_KEY)$$@ $$(COMPILE_ONLY) $$(CPLUS_FLAGS) $$(CXX_ONLY_FLAGS) $$(CXX_WARN_SUPPRESS) $$(INCLUDES) $$<
-endef
-
-TEST_AFFIXES_OBJS=$(addsuffix .$(OBJ),$(addprefix %_,$(TEST_SUFFIXES)) $(addsuffix _%,$(TEST_PREFIXES)))
-
-# Make will not process the same recipe for each test pattern (since the dependency on the same %.cpp)
-# thus the separated recipes should be provided
-$(foreach t,%.$(OBJ) $(TEST_AFFIXES_OBJS),$(eval $(call make-cxx-obj,$(t))))
-
-.PRECIOUS: %.$(OBJ) %.$(TEST_EXT) %.res $(TEST_AFFIXES_OBJS)
-
-# Rules for generating a test DLL
-%_dll.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $(DEFINE_KEY)_USRDLL $(INCLUDES) $<
-
-#$(1) - is the binary name
-#$(2) - is the input obj files and libraries
-define make-test-binary
- $(CPLUS) $(OUTPUT_KEY)$(strip $1) $(CPLUS_FLAGS) $(2) $(LIBS) $(LINK_FLAGS)
-endef
-
-# LINK_FILES the list of options to link test specific files (libraries and object files)
-LINK_FILES+=$(TEST_LIBS)
-# Rule for generating executable test
-%.$(TEST_EXT): %.$(OBJ) $(TEST_LIBS) $(TEST_PREREQUISITE) $(if $(use_proxy),$(PROXY.LIB))
- $(call make-test-binary,$@,$< $(LINK_FILES) $(PIE_FLAG))
-
-# Rules for generating a test DLL
-%_dll.$(DLL): LINK_FLAGS += $(PIC_KEY) $(DYLIB_KEY)
-%_dll.$(DLL): TEST_LIBS := $(subst %_dll.$(DLL),,$(TEST_LIBS))
-%_dll.$(DLL): %_dll.$(OBJ)
- $(call make-test-binary,$@,$< $(subst %_dll.$(DLL),,$(LINK_FILES)))
-.PRECIOUS: %_dll.$(OBJ) %_dll.$(DLL)
-
-%.$(OBJ): %.c
- $(CONLY) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(C_FLAGS) $(INCLUDES) $<
-
-%.$(OBJ): %.asm
- $(ASM) $(ASM_FLAGS) $<
-
-%.$(OBJ): %.s
- cpp <$< | grep -v '^#' >$*.tmp
- $(ASM) $(ASM_FLAGS) -o $@ $*.tmp
-
-ifdef rtools
-# Line 70 doesn't work with rtool's version of make. The symptom being that the asm rule kicks off instead, and these rules are cl only
-%.$(OBJ): %.cpp
- $(CPLUS) $(OUTPUTOBJ_KEY)$@ $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
-endif
-
-# Rule for generating .E file if needed for visual inspection
-# Note that ICL treats an argument after PREPROC_ONLY as a file to open,
-# so all uses of PREPROC_ONLY should be immediately followed by a file name
-%.E: %.cpp
- $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $(PREPROC_ONLY) $< >$@
-
-# TODO Rule for generating .asm file if needed for visual inspection
-%.asm: %.cpp
- $(CPLUS) /c /FAs /Fa $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
-
-# TODO Rule for generating .s file if needed for visual inspection
-%.s: %.cpp
- $(CPLUS) -S $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
-
-# Customizations
-$(KNOWN_WARNINGS): %.$(OBJ): %.cpp
- $(CPLUS) $(COMPILE_ONLY) $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
-
-tbb_misc.$(OBJ): version_string.ver
-tbb_misc.$(OBJ): INCLUDES+=$(INCLUDE_KEY).
-
-tbb_misc.E: tbb_misc.cpp version_string.ver
- $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDE_KEY). $(INCLUDES) $(PREPROC_ONLY) $< >$@
-
-%.res: %.rc version_string.ver $(TBB.MANIFEST)
- rc /Fo$@ $(INCLUDES) $(filter /D%,$(CPLUS_FLAGS)) $<
-
-# TODO: add $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS) (in a separate line?) and remove useless $(INCLUDES)
-VERSION_FLAGS=$(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES)
-
-ifneq (,$(TBB.MANIFEST))
-$(TBB.MANIFEST):
- cmd /C "echo #include ^ >tbbmanifest.c"
- cmd /C "echo int main(){return 0;} >>tbbmanifest.c"
- cl /nologo $(C_FLAGS) tbbmanifest.c
-
-version_string.ver: $(TBB.MANIFEST)
- $(MAKE_VERSIONS)
- cmd /C "echo #define TBB_MANIFEST 1 >> version_string.ver"
-# TODO: fix parallel build by writing to a temporary file and rename it when complete
-else
-# TODO: make version strings directly representative for all the libraries
-version_string.ver:
- $(MAKE_VERSIONS)
-endif
-
-test_% debug_%: test_%.$(TEST_EXT) $(TEST_PREREQUISITE)
- $(run_cmd) ./$< $(args)
-ifneq (,$(codecov))
- profmerge
- codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt
-endif
-
diff --git a/src/tbb-2019/build/detect.js b/src/tbb-2019/build/detect.js
deleted file mode 100644
index ccbe98634..000000000
--- a/src/tbb-2019/build/detect.js
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright (c) 2005-2019 Intel Corporation
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-function readAllFromFile(fname) {
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- var file = null;
- try {
- file = fso.OpenTextFile(fname, 1, 0);
- return (file.readAll());
- } finally {
- // Close the file in the finally section to guarantee that it will be closed in any case
- // (if the exception is thrown or not).
- file.Close();
- }
-}
-
-function doWork() {
- var WshShell = WScript.CreateObject("WScript.Shell");
-
- var tmpExec = WshShell.Run("cmd /c echo int main(){return 0;} >detect.c", 0, true);
-
- // The next block deals with GCC (MinGW)
- if (WScript.Arguments.Count() > 1) {
- var compilerPath = WScript.Arguments(1);
- // The RegExp matches everything up to and including the last slash (it uses a greedy approach.)
- var compilerName = compilerPath.replace(/^.*[\/\\]/, "");
- if (compilerName.match(/gcc/i) != null) {
- if (WScript.Arguments(0) == "/arch") {
- // Get predefined macros
- tmpExec = WshShell.Run("cmd /C " + compilerPath + " -dM -E detect.c > detect.map", 0, true);
- var defs = readAllFromFile("detect.map");
- //detect target architecture
- var intel64 = /x86_64|amd64/mgi;
- var ia32 = /i386/mgi;
- if (defs.match(intel64)) {
- WScript.Echo("intel64");
- } else if (defs.match(ia32)) {
- WScript.Echo("ia32");
- } else {
- WScript.Echo("unknown");
- }
- } else {
- tmpExec = WshShell.Exec(compilerPath + " -dumpfullversion -dumpversion");
- var gccVersion = tmpExec.StdOut.ReadLine();
- if (WScript.Arguments(0) == "/runtime") {
- WScript.Echo("mingw" + gccVersion);
- }
- else if (WScript.Arguments(0) == "/minversion") {
- // Comparing strings, not numbers; will not work for two-digit versions
- if (gccVersion >= WScript.Arguments(2)) {
- WScript.Echo("ok");
- } else {
- WScript.Echo("fail");
- }
- }
- }
- return;
- }
- }
-
- //Compile binary
- tmpExec = WshShell.Exec("cl /MD detect.c /link /MAP");
- while (tmpExec.Status == 0) {
- WScript.Sleep(100);
- }
- //compiler banner that includes version and target arch was printed to stderr
- var clVersion = tmpExec.StdErr.ReadAll();
-
- if (WScript.Arguments(0) == "/arch") {
- //detect target architecture
- var intel64 = /AMD64|EM64T|x64/mgi;
- var ia32 = /[80|\s]x86/mgi;
- var arm = /ARM/mgi;
- if (clVersion.match(intel64)) {
- WScript.Echo("intel64");
- } else if (clVersion.match(ia32)) {
- WScript.Echo("ia32");
- } else if (clVersion.match(arm)) {
- WScript.Echo("armv7");
- } else {
- WScript.Echo("unknown");
- }
- return;
- }
-
- if (WScript.Arguments(0) == "/runtime") {
- //read map-file
- var mapContext = readAllFromFile("detect.map");
- //detect runtime
- var vc71 = /MSVCR71\.DLL/mgi;
- var vc80 = /MSVCR80\.DLL/mgi;
- var vc90 = /MSVCR90\.DLL/mgi;
- var vc100 = /MSVCR100\.DLL/mgi;
- var vc110 = /MSVCR110\.DLL/mgi;
- var vc120 = /MSVCR120\.DLL/mgi;
- var vc140 = /VCRUNTIME140\.DLL/mgi;
- var psdk = /MSVCRT\.DLL/mgi;
- if (mapContext.match(vc71)) {
- WScript.Echo("vc7.1");
- } else if (mapContext.match(vc80)) {
- WScript.Echo("vc8");
- } else if (mapContext.match(vc90)) {
- WScript.Echo("vc9");
- } else if (mapContext.match(vc100)) {
- WScript.Echo("vc10");
- } else if (mapContext.match(vc110)) {
- WScript.Echo("vc11");
- } else if (mapContext.match(vc120)) {
- WScript.Echo("vc12");
- } else if (mapContext.match(vc140)) {
- if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "15.0")
- WScript.Echo("vc14.1");
- else
- WScript.Echo("vc14");
- } else {
- WScript.Echo("unknown");
- }
- return;
- }
-
- if (WScript.Arguments(0) == "/minversion") {
- var compilerVersion;
- var compilerUpdate;
- if (WScript.Arguments(1) == "cl") {
- compilerVersion = clVersion.match(/Compiler Version ([0-9.]+)\s/mi)[1];
- // compilerVersion is in xx.xx.xxxxx.xx format, i.e. a string.
- // It will compare well with major.minor versions where major has two digits,
- // which is sufficient as the versions of interest start from 13 (for VC7).
- } else if (WScript.Arguments(1) == "icl") {
- // Get predefined ICL macros
- tmpExec = WshShell.Run("cmd /C icl /QdM /E detect.c > detect.map", 0, true);
- var defs = readAllFromFile("detect.map");
- // In #define __INTEL_COMPILER XXYY, XX is the major ICL version, YY is minor
- compilerVersion = defs.match(/__INTEL_COMPILER[ \t]*([0-9]+).*$/mi)[1] / 100;
- compilerUpdate = defs.match(/__INTEL_COMPILER_UPDATE[ \t]*([0-9]+).*$/mi)[1];
- // compiler version is a number; it compares well with another major.minor
- // version number, where major has one, two, and perhaps more digits (9.1, 11, etc).
- }
- var requestedVersion = WScript.Arguments(2);
- var requestedUpdate = 0;
- if (WScript.Arguments.Count() > 3)
- requestedUpdate = WScript.Arguments(3);
- if (compilerVersion < requestedVersion) {
- WScript.Echo("fail");
- } else if (compilerVersion == requestedVersion && compilerUpdate < requestedUpdate) {
- WScript.Echo("fail");
- } else {
- WScript.Echo("ok");
- }
- return;
- }
-}
-
-function doClean() {
- var fso = new ActiveXObject("Scripting.FileSystemObject");
- // delete intermediate files
- if (fso.FileExists("detect.c"))
- fso.DeleteFile("detect.c", false);
- if (fso.FileExists("detect.obj"))
- fso.DeleteFile("detect.obj", false);
- if (fso.FileExists("detect.map"))
- fso.DeleteFile("detect.map", false);
- if (fso.FileExists("detect.exe"))
- fso.DeleteFile("detect.exe", false);
- if (fso.FileExists("detect.exe.manifest"))
- fso.DeleteFile("detect.exe.manifest", false);
-}
-
-if (WScript.Arguments.Count() > 0) {
-
- try {
- doWork();
- } catch (error) {
- WScript.Echo("unknown");
- }
- doClean();
-
-} else {
- WScript.Echo("Supported options:\n"
- + "\t/arch [compiler]\n"
- + "\t/runtime [compiler]\n"
- + "\t/minversion compiler version");
-}
-
diff --git a/src/tbb-2019/build/generate_tbbvars.bat b/src/tbb-2019/build/generate_tbbvars.bat
deleted file mode 100644
index 508f27480..000000000
--- a/src/tbb-2019/build/generate_tbbvars.bat
+++ /dev/null
@@ -1,62 +0,0 @@
-@echo off
-REM
-REM Copyright (c) 2005-2019 Intel Corporation
-REM
-REM Licensed under the Apache License, Version 2.0 (the "License");
-REM you may not use this file except in compliance with the License.
-REM You may obtain a copy of the License at
-REM
-REM http://www.apache.org/licenses/LICENSE-2.0
-REM
-REM Unless required by applicable law or agreed to in writing, software
-REM distributed under the License is distributed on an "AS IS" BASIS,
-REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-REM See the License for the specific language governing permissions and
-REM limitations under the License.
-REM
-setlocal
-for %%D in ("%tbb_root%") do set actual_root=%%~fD
-set fslash_root=%actual_root:\=/%
-set bin_dir=%CD%
-set fslash_bin_dir=%bin_dir:\=/%
-set _INCLUDE=INCLUDE& set _LIB=LIB
-if not x%UNIXMODE%==x set _INCLUDE=CPATH& set _LIB=LIBRARY_PATH
-if not x%USE_INCLUDE_ENV%==x set _INCLUDE=INCLUDE
-
-echo Generating local tbbvars.bat
-echo @echo off>tbbvars.bat
-echo SET TBBROOT=%actual_root%>>tbbvars.bat
-echo SET TBB_ARCH_PLATFORM=%arch%\%runtime%>>tbbvars.bat
-echo SET TBB_TARGET_ARCH=%arch%>>tbbvars.bat
-echo SET %_INCLUDE%=%%TBBROOT%%\include;%%%_INCLUDE%%%>>tbbvars.bat
-echo SET %_LIB%=%bin_dir%;%%%_LIB%%%>>tbbvars.bat
-echo SET PATH=%bin_dir%;%%PATH%%>>tbbvars.bat
-if not x%UNIXMODE%==x echo SET LD_LIBRARY_PATH=%bin_dir%;%%LD_LIBRARY_PATH%%>>tbbvars.bat
-
-echo Generating local tbbvars.sh
-echo #!/bin/sh>tbbvars.sh
-echo export TBBROOT="%fslash_root%">>tbbvars.sh
-echo export TBB_ARCH_PLATFORM="%arch%\%runtime%">>tbbvars.sh
-echo export TBB_TARGET_ARCH="%arch%">>tbbvars.sh
-echo export %_INCLUDE%="${TBBROOT}/include;$%_INCLUDE%">>tbbvars.sh
-echo export %_LIB%="%fslash_bin_dir%;$%_LIB%">>tbbvars.sh
-echo export PATH="%fslash_bin_dir%;$PATH">>tbbvars.sh
-if not x%UNIXMODE%==x echo export LD_LIBRARY_PATH="%fslash_bin_dir%;$LD_LIBRARY_PATH">>tbbvars.sh
-
-echo Generating local tbbvars.csh
-echo #!/bin/csh>tbbvars.csh
-echo setenv TBBROOT "%actual_root%">>tbbvars.csh
-echo setenv TBB_ARCH_PLATFORM "%arch%\%runtime%">>tbbvars.csh
-echo setenv TBB_TARGET_ARCH "%arch%">>tbbvars.csh
-echo setenv %_INCLUDE% "${TBBROOT}\include;$%_INCLUDE%">>tbbvars.csh
-echo setenv %_LIB% "%bin_dir%;$%_LIB%">>tbbvars.csh
-echo setenv PATH "%bin_dir%;$PATH">>tbbvars.csh
-if not x%UNIXMODE%==x echo setenv LD_LIBRARY_PATH "%bin_dir%;$LD_LIBRARY_PATH">>tbbvars.csh
-
-if not x%LIB_STL_ANDROID%==x (
-REM Workaround for copying Android* specific stl shared library to work folder
-copy /Y "%LIB_STL_ANDROID:/=\%" .
-)
-
-endlocal
-exit
diff --git a/src/tbb-2019/build/generate_tbbvars.sh b/src/tbb-2019/build/generate_tbbvars.sh
deleted file mode 100644
index 49189f22d..000000000
--- a/src/tbb-2019/build/generate_tbbvars.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/bin/bash
-#
-# Copyright (c) 2005-2019 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Script used to generate tbbvars.[c]sh scripts
-bin_dir="$PWD" #
-cd "$tbb_root" # keep this comments here
-tbb_root="$PWD" # to make it unsensible
-cd "$bin_dir" # to EOL encoding
-cat >./tbbvars.sh <./tbbvars.csh <
-
-
-Overview
-This directory contains the internal Makefile infrastructure for Intel® Threading Building Blocks (Intel® TBB).
-
-
-See below for how to build Intel TBB and how to port Intel TBB
-to a new platform, operating system or architecture.
-
-
-Files
-The files here are not intended to be used directly. See below for usage.
-
-- Makefile.tbb
-
- Main Makefile to build the Intel TBB library.
- Invoked via 'make tbb' from top-level Makefile.
-
- Makefile.tbbmalloc
-
- Main Makefile to build the Intel TBB scalable memory allocator library as well as its tests.
- Invoked via 'make tbbmalloc' from top-level Makefile.
-
- Makefile.test
-
- Main Makefile to build and run the tests for the Intel TBB library.
- Invoked via 'make test' from top-level Makefile.
-
- common.inc
-
- Main common included Makefile that includes OS-specific and compiler-specific Makefiles.
-
- <os>.inc
-
- OS-specific Makefile for a particular <os>.
-
- <os>.<compiler>.inc
-
- Compiler-specific Makefile for a particular <os> / <compiler> combination.
-
- *.sh
-
- Infrastructure utilities for Linux* OS, macOS*, and UNIX*-related operating systems.
-
- *.js, *.bat
-
- Infrastructure utilities for Windows* OS.
-
-
-To Build
-
-To port Intel TBB to a new platform, operating system or architecture, see the porting directions below.
-
-
-Software prerequisites:
-
-- C++ compiler for the platform, operating system and architecture of interest.
- Either the native compiler for your system, or, optionally, the appropriate Intel® C++ Compiler, may be used.
-
- GNU make utility. On Windows OS, if a UNIX* emulator is used to run GNU make,
- it should be able to run Windows OS utilities and commands. On Linux OS, macOS, etc.,
- shell commands issued by GNU make should execute in a Bourne or BASH compatible shell.
- In the following examples, replace make with the correct GNU make command for
- your system (for example, gmake). GNU make version 3.80 and more recent are supported.
-
-
-
-Intel TBB libraries can be built by performing the following steps.
-On systems that support only one ABI (e.g., 32-bit), these steps build the libraries for that ABI.
-On systems that support both 64-bit and 32-bit libraries, these steps build the 64-bit libraries
-(Linux OS, macOS, and related systems) or whichever ABI is selected in the development environment (Windows OS).
-
-
-- Change to the top-level directory of the installed software.
-
- If using the Intel® C++ Compiler, make sure the appropriate compiler is available in your PATH
- (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
-
- Invoke GNU make using no arguments, for example, make.
-
-
-
-To build Intel TBB libraries for other than the default ABI (e.g., to build 32-bit libraries on Linux OS, macOS,
-or related systems that support both 64-bit and 32-bit libraries), perform the following steps:
-
-
-- Change to the top-level directory of the installed software.
-
- If using the Intel® C++ Compiler, make sure the appropriate compiler is available in your PATH
- (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
-
- Explicitly specify the architecture when invoking GNU make, e.g. make arch=ia32.
-
-
-The default make target will build the release and debug versions of the Intel TBB library.
-Other targets are available in the top-level Makefile. You might find the following targets useful:
-
-- make test will build and run Intel TBB unit-tests;
-
- make examples will build and run Intel TBB examples. Available in the open-source version only.
-For the commercial version, you can download Intel TBB Samples at the Intel® Software Product Samples and Tutorials website;
-
- make all will do all of the above. Available in the open-source version only.
-
-See also the list of other targets below.
-
-
-
-By default, the libraries will be built in sub-directories within the build/ directory.
-The sub-directories are named according to the operating system, architecture, compiler and software environment used
-(the sub-directory names also distinguish release vs. debug libraries). On Linux OS, the software environment comprises
-the GCC, libc and kernel version used. On macOS, the software environment comprises the GCC and OS version used.
-On Windows OS, the software environment comprises the Microsoft* Visual Studio* version used.
-See below for how to change the default build directory.
-
-
-
-To perform different build and/or test operations, use the following steps.
-
-
-- Change to the top-level directory of the installed software.
-
- If using the Intel® C++ Compiler, make sure the appropriate compiler is available in your PATH
- (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
-
- Invoke GNU make by using one or more of the following commands.
-
- - make
-
- Default build. Equivalent to make tbb tbbmalloc.
-
- make all
-
- Equivalent to make tbb tbbmalloc test examples. Available in the open-source version only.
-
- cd src;make release
-
- Build and test release libraries only.
-
- cd src;make debug
-
- Build and test debug libraries only.
-
- make tbb
-
- Make Intel TBB release and debug libraries.
-
- make tbbmalloc
-
- Make Intel TBB scalable memory allocator libraries.
-
- make test
-
- Compile and run unit-tests
-
- make examples
-
- Build libraries and run all examples, like doing make debug clean release from the general example Makefile.
- Available in the open-source version only.
-
- make python
-
- Build, install, and test Python* API for Intel TBB. See details here.
-
- make compiler={icl, icc, gcc, clang} [(above options or targets)]
-
- Build and run as above, but use specified compilers instead of default, native compilers
-
- - {icl, icc} - to use Intel® compilers (icl on Windows OS, icc on Linux OS or macOS).
- - gcc - to use g++ (e.g. MinGW on Windows OS)
- - clang - to use Clang compiler
-
- - make compiler=clang stdlib=libc++ [(above options or targets)]
-
- Build and run as above, but use libc++ as a standard c++ library for clang.
-
- make stdver={c++11, c++14, ...} [(above options or targets)]
-
- Build and run as above, but additionally specify the version of the C++ standard or dialect to be used by
- the compiler. The specified value of stdver will be used as a parameter to the appropriate
- compiler option (such as -std); the behavior in case of unsupported value is compiler-specific.
-
- make target_app={win8ui, uwp, uwd} [target_mode=store] [(above options or targets)]
-
- Build and run as above, but use API that is compliant with Universal Windows* applications. Use win8ui option, if you want to use Intel TBB in Windows* 8 Universal application, uwp in case of Windows* 10 Universal Windows application and uwd for the usage inside Universal Windows* driver.
- target_mode=store is used to produce binaries that are compliant with Windows Store* application container. In later case they won't work with Intel TBB unit tests but work only with Windows Store* applications.
-
- ndk-build target=android [(above options or targets)]
-
- Build and run as above, but build libraries for Android* OS by Android NDK that should be installed. Makefiles were tested with revision 8.
-
- make arch={ia32, intel64, ia64} [(above options or targets)]
-
- Build and run as above, but build libraries for the selected ABI.
- Might be useful for cross-compilation; ensure proper environment is set before running this command.
-
- make tbb_root={(Intel TBB directory)} [(above options or targets)]
-
- Build and run as above; for use when invoking make from a directory other than the top-level directory.
-
- make tbb_build_dir={(build directory)} [(above options or targets)]
-
- Build and run as above, but place the built libraries in the specified directory, rather than in the default sub-directory within the build/ directory. This command might have troubles with the build in case the sources installed to the directory with spaces in the path.
-
- make tbb_build_prefix={(build sub-directory)} [(above options or targets)]
-
- Build and run as above, but place the built libraries in the specified sub-directory within the build/ directory, rather than using the default sub-directory name.
-
- make tbb_cpf=1 [(above options or targets)]
-
- Build and run as above, but build and use libraries with the Community Preview Features enabled, rather than the default libraries.
-
- make [(above options)] clean
-
- Remove any executables or intermediate files produced by the above commands.
- Includes build directories, object files, libraries and test executables.
-
-
-
-To Port
-
-This section provides information on how to port Intel TBB to a new platform, operating system or architecture.
-A subset or a superset of these steps may be required for porting to a given platform.
-
-
-To port the Intel TBB source code:
-
-- If porting to a new architecture, create a file that describes the architecture-specific details for that architecture.
-
- - Create a <os>_<architecture>.h file in the include/tbb/machine directory
- that describes these details.
-
- - The <os>_<architecture>.h is named after the operating system and architecture as recognized by
- include/tbb/tbb_machine.h and the Makefile infrastructure.
-
- This file defines the implementations of synchronization operations, and also the
- scheduler yield function, for the operating system and architecture.
-
- Several examples of <os>_<architecture>.h files can be found in the
- include/tbb/machine directory.
-
- - A minimal implementation defines the 4-byte and 8-byte compare-and-swap operations,
- and the scheduler yield function. See include/tbb/machine/mac_ppc.h
- for an example of a minimal implementation.
-
- More complex implementation examples can also be found in the
- include/tbb/machine directory
- that implement all the individual variants of synchronization operations that Intel TBB uses.
- Such implementations are more verbose but may achieve better performance on a given architecture.
-
- In a given implementation, any synchronization operation that is not defined is implemented, by default,
- in terms of 4-byte or 8-byte compare-and-swap. More operations can thus be added incrementally to increase
- the performance of an implementation.
-
- In most cases, synchronization operations are implemented as inline assembly code; examples also exist,
- (e.g., for Intel® Itanium® processors) that use out-of-line assembly code in *.s or *.asm files
- (see the assembly code sub-directories in the src/tbb directory).
-
-
- - Modify include/tbb/tbb_machine.h, if needed, to invoke the appropriate
- <os>_<architecture>.h file in the include/tbb/machine directory.
-
- - Add an implementation of DetectNumberOfWorkers() in src/tbb/tbb_misc.h,
- that returns the number of cores found on the system in case it is not supported by the current implementation.
- This is used to determine the default number of threads for the Intel TBB task scheduler.
-
- Either properly define FillDynamicLinks for use in
- src/tbb/cache_aligned_allocator.cpp,
- or hardcode the allocator to be used.
-
- Additional types might be required in the union defined in
- include/tbb/aligned_space.h
- to ensure proper alignment on your platform.
-
- Changes may be required in include/tbb/tick_count.h
- for systems that do not provide gettimeofday.
-
-
-To port the Makefile infrastructure:
-Modify the appropriate files in the Makefile infrastructure to add a new platform, operating system or architecture as needed.
-See the Makefile infrastructure files for examples.
-
-- The top-level Makefile includes common.inc to determine the operating system.
-
- - To add a new operating system, add the appropriate test to common.inc, and create the needed <os>.inc and <os>.<compiler>.inc files (see below).
-
- - The <os>.inc file makes OS-specific settings for a particular operating systems.
-
- - For example, linux.inc makes settings specific to Linux operating systems.
-
- This file performs OS-dependent tests to determine the specific platform and/or architecture, and sets other platform-dependent values.
-
- Add a new <os>.inc file for each new operating system added.
-
- - The <os>.<compiler>.inc file makes compiler-specific settings for a particular
- <os> / <compiler> combination.
-
- - For example, linux.gcc.inc makes specific settings for using GCC on Linux OS, and linux.icc.inc makes specific settings for using the Intel® C++ compiler on Linux OS.
-
- This file sets particular compiler, assembler and linker options required when using a particular <os> / <compiler> combination.
-
- Add a new <os>.<compiler>.inc file for each new <os> / <compiler> combination added.
-
-
-
-
-Up to parent directory
-
-Copyright © 2005-2019 Intel Corporation. All Rights Reserved.
-
-Intel, the Intel logo and Itanium are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
-
-* Other names and brands may be claimed as the property of others.
-
-