Compare commits
19
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
18070344d7 | ||
|
|
a803f27618 | ||
|
|
4bdba61baf | ||
|
|
4233fef583 | ||
|
|
cc2c04e2f5 | ||
|
|
112ade3da5 | ||
|
|
2ace525889 | ||
|
|
314792356b | ||
|
|
8ff3697f54 | ||
|
|
4cebdd9a1c | ||
|
|
ab775e45cb | ||
|
|
615bb971db | ||
|
|
d7e1509134 | ||
|
|
633b01ad27 | ||
|
|
d31fcc6898 | ||
|
|
4c73c3b5d7 | ||
|
|
e8b3e241ca | ||
|
|
b9805bacad | ||
|
|
7a257a3ca0 |
@@ -71,6 +71,7 @@ Thumbs.db
|
||||
/rules.ninja
|
||||
*~
|
||||
.emacs.desktop
|
||||
.tags
|
||||
|
||||
# Build system generated files #
|
||||
################################
|
||||
@@ -84,3 +85,4 @@ CMakeFiles/
|
||||
.svn
|
||||
crash*
|
||||
*.tmp
|
||||
/.vs
|
||||
|
||||
@@ -2,6 +2,419 @@
|
||||
The list of most significant changes made over time in
|
||||
Intel(R) Threading Building Blocks (Intel(R) TBB).
|
||||
|
||||
Intel TBB 2020
|
||||
TBB_INTERFACE_VERSION == 11100
|
||||
|
||||
Changes (w.r.t. Intel TBB 2019 Update 9):
|
||||
|
||||
- Extended task_arena interface to simplify development of NUMA-aware
|
||||
applications.
|
||||
- Added warning notifications when the deprecated functionality is used.
|
||||
|
||||
Open-source contributions integrated:
|
||||
|
||||
- Fixed various build warnings
|
||||
(https://github.com/intel/tbb/pull/179) by Raf Schietekat.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
Intel TBB 2019 Update 9
|
||||
TBB_INTERFACE_VERSION == 11009
|
||||
|
||||
Changes (w.r.t. Intel TBB 2019 Update 8):
|
||||
|
||||
- Multiple APIs are deprecated. For details, please see
|
||||
Deprecated Features appendix in the TBB reference manual.
|
||||
- Added C++17 deduction guides for flow graph nodes.
|
||||
|
||||
Preview Features:
|
||||
|
||||
- Added isolated_task_group class that allows multiple threads to add
|
||||
and execute tasks sharing the same isolation.
|
||||
- Extended the flow graph API to simplify connecting nodes.
|
||||
- Added erase() by heterogeneous keys for concurrent ordered containers.
|
||||
- Added a possibility to suspend task execution at a specific point
|
||||
and resume it later.
|
||||
|
||||
Bugs fixed:
|
||||
|
||||
- Fixed the emplace() method of concurrent unordered containers to
|
||||
destroy a temporary element that was not inserted.
|
||||
- Fixed a bug in the merge() method of concurrent unordered
|
||||
containers.
|
||||
- Fixed behavior of a continue_node that follows buffering nodes.
|
||||
- Fixed compilation error caused by missed stdlib.h when CMake
|
||||
integration is used (https://github.com/intel/tbb/issues/195).
|
||||
Inspired by Andrew Penkrat.
|
||||
|
||||
Open-source contributions integrated:
|
||||
|
||||
- Added support for move-only types to tbb::parallel_pipeline
|
||||
(https://github.com/intel/tbb/pull/159) by Raf Schietekat.
|
||||
- Fixed detection of clang version when CUDA toolkit is installed
|
||||
(https://github.com/intel/tbb/pull/150) by Guilherme Amadio.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
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<long long> and
|
||||
tbb::atomic<double>. 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
|
||||
|
||||
@@ -235,7 +648,7 @@ Changes (w.r.t. Intel TBB 4.4 Update 5):
|
||||
- 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 demostrate tbb::flow::async_msg.
|
||||
- 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
|
||||
@@ -946,7 +1359,7 @@ Changes (w.r.t. Intel TBB 4.1 Update 4):
|
||||
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 assigment
|
||||
- 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.
|
||||
@@ -1542,7 +1955,7 @@ Changes (w.r.t. 20100310 open-source release):
|
||||
- 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 superceded:
|
||||
- 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.
|
||||
@@ -1760,7 +2173,7 @@ 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 documentaion.
|
||||
- A few other small changes in code and documentation.
|
||||
|
||||
Bugs fixed:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,12 +11,9 @@
|
||||
# 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?=.
|
||||
cfg?=release
|
||||
include $(tbb_root)/build/common.inc
|
||||
.PHONY: default all tbb tbbmalloc tbbproxy test examples
|
||||
|
||||
@@ -29,42 +26,38 @@ 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
|
||||
|
||||
tbbbind: mkdir
|
||||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbbind cfg=release tbbbind
|
||||
|
||||
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
|
||||
|
||||
python: mkdir
|
||||
$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbb cfg=release
|
||||
bash -c ". $(work_dir)_release$(SLASH)tbbvars.sh && $(MAKE) -rC '$(full_tbb_root)/python' CXX=$(compiler) install test-install"
|
||||
python: tbb
|
||||
$(MAKE) -C "$(work_dir)_release" -rf $(tbb_root)/python/Makefile install
|
||||
|
||||
doxygen:
|
||||
doxygen Doxyfile
|
||||
|
||||
.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:
|
||||
@@ -72,8 +65,7 @@ clean_examples:
|
||||
|
||||
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
|
||||
@echo Created the $(work_dir)_release directory
|
||||
|
||||
info:
|
||||
@echo OS: $(tbb_os)
|
||||
@@ -81,4 +73,3 @@ info:
|
||||
@echo compiler=$(compiler)
|
||||
@echo runtime=$(runtime)
|
||||
@echo tbb_build_prefix=$(tbb_build_prefix)
|
||||
|
||||
|
||||
@@ -1,33 +1,29 @@
|
||||
# Intel(R) Threading Building Blocks 2018 Update 1
|
||||
# Threading Building Blocks 2020
|
||||
[](https://github.com/intel/tbb/releases/tag/2020)
|
||||
[](LICENSE)
|
||||
|
||||
Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that take
|
||||
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).
|
||||
|
||||
## tbb_tutorials branch information
|
||||
This release provides additional TBB examples for workshops, conferences, etc.
|
||||
Head revision contains tutorials for all events and code base for the latest event. To get tutorials with original code base, please use specific tags.
|
||||
|
||||
* [SC 17](https://sc17.supercomputing.org/) - code base: TBB 2018 U1 - tag: [tutorials_sc17](https://github.com/01org/tbb/tree/tutorials_sc17)
|
||||
* [doc/sc17_slides](doc/sc17_slides)
|
||||
* [examples/sc17_hands_on](examples/sc17_hands_on): exercises depend on OpenCV 3.1.0, exercise 2 requires a video file (sc17_hands_on/input/input.avi) that is not part of this branch
|
||||
* [examples/sc17_hetero](examples/sc17_hetero): exercises 3, 4 and 5 depend on OpenCL\*
|
||||
Since [2018 U5](https://github.com/intel/tbb/releases/tag/2018_U5) TBB binary packages include [Parallel STL](https://github.com/intel/parallelstl) as a high-level component.
|
||||
|
||||
## Documentation
|
||||
* Intel(R) TBB [tutorial](https://software.intel.com/en-us/tbb-tutorial)
|
||||
* Intel(R) TBB general documentation: [stable](https://software.intel.com/en-us/tbb-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
|
||||
[Intel(R) TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
|
||||
[GitHub issues](https://github.com/intel/tbb/issues) or start a topic on the
|
||||
[TBB forum](http://software.intel.com/en-us/forums/intel-threading-building-blocks/).
|
||||
|
||||
## How to Contribute
|
||||
Please, read the instructions on the official [Intel(R) TBB open source site](https://www.threadingbuildingblocks.org/submit-contribution).
|
||||
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)
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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++
|
||||
|
||||
+2
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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)
|
||||
@@ -22,7 +18,7 @@ ifndef arch
|
||||
endif
|
||||
|
||||
ifndef runtime
|
||||
gcc_version:=$(shell gcc -dumpversion)
|
||||
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)
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
# 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.
|
||||
#------------------------------------------------------------------------------
|
||||
@@ -0,0 +1,70 @@
|
||||
# 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 --version | sed -n "1s/.*version \(.*[0-9]\) .*/\1/p")
|
||||
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)
|
||||
+3
-96
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,100 +11,7 @@
|
||||
# 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 =
|
||||
include $(tbb_root)/build/BSD.clang.inc
|
||||
|
||||
CPLUS = clang++
|
||||
CONLY = clang
|
||||
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
|
||||
LIBS += -lpthread -lrt
|
||||
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.
|
||||
#------------------------------------------------------------------------------
|
||||
LIBS += -lrt
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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++
|
||||
@@ -36,7 +32,7 @@ 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 -dumpversion | egrep "^([6-9])"))
|
||||
ifneq (,$(shell gcc -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
|
||||
# keep pre-contruction stores for zero initialization
|
||||
DSE_KEY = -flifetime-dse=1
|
||||
endif
|
||||
|
||||
+2
-61
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,64 +11,5 @@
|
||||
# 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)
|
||||
include $(tbb_root)/build/BSD.inc
|
||||
|
||||
+8
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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:
|
||||
@@ -64,6 +60,13 @@ TBB_DEP_NON_RML_TEST?= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ
|
||||
ifeq ($(cfg),debug)
|
||||
RML_TBB_DEP+= spin_mutex_rml.$(OBJ)
|
||||
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ)
|
||||
|
||||
ifeq (windows icl,$(tbb_os) $(compiler_name))
|
||||
# Some versions of ICC link to the wrong version of the vc runtime
|
||||
# libcpmtd.lib should be used instead of libcpmt.lib
|
||||
LIB_LINK_FLAGS += /nodefaultlib:libcpmt.lib
|
||||
endif
|
||||
|
||||
else
|
||||
TBB_DEP_RML_TEST?= $(RML_ASM.OBJ)
|
||||
endif
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# 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 tbbbind 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))
|
||||
|
||||
.PHONY: tbbbind
|
||||
.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)
|
||||
|
||||
# Suppress superfluous warnings for tbbbind compilation
|
||||
WARNING_KEY += $(WARNING_SUPPRESS)
|
||||
|
||||
include $(tbb_root)/build/common_rules.inc
|
||||
|
||||
TBBBIND.OBJ = tbbbind.$(OBJ)
|
||||
|
||||
ifneq (,$(TBBBIND.DEF))
|
||||
tbbbind.def: $(TBBBIND.DEF)
|
||||
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@
|
||||
|
||||
LIB_LINK_FLAGS += $(EXPORT_KEY)tbbbind.def
|
||||
$(TBBBIND.DLL): tbbbind.def
|
||||
endif
|
||||
|
||||
ifneq (,$(TBBBIND.DLL))
|
||||
$(TBBBIND.DLL): BUILDING_LIBRARY = $(TBBBIND.DLL)
|
||||
$(TBBBIND.DLL): $(TBBBIND.OBJ) $(TBBBIND_NO_VERSION.DLL)
|
||||
$(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(TBBBIND.DLL) $(TBBBIND.OBJ) $(HWLOC.LIB) $(LINK_TBB.LIB) $(LIB_LINK_FLAGS)
|
||||
endif
|
||||
|
||||
ifneq (,$(TBBBIND_NO_VERSION.DLL))
|
||||
$(TBBBIND_NO_VERSION.DLL):
|
||||
echo "INPUT ($(TBBBIND.DLL))" > $(TBBBIND_NO_VERSION.DLL)
|
||||
endif
|
||||
|
||||
tbbbind: $(TBB.DLL) $(TBBBIND.DLL)
|
||||
|
||||
#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
|
||||
+31
-15
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
@@ -51,11 +47,11 @@ ORIG_LINK_MALLOC.LIB:=$(LINK_MALLOC.LIB)
|
||||
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 := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
|
||||
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 += $(WARNING_SUPPRESS)
|
||||
$(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)
|
||||
|
||||
@@ -138,11 +134,14 @@ MALLOC_TESTS = test_ScalableAllocator.$(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_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_atexit.$(TEST_EXT)
|
||||
test_malloc_overload_disable.$(TEST_EXT) \
|
||||
test_malloc_atexit.$(TEST_EXT) \
|
||||
test_malloc_new_handler.$(TEST_EXT)
|
||||
endif
|
||||
# -----------------------------------------------------
|
||||
|
||||
@@ -161,11 +160,14 @@ MALLOC_M_CPLUS_TESTS = test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unloa
|
||||
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)
|
||||
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_M_CPLUS_TESTS): CPLUS_FLAGS=$(M_CPLUS_FLAGS)
|
||||
$(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)
|
||||
@@ -175,12 +177,12 @@ $(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): 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_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.
|
||||
@@ -205,9 +207,20 @@ test_malloc_whitebox.$(TEST_EXT): LINK_FILES+=$(MALLOC_ASM.OBJ)
|
||||
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): 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 ----
|
||||
@@ -220,6 +233,8 @@ 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)
|
||||
@@ -230,6 +245,7 @@ endif
|
||||
$(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)
|
||||
# -----------------------------------------------------
|
||||
|
||||
#------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
|
||||
+12
-9
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
@@ -107,6 +103,9 @@ test_dynamic_link.$(TEST_EXT): LIBS += $(LIBDL)
|
||||
ifneq (,$(BIGOBJ_KEY))
|
||||
TEST_BIGOBJ = test_opencl_node.$(TEST_EXT) \
|
||||
test_atomic.$(TEST_EXT) \
|
||||
test_concurrent_hash_map.$(TEST_EXT) \
|
||||
test_concurrent_set.$(TEST_EXT) \
|
||||
test_concurrent_map.$(TEST_EXT) \
|
||||
test_concurrent_unordered_set.$(TEST_EXT) \
|
||||
test_concurrent_unordered_map.$(TEST_EXT) \
|
||||
test_join_node_key_matching.$(TEST_EXT) \
|
||||
@@ -115,7 +114,7 @@ TEST_BIGOBJ = test_opencl_node.$(TEST_EXT) \
|
||||
$(TEST_BIGOBJ): override CXXFLAGS += $(BIGOBJ_KEY)
|
||||
endif
|
||||
|
||||
# TODO: remove repetition of .$(TEST_EXT) in the list bellow
|
||||
# TODO: remove repetition of .$(TEST_EXT) in the list below
|
||||
# The main list of TBB tests
|
||||
TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
|
||||
test_global_control.$(TEST_EXT) \
|
||||
@@ -128,11 +127,14 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(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_concurrent_set.$(TEST_EXT) \
|
||||
test_concurrent_map.$(TEST_EXT) \
|
||||
test_enumerable_thread_specific.$(TEST_EXT) \
|
||||
test_handle_perror.$(TEST_EXT) \
|
||||
test_halt.$(TEST_EXT) \
|
||||
@@ -214,12 +216,12 @@ TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
|
||||
test_composite_node.$(TEST_EXT) \
|
||||
test_async_node.$(TEST_EXT) \
|
||||
test_async_msg.$(TEST_EXT) \
|
||||
test_resumable_tasks.$(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
|
||||
@@ -240,7 +242,6 @@ ifdef CILK_AVAILABLE
|
||||
# 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)
|
||||
@@ -251,6 +252,8 @@ endif
|
||||
|
||||
test_opencl_node.$(TEST_EXT): LIBS += $(OPENCL.LIB)
|
||||
|
||||
test_arena_constraints_hwloc.$(TEST_EXT): LIBS += $(HWLOC.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)
|
||||
@@ -272,7 +275,7 @@ test_tbb_plain: $(TEST_PREREQUISITE) $(TESTS_TO_RUN)
|
||||
|
||||
# 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 = 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)
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# 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
|
||||
@@ -0,0 +1,15 @@
|
||||
# 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
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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++
|
||||
|
||||
+2
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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)
|
||||
@@ -31,7 +27,7 @@ ifndef arch
|
||||
endif
|
||||
|
||||
ifndef runtime
|
||||
gcc_version:=$(shell gcc -dumpversion)
|
||||
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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
|
||||
+14
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
@@ -68,8 +64,20 @@ ifeq (0, $(dynamic_load))
|
||||
endif
|
||||
|
||||
# Paths to the NDK prebuilt tools and libraries
|
||||
CPLUS_FLAGS += --sysroot=$(SYSROOT)
|
||||
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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 ###############################################
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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 <repeats>] [-u] [-l <library>] <executable> <arg1> <arg2> <argN>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 ###############################################
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 ###############################################
|
||||
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
|
||||
+204
@@ -0,0 +1,204 @@
|
||||
#!/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: <prefix>/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")
|
||||
+11
-7
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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
|
||||
|
||||
@@ -54,6 +50,14 @@ ifdef cpp0x
|
||||
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.")
|
||||
@@ -152,8 +156,8 @@ ifndef BUILDING_PHASE
|
||||
|
||||
.DELETE_ON_ERROR: # Make will delete target if error occurred when building it.
|
||||
|
||||
# MAKEOVERRIDES contains the command line variable definitions. Reseting it to
|
||||
# empty allows propogating all exported overridden variables to nested makes.
|
||||
# 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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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)
|
||||
@@ -46,6 +42,10 @@ endif
|
||||
INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include
|
||||
|
||||
CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS)
|
||||
|
||||
# Suppress warnings about usage of deprecated content
|
||||
CPLUS_FLAGS += $(DEFINE_KEY)TBB_SUPPRESS_DEPRECATED_MESSAGES=1
|
||||
|
||||
ifeq (1,$(tbb_cpf))
|
||||
CPLUS_FLAGS += $(DEFINE_KEY)__TBB_CPF_BUILD=1
|
||||
endif
|
||||
@@ -63,6 +63,7 @@ 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
|
||||
@@ -88,7 +89,7 @@ $(foreach t,%.$(OBJ) $(TEST_AFFIXES_OBJS),$(eval $(call make-cxx-obj,$(t))))
|
||||
#$(2) - is the input obj files and libraries
|
||||
define make-test-binary
|
||||
$(CPLUS) $(OUTPUT_KEY)$(strip $1) $(CPLUS_FLAGS) $(2) $(LIBS) $(LINK_FLAGS)
|
||||
endef
|
||||
endef
|
||||
|
||||
# LINK_FILES the list of options to link test specific files (libraries and object files)
|
||||
LINK_FILES+=$(TEST_LIBS)
|
||||
|
||||
+15
-11
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2005-2017 Intel Corporation
|
||||
// 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
// 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");
|
||||
@@ -55,18 +51,24 @@ function doWork() {
|
||||
WScript.Echo("unknown");
|
||||
}
|
||||
} else {
|
||||
tmpExec = WshShell.Exec(compilerPath + " -dumpversion");
|
||||
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");
|
||||
for (var i = 0; i < 3; i++) {
|
||||
v1 = parseInt(gccVersion.split('.')[i]);
|
||||
v2 = parseInt(WScript.Arguments(2).split('.')[i]);
|
||||
|
||||
if (v1 > v2) {
|
||||
break;
|
||||
} else if (v1 < v2) {
|
||||
WScript.Echo("fail");
|
||||
return;
|
||||
}
|
||||
}
|
||||
WScript.Echo("ok");
|
||||
}
|
||||
}
|
||||
return;
|
||||
@@ -125,6 +127,8 @@ function doWork() {
|
||||
} else if (mapContext.match(vc140)) {
|
||||
if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "15.0")
|
||||
WScript.Echo("vc14.1");
|
||||
else if (WshShell.ExpandEnvironmentStrings("%VisualStudioVersion%") == "16.0")
|
||||
WScript.Echo("vc14.2");
|
||||
else
|
||||
WScript.Echo("vc14");
|
||||
} else {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright (c) 2005-2017 Intel Corporation
|
||||
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.
|
||||
@@ -14,10 +14,6 @@ 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
|
||||
REM
|
||||
REM
|
||||
REM
|
||||
REM
|
||||
setlocal
|
||||
for %%D in ("%tbb_root%") do set actual_root=%%~fD
|
||||
set fslash_root=%actual_root:\=/%
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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" #
|
||||
|
||||
+11
-6
@@ -18,6 +18,9 @@ The files here are not intended to be used directly. See below for usage.
|
||||
<DT><A HREF="Makefile.tbbmalloc">Makefile.tbbmalloc</A>
|
||||
<DD>Main Makefile to build the Intel TBB scalable memory allocator library as well as its tests.
|
||||
Invoked via 'make tbbmalloc' from <A HREF="../Makefile">top-level Makefile</A>.
|
||||
<DT><A HREF="Makefile.tbbbind">Makefile.tbbbind</A>
|
||||
<DD>Main Makefile to build the tbbbind library.
|
||||
Invoked via 'make tbbbind' from <A HREF="../Makefile">top-level Makefile</A>
|
||||
<DT><A HREF="Makefile.test">Makefile.test</A>
|
||||
<DD>Main Makefile to build and run the tests for the Intel TBB library.
|
||||
Invoked via 'make test' from <A HREF="../Makefile">top-level Makefile</A>.
|
||||
@@ -73,7 +76,7 @@ or related systems that support both 64-bit and 32-bit libraries), perform the f
|
||||
<LI>Explicitly specify the architecture when invoking GNU make, e.g. <TT>make arch=ia32</TT>.
|
||||
</OL>
|
||||
|
||||
<P>The default make target will build the release and debug versions of the Intel TBB library.</P>
|
||||
<P>The default make target will build the release version of the Intel TBB library.</P>
|
||||
<P>Other targets are available in the top-level Makefile. You might find the following targets useful:
|
||||
<UL>
|
||||
<LI><TT>make test</TT> will build and run Intel TBB <A HREF="../src/test">unit-tests</A>;
|
||||
@@ -111,13 +114,15 @@ To perform different build and/or test operations, use the following steps.
|
||||
<DT><TT>cd src;make debug</TT>
|
||||
<DD>Build and test debug libraries only.
|
||||
<DT><TT>make tbb</TT>
|
||||
<DD>Make Intel TBB release and debug libraries.
|
||||
<DD>Make Intel TBB release libraries.
|
||||
<DT><TT>make tbbmalloc</TT>
|
||||
<DD>Make Intel TBB scalable memory allocator libraries.
|
||||
<DT><TT>make tbbbind</TT>
|
||||
<DD>Make the tbbbind library.
|
||||
<DT><TT>make test</TT>
|
||||
<DD>Compile and run unit-tests
|
||||
<DT><TT>make examples</TT>
|
||||
<DD>Build libraries and run all examples, like doing <TT>make debug clean release</TT> from <A HREF="../examples/Makefile">the general example Makefile</A>.
|
||||
<DD>Build libraries and run all examples, like doing <TT>make clean release</TT> from <A HREF="../examples/Makefile">the general example Makefile</A>.
|
||||
Available in the open-source version only.
|
||||
<DT><TT>make python</TT>
|
||||
<DD>Build, install, and test Python* API for Intel TBB. See <A HREF="../python/index.html">details here</A>.
|
||||
@@ -134,8 +139,8 @@ To perform different build and/or test operations, use the following steps.
|
||||
<DD>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 <TT>stdver</TT> will be used as a parameter to the appropriate
|
||||
compiler option (such as <TT>-std</TT>); the behavior in case of unsupported value is compiler-specific.
|
||||
<DT><TT>make target_app=<B>{</B>win8ui, uwp<B>}</B> [target_mode=store] <B>[</B>(above options or targets)<B>]</B></TT>
|
||||
<DD>Build and run as above, but use API that is compliant with Universal Windows* applications. Use <TT>win8ui</TT> option, if you want to use Intel TBB in Windows* 8 Universal application and <TT>uwp</TT> in case of Windows* 10 Universal Windows application.
|
||||
<DT><TT>make target_app=<B>{</B>win8ui, uwp, uwd<B>}</B> [target_mode=store] <B>[</B>(above options or targets)<B>]</B></TT>
|
||||
<DD>Build and run as above, but use API that is compliant with Universal Windows* applications. Use <TT>win8ui</TT> option, if you want to use Intel TBB in Windows* 8 Universal application, <TT>uwp</TT> in case of Windows* 10 Universal Windows application and <TT>uwd</TT> for the usage inside Universal Windows* driver.
|
||||
<TT>target_mode=store</TT> 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.
|
||||
<DT><TT>ndk-build target=android <B>[</B>(above options or targets)<B>]</B></TT>
|
||||
<DD>Build and run as above, but build libraries for Android* OS by Android NDK that should be installed. Makefiles were tested with revision 8.
|
||||
@@ -233,7 +238,7 @@ See the Makefile infrastructure files for examples.
|
||||
<HR>
|
||||
<A HREF="../index.html">Up to parent directory</A>
|
||||
<P></P>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
Copyright © 2005-2019 Intel Corporation. All Rights Reserved.
|
||||
<P></P>
|
||||
Intel, the Intel logo and Itanium are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries.
|
||||
<p></p>
|
||||
|
||||
+1
-9
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,13 +11,5 @@
|
||||
# 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/macos.clang.inc
|
||||
|
||||
CPLUS_FLAGS += -miphoneos-version-min=8.0
|
||||
LINK_FLAGS += -miphoneos-version-min=8.0
|
||||
LIB_LINK_FLAGS += -miphoneos-version-min=8.0
|
||||
|
||||
+3
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
ifneq ($(arch),$(filter $(arch),ia32 intel64 armv7 armv7s arm64))
|
||||
$(error $(arch) is unknown architecture. Known arhitechtures are ia32 intel64 armv7 armv7s arm64)
|
||||
@@ -34,3 +30,5 @@ endif
|
||||
|
||||
ios_version:=$(shell echo $(SDKROOT) | sed -e "s/.*[a-z,A-Z]\(.*\).sdk/\1/")
|
||||
runtime:=cc$(clang_version)_ios$(ios_version)
|
||||
|
||||
IPHONEOS_DEPLOYMENT_TARGET ?= 8.0
|
||||
|
||||
+12
-12
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,11 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS ?= clang++
|
||||
CONLY ?= clang
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -24,27 +22,29 @@ 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_KEY = -Wall -Wextra
|
||||
TEST_WARNING_KEY = -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 = -ldl
|
||||
|
||||
CPLUS = clang++
|
||||
CONLY = clang
|
||||
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
|
||||
LIBS += -lpthread -lrt
|
||||
LIBS += -lrt
|
||||
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
|
||||
# -g is set intentionally in the release mode. It should not affect performance.
|
||||
CPLUS_FLAGS = -O2 -g
|
||||
endif
|
||||
ifeq ($(cfg), debug)
|
||||
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
|
||||
CPLUS_FLAGS = -DTBB_USE_DEBUG -O0 -g
|
||||
endif
|
||||
|
||||
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
|
||||
LIB_LINK_FLAGS += -pthread
|
||||
|
||||
ifneq (,$(stdlib))
|
||||
CPLUS_FLAGS += -stdlib=$(stdlib)
|
||||
LIB_LINK_FLAGS += -stdlib=$(stdlib)
|
||||
|
||||
+20
-19
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,11 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS ?= g++
|
||||
CONLY ?= gcc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -27,53 +25,56 @@ WARNING_AS_ERROR_KEY = -Werror
|
||||
WARNING_KEY = -Wall
|
||||
TEST_WARNING_KEY = -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor
|
||||
|
||||
WARNING_SUPPRESS = -Wno-parentheses -Wno-non-virtual-dtor
|
||||
WARNING_SUPPRESS = -Wno-parentheses
|
||||
DYLIB_KEY = -shared
|
||||
EXPORT_KEY = -Wl,--version-script,
|
||||
LIBDL = -ldl
|
||||
|
||||
CPLUS = g++
|
||||
CONLY = gcc
|
||||
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
|
||||
LIBS += -lpthread -lrt
|
||||
LIBS += -lrt
|
||||
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
# gcc 4.2 and higher support OpenMP
|
||||
ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[2-9]|[5-9]|1[0-9])"))
|
||||
OPENMP_FLAG = -fopenmp
|
||||
endif
|
||||
|
||||
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
|
||||
ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9]|1[0-9])"))
|
||||
RTM_KEY = -mrtm
|
||||
endif
|
||||
|
||||
# gcc 4.0 and later have -Wextra that is used by some our customers.
|
||||
ifneq (,$(shell gcc -dumpversion | egrep "^([4-9])"))
|
||||
TEST_WARNING_KEY += -Wextra
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([4-9]|1[0-9])"))
|
||||
WARNING_KEY += -Wextra
|
||||
endif
|
||||
|
||||
# gcc 5.0 and later have -Wsuggest-override option
|
||||
# enable it via a pre-included header in order to limit to C++11 and above
|
||||
ifneq (,$(shell gcc -dumpversion | egrep "^([5-9])"))
|
||||
# gcc 5.0 and later have -Wsuggest-override and -Wno-sized-deallocation options
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9]|1[0-9])"))
|
||||
# enable -Wsuggest-override via a pre-included header in order to limit to C++11 and above
|
||||
INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
|
||||
WARNING_SUPPRESS += -Wno-sized-deallocation
|
||||
endif
|
||||
|
||||
# gcc 6.0 and later have -flifetime-dse option that controls
|
||||
# elimination of stores done outside the object lifetime
|
||||
ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
|
||||
# keep pre-contruction stores for zero initialization
|
||||
DSE_KEY = -flifetime-dse=1
|
||||
endif
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = $(ITT_NOTIFY) -g -O2 -DUSE_PTHREAD
|
||||
# -g is set intentionally in the release mode. It should not affect performance.
|
||||
CPLUS_FLAGS = -O2 -g
|
||||
endif
|
||||
ifeq ($(cfg), debug)
|
||||
CPLUS_FLAGS = -DTBB_USE_DEBUG $(ITT_NOTIFY) -g -O0 -DUSE_PTHREAD
|
||||
CPLUS_FLAGS = -DTBB_USE_DEBUG -O0 -g
|
||||
endif
|
||||
|
||||
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
|
||||
LIB_LINK_FLAGS += -pthread
|
||||
|
||||
TBB_ASM.OBJ=
|
||||
MALLOC_ASM.OBJ=
|
||||
|
||||
|
||||
+10
-11
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,11 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS ?= icpc
|
||||
CONLY ?= icc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -33,22 +31,23 @@ ifneq (,$(shell icc -dumpversion | egrep "1[2-9]\."))
|
||||
SDL_FLAGS = -fstack-protector -Wformat -Wformat-security
|
||||
endif
|
||||
|
||||
CPLUS = icpc
|
||||
CONLY = icc
|
||||
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
ifeq (release,$(cfg))
|
||||
SDL_FLAGS += -D_FORTIFY_SOURCE=2
|
||||
CPLUS_FLAGS = $(ITT_NOTIFY) -O2 -g -DUSE_PTHREAD
|
||||
# -g is set intentionally in the release mode. It should not affect performance.
|
||||
CPLUS_FLAGS = -O2 -g -qno-opt-report-embed
|
||||
else
|
||||
CPLUS_FLAGS = $(ITT_NOTIFY) -O0 -g -DUSE_PTHREAD -DTBB_USE_DEBUG
|
||||
CPLUS_FLAGS = -O0 -g -DTBB_USE_DEBUG
|
||||
endif
|
||||
|
||||
LIB_LINK_FLAGS = -shared -static-intel -Wl,-soname=$(BUILDING_LIBRARY) -z relro -z now
|
||||
LIBS += -lpthread -lrt
|
||||
LIBS += -lrt
|
||||
LINK_FLAGS = -rdynamic
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
CPLUS_FLAGS += $(ITT_NOTIFY) -DUSE_PTHREAD -pthread
|
||||
LIB_LINK_FLAGS += -pthread
|
||||
|
||||
ifneq (,$(shell icc -dumpversion | egrep "^1[6-9]\."))
|
||||
OPENMP_FLAG = -qopenmp
|
||||
else
|
||||
|
||||
+9
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 ###############################################
|
||||
|
||||
@@ -59,7 +55,7 @@ ifndef arch
|
||||
endif
|
||||
|
||||
ifndef runtime
|
||||
export gcc_version:=$(shell gcc -dumpversion)
|
||||
export gcc_version:=$(shell gcc -dumpfullversion -dumpversion)
|
||||
os_version:=$(shell uname -r)
|
||||
os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
|
||||
export os_glibc_version_full:=$(shell getconf GNU_LIBC_VERSION | grep glibc | sed -e 's/^glibc //')
|
||||
@@ -120,6 +116,13 @@ TBB.LIB = $(TBB.DLL)
|
||||
TBB_NO_VERSION.DLL=libtbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(DLL)
|
||||
LINK_TBB.LIB = $(TBB_NO_VERSION.DLL)
|
||||
|
||||
TBBBIND_NO_VERSION.DLL = libtbbbind$(DEBUG_SUFFIX).$(DLL)
|
||||
TBBBIND.DEF = $(tbb_root)/src/tbb/$(def_prefix)-tbbbind-export.def
|
||||
TBBBIND.DLL = $(TBBBIND_NO_VERSION.DLL).$(SONAME_SUFFIX)
|
||||
TBBBIND.LIB = $(TBBBIND_NO_VERSION.DLL)
|
||||
LINK_TBBBIND.LIB = $(TBBBIND.LIB)
|
||||
HWLOC.LIB = -lhwloc
|
||||
|
||||
MALLOC_NO_VERSION.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(MALLOC_DLL)
|
||||
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
|
||||
MALLOC.DLL = $(MALLOC_NO_VERSION.DLL).$(SONAME_SUFFIX)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,11 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS ?= pathCC
|
||||
CONLY ?= pathcc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -32,8 +30,6 @@ DYLIB_KEY = -shared
|
||||
EXPORT_KEY = -Wl,--version-script,
|
||||
LIBDL = -ldl
|
||||
|
||||
CPLUS = pathCC
|
||||
CONLY = pathcc
|
||||
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
|
||||
LIBS += -lstl -lpthread -lrt
|
||||
LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
|
||||
|
||||
+3
-7
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,13 +11,11 @@
|
||||
# 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 ###############################################
|
||||
|
||||
CPLUS ?= xlc++_r
|
||||
CONLY ?= xlc_r
|
||||
COMPILE_ONLY = -c
|
||||
PREPROC_ONLY = -E -qsourcetype=c
|
||||
INCLUDE_KEY = -I
|
||||
@@ -34,8 +32,6 @@ DYLIB_KEY = -qmkshrobj
|
||||
EXPORT_KEY = -Wl,--version-script,
|
||||
LIBDL = -ldl
|
||||
|
||||
CPLUS = xlc++_r
|
||||
CONLY = xlc_r
|
||||
LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY)
|
||||
LIBS = -lpthread -lrt
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
+22
-9
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,13 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS = clang++
|
||||
CONLY = clang
|
||||
CPLUS ?= clang++
|
||||
CONLY ?= clang
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -44,10 +40,15 @@ else
|
||||
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG
|
||||
endif
|
||||
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY)
|
||||
|
||||
ifeq (1,$(tbb_cpf))
|
||||
# For correct ucontext.h structures layout
|
||||
CPLUS_FLAGS += -D_XOPEN_SOURCE
|
||||
endif
|
||||
|
||||
# For Clang, we add the option to support RTM intrinsics *iff* xtest is found in <immintrin.h>
|
||||
ifneq (,$(shell grep xtest `echo "\#include<immintrin.h>" | clang -E -M - 2>&1 | grep immintrin.h` 2>/dev/null))
|
||||
ifneq (,$(shell grep xtest `echo "\#include<immintrin.h>" | $(CONLY) -E -M - 2>&1 | grep immintrin.h` 2>/dev/null))
|
||||
RTM_KEY = -mrtm
|
||||
endif
|
||||
|
||||
@@ -57,12 +58,14 @@ ifneq (,$(stdlib))
|
||||
endif
|
||||
|
||||
ifeq (intel64,$(arch))
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
CPLUS_FLAGS += -m64 $(RTM_KEY)
|
||||
LINK_FLAGS += -m64
|
||||
LIB_LINK_FLAGS += -m64
|
||||
endif
|
||||
|
||||
ifeq (ia32,$(arch))
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
CPLUS_FLAGS += -m32 $(RTM_KEY)
|
||||
LINK_FLAGS += -m32
|
||||
LIB_LINK_FLAGS += -m32
|
||||
@@ -92,6 +95,16 @@ ifdef SDKROOT
|
||||
LIB_LINK_FLAGS += -L$(SDKROOT)/usr/lib/system -L$(SDKROOT)/usr/lib/
|
||||
endif
|
||||
|
||||
ifeq (ios,$(target))
|
||||
CPLUS_FLAGS += -miphoneos-version-min=$(IPHONEOS_DEPLOYMENT_TARGET)
|
||||
LINK_FLAGS += -miphoneos-version-min=$(IPHONEOS_DEPLOYMENT_TARGET)
|
||||
LIB_LINK_FLAGS += -miphoneos-version-min=$(IPHONEOS_DEPLOYMENT_TARGET)
|
||||
else
|
||||
CPLUS_FLAGS += -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET)
|
||||
LINK_FLAGS += -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET)
|
||||
LIB_LINK_FLAGS += -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET)
|
||||
endif
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Setting assembler data.
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
+24
-8
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,13 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS = g++
|
||||
CONLY = gcc
|
||||
CPLUS ?= g++
|
||||
CONLY ?= gcc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -38,21 +34,41 @@ LINK_FLAGS =
|
||||
LIB_LINK_FLAGS = -dynamiclib -install_name @rpath/$(BUILDING_LIBRARY)
|
||||
C_FLAGS = $(CPLUS_FLAGS)
|
||||
|
||||
# gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^(4\.[8-9]|[5-9]|1[0-9])"))
|
||||
RTM_KEY = -mrtm
|
||||
endif
|
||||
|
||||
# gcc 5.0 and later have -Wsuggest-override option
|
||||
# enable it via a pre-included header in order to limit to C++11 and above
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([5-9]|1[0-9])"))
|
||||
INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
|
||||
endif
|
||||
|
||||
# gcc 6.0 and later have -flifetime-dse option that controls
|
||||
# elimination of stores done outside the object lifetime
|
||||
ifneq (,$(shell $(CONLY) -dumpfullversion -dumpversion | egrep "^([6-9]|1[0-9])"))
|
||||
# keep pre-contruction stores for zero initialization
|
||||
DSE_KEY = -flifetime-dse=1
|
||||
endif
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = -g -O2
|
||||
else
|
||||
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG
|
||||
endif
|
||||
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY)
|
||||
|
||||
ifeq (intel64,$(arch))
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
CPLUS_FLAGS += -m64
|
||||
LINK_FLAGS += -m64
|
||||
LIB_LINK_FLAGS += -m64
|
||||
endif
|
||||
|
||||
ifeq (ia32,$(arch))
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
CPLUS_FLAGS += -m32
|
||||
LINK_FLAGS += -m32
|
||||
LIB_LINK_FLAGS += -m32
|
||||
|
||||
+11
-10
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,13 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS = icpc
|
||||
CONLY = icc
|
||||
CPLUS ?= icpc
|
||||
CONLY ?= icc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -53,19 +49,24 @@ endif
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
SDL_FLAGS += -D_FORTIFY_SOURCE=2
|
||||
CPLUS_FLAGS = -g -O2 -fno-omit-frame-pointer
|
||||
CPLUS_FLAGS = -g -O2 -fno-omit-frame-pointer -qno-opt-report-embed
|
||||
else
|
||||
CPLUS_FLAGS = -g -O0 -DTBB_USE_DEBUG
|
||||
endif
|
||||
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD
|
||||
ITT_NOTIFY = -DDO_ITT_NOTIFY
|
||||
CPLUS_FLAGS += -DUSE_PTHREAD $(ITT_NOTIFY)
|
||||
|
||||
ifeq (1,$(tbb_cpf))
|
||||
# For correct ucontext.h structures layout
|
||||
CPLUS_FLAGS += -D_XOPEN_SOURCE
|
||||
endif
|
||||
|
||||
ifneq (,$(codecov))
|
||||
CPLUS_FLAGS += -prof-gen=srcpos
|
||||
endif
|
||||
|
||||
# ICC 14.0 and higher support usage of libc++, clang standard library
|
||||
MACOSX_DEPLOYMENT_TARGET ?= 10.11
|
||||
ifneq (,$(shell icc -dumpversion | egrep "^1[4-9]\."))
|
||||
ifneq (,$(stdlib))
|
||||
CPLUS_FLAGS += -stdlib=$(stdlib) -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET)
|
||||
|
||||
+4
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 ###############################################
|
||||
|
||||
@@ -49,7 +45,7 @@ ifndef arch
|
||||
endif
|
||||
|
||||
ifndef runtime
|
||||
clang_version:=$(shell clang -v 2>&1 >/dev/null | grep version | sed -e "s/.*version \(.*[0-9]\) .*/\1/")
|
||||
clang_version:=$(shell clang --version | sed -n "1s/.*version \(.*[0-9]\) .*/\1/p")
|
||||
ifndef os_version
|
||||
os_version:=$(shell /usr/bin/sw_vers -productVersion)
|
||||
endif
|
||||
@@ -105,3 +101,5 @@ LINK_MALLOCPROXY.LIB = $(MALLOCPROXY.LIB)
|
||||
TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh $(largs)
|
||||
|
||||
OPENCL.LIB = -framework OpenCL
|
||||
|
||||
MACOSX_DEPLOYMENT_TARGET ?= 10.11
|
||||
|
||||
+3
-7
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,11 +11,9 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
CPLUS ?= icpc
|
||||
CONLY ?= icc
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
@@ -30,8 +28,6 @@ EXPORT_KEY = -Wl,--version-script,
|
||||
NOINTRINSIC_KEY = -fno-builtin
|
||||
LIBDL = -ldl
|
||||
SDL_FLAGS = -fstack-protector -Wformat -Wformat-security
|
||||
CPLUS = icpc
|
||||
CONLY = icc
|
||||
|
||||
ifeq (release,$(cfg))
|
||||
SDL_FLAGS += -D_FORTIFY_SOURCE=2
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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_os),mic)
|
||||
$(error MIC supports only cross-compilation. Specify "target=mic" instead.)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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:
|
||||
# mic.linux.launcher.sh [-v] [-q] [-s] [-r <repeats>] [-u] [-l <library>] <executable> <arg1> <arg2> <argN>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
ifneq (mic,$(offload))
|
||||
$(error File mic.offload.inc should not be included directly. Use offload=mic instead.)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@echo off
|
||||
REM
|
||||
REM Copyright (c) 2005-2017 Intel Corporation
|
||||
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.
|
||||
@@ -14,10 +14,6 @@ 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
|
||||
REM
|
||||
REM
|
||||
REM
|
||||
REM
|
||||
|
||||
set cmd_line=
|
||||
if DEFINED run_prefix set cmd_line=%run_prefix%
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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:
|
||||
# test_launcher.sh [-v] [-q] [-s] [-r <repeats>] [-u] [-l <library>] <executable> <arg1> <arg2> <argN>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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 version info string
|
||||
echo "#define __TBB_VERSION_STRINGS(N) \\"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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 version info string
|
||||
echo "#define __TBB_VERSION_STRINGS(N) \\"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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 version info string
|
||||
echo "#define __TBB_VERSION_STRINGS(N) \\"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,17 +13,13 @@
|
||||
# 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 version info string
|
||||
echo "#define __TBB_VERSION_STRINGS(N) \\"
|
||||
echo '#N": BUILD_HOST'"\t\t"`hostname -s`" ("`arch`")"'" ENDL \'
|
||||
echo '#N": BUILD_OS'"\t\t"`sw_vers -productName`" version "`sw_vers -productVersion`'" ENDL \'
|
||||
echo '#N": BUILD_KERNEL'"\t"`uname -v`'" ENDL \'
|
||||
echo '#N": BUILD_CLANG'"\t"`clang --version </dev/null 2>&1 | grep 'version '`'" ENDL \'
|
||||
echo '#N": BUILD_CLANG'"\t"`clang --version | sed -n "1p"`'" ENDL \'
|
||||
echo '#N": BUILD_XCODE'"\t"`xcodebuild -version </dev/null 2>&1 | grep 'Xcode'`'" ENDL \'
|
||||
[ -z "$COMPILER_VERSION" ] || echo '#N": BUILD_COMPILER'"\t"$COMPILER_VERSION'" ENDL \'
|
||||
echo '#N": BUILD_TARGET'"\t$arch on $runtime"'" ENDL \'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -13,10 +13,6 @@
|
||||
# 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 version info string
|
||||
echo "#define __TBB_VERSION_STRINGS(N) \\"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2005-2017 Intel Corporation
|
||||
// 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
// 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.
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
var WshShell = WScript.CreateObject("WScript.Shell");
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ This directory contains the Visual Studio* 2013 solution to build Intel® Thr
|
||||
<HR>
|
||||
<A HREF="../index.html">Up to parent directory</A>
|
||||
<P></P>
|
||||
Copyright © 2017 Intel Corporation. All Rights Reserved.
|
||||
Copyright © 2017-2019 Intel Corporation. All Rights Reserved.
|
||||
<P></P>
|
||||
Intel and the Intel logo are trademarks of Intel Corporation
|
||||
or its subsidiaries in the U.S. and/or other countries.
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -198,7 +198,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -223,7 +223,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -250,7 +250,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -273,7 +273,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -301,7 +301,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -326,7 +326,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -353,7 +353,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBB_BUILD=1 /W4 /I../../src /I../../src/rml/include /I../../include</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -599,6 +599,7 @@
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range2d.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range3d.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_rangeNd.h" />
|
||||
<ClInclude Include="..\..\include\tbb\cache_aligned_allocator.h" />
|
||||
<ClInclude Include="..\..\include\tbb\combinable.h" />
|
||||
<ClInclude Include="..\..\include\tbb\concurrent_hash_map.h" />
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -197,7 +197,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
@@ -222,7 +222,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -248,7 +248,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
@@ -271,7 +271,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -298,7 +298,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
@@ -323,7 +323,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -347,7 +347,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc /I.</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@@ -482,6 +482,7 @@
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range2d.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_range3d.h" />
|
||||
<ClInclude Include="..\..\include\tbb\blocked_rangeNd.h" />
|
||||
<ClInclude Include="..\..\include\tbb\cache_aligned_allocator.h" />
|
||||
<ClInclude Include="..\..\include\tbb\combinable.h" />
|
||||
<ClInclude Include="..\..\include\tbb\concurrent_hash_map.h" />
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -199,7 +199,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MDd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
@@ -227,7 +227,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
@@ -256,7 +256,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MD /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
@@ -282,7 +282,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
@@ -311,7 +311,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MTd /Od /Ob0 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /DTBB_USE_DEBUG /D__TBB_LIB_NAME=tbb_debug.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
@@ -339,7 +339,7 @@
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release-MT|Win32'">
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
@@ -368,7 +368,7 @@
|
||||
<TargetEnvironment>X64</TargetEnvironment>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalOptions> /c /MT /O2 /Zi /EHsc /GR /Zc:forScope /Zc:wchar_t /DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D__TBB_LIB_NAME=tbb.lib /DDO_ITT_NOTIFY /GS /DUSE_WINTHREAD /D_CRT_SECURE_NO_DEPRECATE /D_WIN32_WINNT=0x0502 /W4 /D__TBBMALLOC_BUILD=1 /I../../src /I../../src/rml/include /I../../include /I../../src/tbbmalloc /I../../src/tbbmalloc</AdditionalOptions>
|
||||
<AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>
|
||||
|
||||
+15
-11
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 compiler-specific variables.
|
||||
@@ -24,7 +20,7 @@
|
||||
#------------------------------------------------------------------------------
|
||||
# Setting compiler flags.
|
||||
#------------------------------------------------------------------------------
|
||||
CPLUS = cl /nologo
|
||||
CPLUS ?= cl /nologo
|
||||
LINK_FLAGS = /link /nologo
|
||||
LIB_LINK_FLAGS=/link /nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DYNAMICBASE /NXCOMPAT
|
||||
|
||||
@@ -43,6 +39,11 @@ else
|
||||
endif
|
||||
EH_FLAGS = $(if $(no_exceptions),/EHs-,/EHsc /GR)
|
||||
|
||||
# UWD binaries have to use static CRT linkage
|
||||
ifeq ($(target_app), uwd)
|
||||
MS_CRT_KEY = /MT$(if $(findstring debug,$(cfg)),d)
|
||||
endif
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=$(TBB.LIB)
|
||||
ASM_FLAGS =
|
||||
@@ -54,17 +55,20 @@ endif
|
||||
|
||||
ZW_KEY = /ZW:nostdlib
|
||||
|
||||
ifneq (,$(filter win8ui,$(target_app) $(target_ui)))
|
||||
CPLUS_FLAGS += $(ZW_KEY) /D "_UNICODE" /D "UNICODE" /D "WINAPI_FAMILY=WINAPI_FAMILY_APP"
|
||||
# These flags are general for Windows* universal applications
|
||||
ifneq (,$(target_app))
|
||||
CPLUS_FLAGS += $(ZW_KEY) /D "_UNICODE" /D "UNICODE" /D "WINAPI_FAMILY=WINAPI_FAMILY_APP"
|
||||
endif
|
||||
|
||||
ifeq ($(target_app), win8ui)
|
||||
_WIN32_WINNT = 0x0602
|
||||
else ifneq (,$(filter uwp,$(target_app) $(target_ui)))
|
||||
CPLUS_FLAGS += $(ZW_KEY) /D "_UNICODE" /D "UNICODE" /D "WINAPI_FAMILY=WINAPI_FAMILY_APP"
|
||||
else ifneq (,$(filter $(target_app),uwp uwd))
|
||||
_WIN32_WINNT = 0x0A00
|
||||
LIB_LINK_FLAGS += /NODEFAULTLIB:kernel32.lib OneCore.lib
|
||||
else
|
||||
CPLUS_FLAGS += /DDO_ITT_NOTIFY
|
||||
endif
|
||||
ifneq (,$(filter store,$(target_mode) $(target_ui_mode)))
|
||||
ifeq ($(target_mode), store)
|
||||
# it is necessary to source vcvars with 'store' argument in production
|
||||
LIB_LINK_FLAGS += /APPCONTAINER
|
||||
endif
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Overriding settings from windows.inc
|
||||
@@ -49,7 +45,7 @@ PROXY.LIB =
|
||||
# Compiler-specific variables
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
CPLUS = g++
|
||||
CPLUS ?= g++
|
||||
COMPILE_ONLY = -c -MMD
|
||||
PREPROC_ONLY = -E -x c++
|
||||
INCLUDE_KEY = -I
|
||||
|
||||
+14
-8
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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 compiler-specific variables.
|
||||
@@ -33,7 +29,7 @@ cfg ?= release
|
||||
#------------------------------------------------------------------------------
|
||||
# Setting compiler flags.
|
||||
#------------------------------------------------------------------------------
|
||||
CPLUS = icl /nologo $(VCCOMPAT_FLAG)
|
||||
CPLUS ?= icl /nologo $(VCCOMPAT_FLAG)
|
||||
LINK_FLAGS = /link /nologo
|
||||
LIB_LINK_FLAGS= /link /nologo /DLL /MAP /DEBUG /fixed:no /INCREMENTAL:NO /DYNAMICBASE /NXCOMPAT
|
||||
|
||||
@@ -55,6 +51,11 @@ ifeq (ok,$(call detect_js,/minversion icl 17 4))
|
||||
VS2017_SUPPORT = yes
|
||||
endif
|
||||
|
||||
# ICC 19.0.4 and higher provide support for VS2019
|
||||
ifeq (ok,$(call detect_js,/minversion icl 19 4))
|
||||
VS2019_SUPPORT = yes
|
||||
endif
|
||||
|
||||
ifeq ($(runtime), vc_mt)
|
||||
MS_CRT_KEY = /MT$(if $(findstring debug,$(cfg)),d)
|
||||
else
|
||||
@@ -63,7 +64,7 @@ endif
|
||||
EH_FLAGS = $(if $(no_exceptions),/EHs-,/EHsc /GR)
|
||||
|
||||
ifeq ($(cfg), release)
|
||||
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=$(TBB.LIB)
|
||||
CPLUS_FLAGS = $(MS_CRT_KEY) /O2 /Zi /Qopt-report-embed- $(EH_FLAGS) /Zc:forScope /Zc:wchar_t /D__TBB_LIB_NAME=$(TBB.LIB)
|
||||
ASM_FLAGS =
|
||||
endif
|
||||
ifeq ($(cfg), debug)
|
||||
@@ -114,7 +115,7 @@ ifeq ($(VCCOMPAT_FLAG),)
|
||||
VCCOMPAT_FLAG := $(if $(findstring vc8, $(VCVERSION)),/Qvc8)
|
||||
endif
|
||||
ifeq ($(VCCOMPAT_FLAG),)
|
||||
VCCOMPAT_FLAG := $(if $(findstring vc_mt, $(VCVERSION)),/Qvc10)
|
||||
VCCOMPAT_FLAG := $(if $(findstring vc_mt, $(VCVERSION)),/Qvc14)
|
||||
endif
|
||||
ifeq ($(VCCOMPAT_FLAG),)
|
||||
VCCOMPAT_FLAG := $(if $(findstring vc9, $(VCVERSION)),/Qvc9)
|
||||
@@ -135,6 +136,11 @@ ifeq ($(VCCOMPAT_FLAG),)
|
||||
VCCOMPAT_FLAG := /Qvc14.1
|
||||
endif
|
||||
endif
|
||||
ifeq ($(VS2019_SUPPORT),yes)
|
||||
ifneq (,$(findstring vc14.2, $(VCVERSION)))
|
||||
VCCOMPAT_FLAG := /Qvc14.2
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(VCCOMPAT_FLAG),)
|
||||
$(error VC version not detected correctly: $(VCVERSION) )
|
||||
|
||||
+13
-6
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2005-2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
export SHELL = cmd
|
||||
|
||||
@@ -63,7 +59,11 @@ def_prefix = $(if $(findstring intel64,$(arch)),win64,win32)
|
||||
# Target Windows version. Do not increase beyond 0x0502 without prior discussion!
|
||||
# Used as the value for macro definition option in windows.cl.inc etc.
|
||||
# For tests, we need at least Windows XP SP2 for sake of enabling stack backtraces.
|
||||
ifeq (1,$(tbb_cpf))
|
||||
_WIN32_WINNT=0x0600
|
||||
else
|
||||
_WIN32_WINNT=0x0502
|
||||
endif
|
||||
|
||||
TBB.LST = $(tbb_root)/src/tbb/$(def_prefix)-tbb-export.lst
|
||||
TBB.DEF = $(TBB.LST:.lst=.def)
|
||||
@@ -72,13 +72,20 @@ TBB.LIB = tbb$(CPF_SUFFIX)$(DEBUG_SUFFIX).$(LIBEXT)
|
||||
TBB.RES = tbb_resource.res
|
||||
# On Windows, we use #pragma comment to set the proper TBB lib to link with.
|
||||
# But for cross-configuration testing, need to link explicitly.
|
||||
# Tests use this variable to detect dependency on TBB binary, so have to be non-empty.
|
||||
# Tests use this variable to detect dependency on TBB binary, so have to be non-empty.
|
||||
LINK_TBB.LIB = $(if $(crosstest),$(TBB.LIB),$(DEFINE_KEY)__TBB_IMPLICITLY_LINKED)
|
||||
TBB.MANIFEST =
|
||||
ifneq ($(filter vc8 vc9,$(runtime)),)
|
||||
TBB.MANIFEST = tbbmanifest.exe.manifest
|
||||
endif
|
||||
|
||||
TBBBIND.DEF = $(tbb_root)/src/tbb/$(def_prefix)-tbbbind-export.def
|
||||
TBBBIND.DLL = tbbbind$(DEBUG_SUFFIX).$(DLL)
|
||||
TBBBIND.LIB = tbbbind$(DEBUG_SUFFIX).$(LIBEXT)
|
||||
TBBBIND.RES = tbbbind.res
|
||||
LINK_TBBBIND.LIB = $(TBBBIND.LIB)
|
||||
HWLOC.LIB = libhwloc.$(LIBEXT)
|
||||
|
||||
MALLOC.DEF = $(MALLOC_ROOT)/$(def_prefix)-tbbmalloc-export.def
|
||||
MALLOC.DLL = tbbmalloc$(DEBUG_SUFFIX).$(DLL)
|
||||
MALLOC.LIB = tbbmalloc$(DEBUG_SUFFIX).$(LIBEXT)
|
||||
|
||||
+136
-60
@@ -2,26 +2,26 @@
|
||||
|
||||
Introduction
|
||||
------------
|
||||
Many developers use CMake to manage their development projects, so the Intel(R) Threading Building Blocks (Intel(R) TBB)
|
||||
team created the set of CMake modules to simplify integration of the Intel TBB library into a CMake project.
|
||||
The modules are available starting from Intel TBB 2017 U7 in `<tbb_root>/cmake <https://github.com/01org/tbb/tree/tbb_2017/cmake>`_.
|
||||
Many developers use CMake to manage their development projects, so the Threading Building Blocks (TBB)
|
||||
team created the set of CMake modules to simplify integration of the TBB library into a CMake project.
|
||||
The modules are available starting from TBB 2017 U7 in `<tbb_root>/cmake <https://github.com/01org/tbb/tree/tbb_2017/cmake>`_.
|
||||
|
||||
About Intel TBB
|
||||
About TBB
|
||||
^^^^^^^^^^^^^^^
|
||||
Intel TBB is a library that supports scalable parallel programming using standard ISO C++ code. It does not require special languages or compilers. It is designed to promote scalable data parallel programming. Additionally, it fully supports nested parallelism, so you can build larger parallel components from smaller parallel components. To use the library, you specify tasks, not threads, and let the library map tasks onto threads in an efficient manner.
|
||||
TBB is a library that supports scalable parallel programming using standard ISO C++ code. It does not require special languages or compilers. It is designed to promote scalable data parallel programming. Additionally, it fully supports nested parallelism, so you can build larger parallel components from smaller parallel components. To use the library, you specify tasks, not threads, and let the library map tasks onto threads in an efficient manner.
|
||||
|
||||
Many of the library interfaces employ generic programming, in which interfaces are defined by requirements on types and not specific types. The C++ Standard Template Library (STL) is an example of generic programming. Generic programming enables Intel TBB to be flexible yet efficient. The generic interfaces enable you to customize components to your specific needs.
|
||||
Many of the library interfaces employ generic programming, in which interfaces are defined by requirements on types and not specific types. The C++ Standard Template Library (STL) is an example of generic programming. Generic programming enables TBB to be flexible yet efficient. The generic interfaces enable you to customize components to your specific needs.
|
||||
|
||||
The net result is that Intel TBB enables you to specify parallelism far more conveniently than using raw threads, and at the same time can improve performance.
|
||||
The net result is that TBB enables you to specify parallelism far more conveniently than using raw threads, and at the same time can improve performance.
|
||||
|
||||
References
|
||||
^^^^^^^^^^
|
||||
* `Official Intel TBB open source site <https://www.threadingbuildingblocks.org/>`_
|
||||
* `Official TBB open source site <https://www.threadingbuildingblocks.org/>`_
|
||||
* `Official GitHub repository <https://github.com/01org/tbb>`_
|
||||
|
||||
Engineering team contacts
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
The Intel TBB team is very interested in convenient integration of the Intel TBB library into customer projects. These CMake modules were created to provide such a possibility for CMake projects using a simple but powerful interface. We hope you will try these modules and we are looking forward to receiving your feedback!
|
||||
The TBB team is very interested in convenient integration of the TBB library into customer projects. These CMake modules were created to provide such a possibility for CMake projects using a simple but powerful interface. We hope you will try these modules and we are looking forward to receiving your feedback!
|
||||
|
||||
E-mail us: `inteltbbdevelopers@intel.com <mailto:inteltbbdevelopers@intel.com>`_.
|
||||
|
||||
@@ -30,36 +30,35 @@ Visit our `forum <https://software.intel.com/en-us/forums/intel-threading-buildi
|
||||
Release Notes
|
||||
-------------
|
||||
* Minimum supported CMake version: ``3.0.0``.
|
||||
* Intel TBB versioning via `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_ has restricted functionality: compatibility of update numbers (as well as interface versions) is not checked. Supported versioning: ``find_package(TBB <major>.<minor> ...)``. Intel TBB interface version can be obtained in the customer project via the ``TBB_INTERFACE_VERSION`` variable.
|
||||
* TBB versioning via `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_ has the following format: ``find_package(TBB <major>.<minor> ...)``.
|
||||
|
||||
Use cases of Intel TBB integration into CMake-aware projects
|
||||
Use cases of TBB integration into CMake-aware projects
|
||||
------------------------------------------------------------
|
||||
There are two types of Intel TBB packages:
|
||||
* Binary packages with pre-built binaries for Windows* OS, Linux* OS and macOS*. They are available on the releases page of the Github repository: https://github.com/01org/tbb/releases. The main purpose of the binary package integration is the ability to build Intel TBB header files and binaries into your CMake-aware project.
|
||||
* A source package is also available to download from the release page via the "Source code" link. In addition, it can be cloned from the repository by ``git clone https://github.com/01org/tbb.git``. The main purpose of the source package integration is to allow you to do a custom build of the Intel TBB library from the source files and then build that into your CMake-aware project.
|
||||
There are two types of TBB packages:
|
||||
* Binary packages with pre-built binaries for Windows* OS, Linux* OS and macOS*. They are available on the releases page of the Github repository: https://github.com/01org/tbb/releases. The main purpose of the binary package integration is the ability to build TBB header files and binaries into your CMake-aware project.
|
||||
* A source package is also available to download from the release page via the "Source code" link. In addition, it can be cloned from the repository by ``git clone https://github.com/01org/tbb.git``. The main purpose of the source package integration is to allow you to do a custom build of the TBB library from the source files and then build that into your CMake-aware project.
|
||||
|
||||
There are four types of CMake modules that can be used to integrate Intel TBB: `TBBConfig`, `TBBGet`, `TBBMakeConfig` and `TBBBuild`. See `Technical documentation for CMake modules`_ section for additional details.
|
||||
There are four types of CMake modules that can be used to integrate TBB: `TBBConfig`, `TBBGet`, `TBBMakeConfig` and `TBBBuild`. See `Technical documentation for CMake modules`_ section for additional details.
|
||||
|
||||
Binary package integration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following use case is valid for packages starting from Intel TBB 2017 U7:
|
||||
The following use case is valid for packages starting from TBB 2017 U7:
|
||||
|
||||
* Download package manually and make integration.
|
||||
|
||||
Pre-condition: Location of TBBConfig.cmake is available via ``TBB_DIR`` or ``CMAKE_PREFIX_PATH`` contains path to Intel TBB root.
|
||||
Pre-condition: Location of TBBConfig.cmake is available via ``TBB_DIR`` or ``CMAKE_PREFIX_PATH`` contains path to TBB root.
|
||||
|
||||
CMake code for integration:
|
||||
|
||||
.. code:: cmake
|
||||
|
||||
find_package(TBB <options>)
|
||||
|
||||
The following use case is valid for all Intel TBB 2017 packages.
|
||||
The following use case is valid for all TBB 2017 packages.
|
||||
|
||||
* Download package using TBBGet_ and make integration.
|
||||
|
||||
Pre-condition: Intel TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
Pre-condition: TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
|
||||
CMake code for integration:
|
||||
.. code:: cmake
|
||||
@@ -70,9 +69,9 @@ The following use case is valid for all Intel TBB 2017 packages.
|
||||
|
||||
Source package integration
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
* Build Intel TBB from existing source files using TBBBuild_ and make integration.
|
||||
* Build TBB from existing source files using TBBBuild_ and make integration.
|
||||
|
||||
Pre-condition: Intel TBB source code is available via <tbb_root> and Intel TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
Pre-condition: TBB source code is available via <tbb_root> and TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
|
||||
CMake code for integration:
|
||||
.. code:: cmake
|
||||
@@ -81,9 +80,9 @@ Source package integration
|
||||
tbb_build(TBB_ROOT <tbb_root> CONFIG_DIR TBB_DIR)
|
||||
find_package(TBB <options>)
|
||||
|
||||
* Download Intel TBB source files using TBBGet_, build it using TBBBuild_ and make integration.
|
||||
* Download TBB source files using TBBGet_, build it using TBBBuild_ and make integration.
|
||||
|
||||
Pre-condition: Intel TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
Pre-condition: TBB CMake modules are available via <path-to-tbb-cmake-modules>.
|
||||
|
||||
CMake code for integration:
|
||||
.. code:: cmake
|
||||
@@ -94,14 +93,14 @@ Source package integration
|
||||
tbb_build(TBB_ROOT ${tbb_root} CONFIG_DIR TBB_DIR)
|
||||
find_package(TBB <options>)
|
||||
|
||||
Tutorials: Intel TBB integration using CMake
|
||||
Tutorials: TBB integration using CMake
|
||||
--------------------------------------------
|
||||
Binary Intel TBB integration to the sub_string_finder sample (Windows* OS)
|
||||
Binary TBB integration to the sub_string_finder sample (Windows* OS)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
In this example, we will integrate binary Intel TBB package into the sub_string_finder sample on Windows* OS (Microsoft* Visual Studio).
|
||||
In this example, we will integrate binary TBB package into the sub_string_finder sample on Windows* OS (Microsoft* Visual Studio).
|
||||
This example is also applicable for other platforms with slight changes.
|
||||
Place holders <version> and <date> should be replaced with the actual values for the Intel TBB package being used. The example is written for `CMake 3.7.1`.
|
||||
Place holders <version> and <date> should be replaced with the actual values for the TBB package being used. The example is written for `CMake 3.7.1`.
|
||||
|
||||
Precondition:
|
||||
* `Microsoft* Visual Studio 11` or higher.
|
||||
@@ -119,7 +118,7 @@ Precondition:
|
||||
# find_package will search for available TBBConfig using variables CMAKE_PREFIX_PATH and TBB_DIR.
|
||||
find_package(TBB REQUIRED tbb)
|
||||
|
||||
# Link Intel TBB imported targets to the executable;
|
||||
# Link TBB imported targets to the executable;
|
||||
# "TBB::tbb" can be used instead of "${TBB_IMPORTED_TARGETS}".
|
||||
target_link_libraries(sub_string_finder ${TBB_IMPORTED_TARGETS})
|
||||
#. Run CMake GUI and:
|
||||
@@ -137,17 +136,17 @@ Precondition:
|
||||
* Push the button ``Generate`` and choose a proper generator for your Microsoft* Visual Studio version.
|
||||
#. Now you can open the generated solution ``C:/demo_tbb_cmake/tbb<version>_<date>oss/examples/GettingStarted/sub_string_finder/build/sub_string_finder.sln`` in your Microsoft* Visual Studio and build it.
|
||||
|
||||
Source code integration of Intel TBB to the sub_string_finder sample (Linux* OS)
|
||||
Source code integration of TBB to the sub_string_finder sample (Linux* OS)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
In this example, we will build Intel TBB from source code with enabled Community Preview Features and link the sub_string_finder sample with the built library.
|
||||
In this example, we will build TBB from source code with enabled Community Preview Features and link the sub_string_finder sample with the built library.
|
||||
This example is also applicable for other platforms with slight changes.
|
||||
|
||||
Precondition:
|
||||
* `CMake 3.0.0` or higher.
|
||||
* `Git` (to clone the Intel TBB repository from GitHub)
|
||||
* `Git` (to clone the TBB repository from GitHub)
|
||||
|
||||
#. Create the directory ``~/demo_tbb_cmake``, go to the created directory and clone the Intel TBB repository there:
|
||||
#. Create the directory ``~/demo_tbb_cmake``, go to the created directory and clone the TBB repository there:
|
||||
``mkdir ~/demo_tbb_cmake ; cd ~/demo_tbb_cmake ; git clone https://github.com/01org/tbb.git``
|
||||
#. In the directory ``~/demo_tbb_cmake/tbb/examples/GettingStarted/sub_string_finder`` create ``CMakeLists.txt`` file with following content:
|
||||
.. code:: cmake
|
||||
@@ -159,17 +158,17 @@ Precondition:
|
||||
|
||||
include(${TBB_ROOT}/cmake/TBBBuild.cmake)
|
||||
|
||||
# Build Intel TBB with enabled Community Preview Features (CPF).
|
||||
# Build TBB with enabled Community Preview Features (CPF).
|
||||
tbb_build(TBB_ROOT ${TBB_ROOT} CONFIG_DIR TBB_DIR MAKE_ARGS tbb_cpf=1)
|
||||
|
||||
find_package(TBB REQUIRED tbb_preview)
|
||||
|
||||
# Link Intel TBB imported targets to the executable;
|
||||
# Link TBB imported targets to the executable;
|
||||
# "TBB::tbb_preview" can be used instead of "${TBB_IMPORTED_TARGETS}".
|
||||
target_link_libraries(sub_string_finder ${TBB_IMPORTED_TARGETS})
|
||||
#. Create a build directory for the sub_string_finder sample to perform build out of source, go to the created directory
|
||||
``mkdir ~/demo_tbb_cmake/tbb/examples/GettingStarted/sub_string_finder/build ; cd ~/demo_tbb_cmake/tbb/examples/GettingStarted/sub_string_finder/build``
|
||||
#. Run CMake to prepare Makefile for the sub_string_finder sample and provide Intel TBB location (root) where to perform build:
|
||||
#. Run CMake to prepare Makefile for the sub_string_finder sample and provide TBB location (root) where to perform build:
|
||||
``cmake -DTBB_ROOT=${HOME}/demo_tbb_cmake/tbb ..``
|
||||
#. Make an executable and run it:
|
||||
``make ; ./sub_string_finder``
|
||||
@@ -179,15 +178,15 @@ Technical documentation for CMake modules
|
||||
TBBConfig
|
||||
^^^^^^^^^
|
||||
|
||||
Configuration module for ``Intel(R) Threading Building Blocks (Intel(R) TBB)`` library.
|
||||
Configuration module for TBB library.
|
||||
|
||||
How to use this module in your CMake project:
|
||||
#. Add location of Intel TBB (root) to `CMAKE_PREFIX_PATH <https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html>`_
|
||||
#. Add location of TBB (root) to `CMAKE_PREFIX_PATH <https://cmake.org/cmake/help/latest/variable/CMAKE_PREFIX_PATH.html>`_
|
||||
or specify location of TBBConfig.cmake in ``TBB_DIR``.
|
||||
#. Use `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_ to configure Intel TBB.
|
||||
#. Use provided variables and/or imported targets (described below) to work with Intel TBB.
|
||||
#. Use `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_ to configure TBB.
|
||||
#. Use provided variables and/or imported targets (described below) to work with TBB.
|
||||
|
||||
Intel TBB components can be passed to `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_
|
||||
TBB components can be passed to `find_package <https://cmake.org/cmake/help/latest/command/find_package.html>`_
|
||||
after keyword ``COMPONENTS`` or ``REQUIRED``.
|
||||
Use basic names of components (``tbb``, ``tbbmalloc``, ``tbb_preview``, etc.).
|
||||
|
||||
@@ -198,72 +197,149 @@ If ``tbbmalloc_proxy`` is requested, ``tbbmalloc`` component will also be added
|
||||
TBBConfig creates `imported targets <https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#imported-targets>`_ as
|
||||
shared libraries using the following format: ``TBB::<component>`` (for example, ``TBB::tbb``, ``TBB::tbbmalloc``).
|
||||
|
||||
Variables set during Intel TBB configuration:
|
||||
Set ``TBB_FIND_RELEASE_ONLY`` to ``TRUE`` before ``find_package`` call in order to search only for release TBB version. This variable helps to avoid simultaneous linkage of release and debug TBB versions when CMake configuration is `Debug` but a third-party component depends on release TBB version.
|
||||
Variables set during TBB configuration:
|
||||
|
||||
========================= ================================================
|
||||
Variable Description
|
||||
========================= ================================================
|
||||
``TBB_FOUND`` Intel TBB library is found
|
||||
``TBB_<component>_FOUND`` specific Intel TBB component is found
|
||||
``TBB_IMPORTED_TARGETS`` all created Intel TBB imported targets
|
||||
``TBB_VERSION`` Intel TBB version (format: ``<major>.<minor>``)
|
||||
``TBB_INTERFACE_VERSION`` Intel TBB interface version
|
||||
``TBB_FOUND`` TBB library is found
|
||||
``TBB_<component>_FOUND`` specific TBB component is found
|
||||
``TBB_IMPORTED_TARGETS`` all created TBB imported targets
|
||||
``TBB_VERSION`` TBB version (format: ``<major>.<minor>``)
|
||||
``TBB_INTERFACE_VERSION`` TBB interface version (can be empty, see below for details)
|
||||
========================= ================================================
|
||||
|
||||
TBBInstallConfig
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
Module for generation and installation of TBB CMake configuration files (TBBConfig.cmake and TBBConfigVersion.cmake files) on Linux, macOS and Windows.
|
||||
|
||||
Provides the following functions:
|
||||
|
||||
.. code:: cmake
|
||||
|
||||
tbb_install_config(INSTALL_DIR <install_dir> SYSTEM_NAME Linux|Darwin|Windows
|
||||
[TBB_VERSION <major>.<minor>|TBB_VERSION_FILE <version_file>]
|
||||
[LIB_REL_PATH <lib_rel_path> INC_REL_PATH <inc_rel_path>]
|
||||
[LIB_PATH <lib_path> INC_PATH <inc_path>])``
|
||||
|
||||
**Note: the module overwrites existing TBBConfig.cmake and TBBConfigVersion.cmake files in <install_dir>.**
|
||||
|
||||
``tbb_config_installer.cmake`` allows to run ``TBBInstallConfig.cmake`` from command line.
|
||||
It accepts the same parameters as ``tbb_install_config`` function, run ``cmake -P tbb_config_installer.cmake`` to get help.
|
||||
|
||||
Use cases
|
||||
"""""""""
|
||||
**Prepare TBB CMake configuration files for custom TBB package.**
|
||||
|
||||
The use case is applicable for package maintainers who create own TBB packages and want to create TBBConfig.cmake and TBBConfigVersion.cmake for these packages.
|
||||
|
||||
=========================================== ===========================================================
|
||||
Parameter Description
|
||||
=========================================== ===========================================================
|
||||
``INSTALL_DIR <directory>`` Directory to install CMake configuration files
|
||||
``SYSTEM_NAME Linux|Darwin|Windows`` OS name to generate config files for
|
||||
``TBB_VERSION_FILE <version_file>`` Path to ``tbb_stddef.h`` to parse version from and
|
||||
write it to TBBConfigVersion.cmake
|
||||
``TBB_VERSION <major>.<minor>`` Directly specified TBB version; alternative to ``TBB_VERSION_FILE`` parameter;
|
||||
``TBB_INTERFACE_VERSION`` is set to empty value in this case
|
||||
``LIB_REL_PATH <lib_rel_path>`` Relative path to TBB binaries (.lib files on Windows), default: ``../../../lib``
|
||||
``BIN_REL_PATH <bin_rel_path>`` Relative path to TBB DLLs, default: ``../../../bin`` (applicable for Windows only)
|
||||
``INC_REL_PATH <inc_rel_path>`` Relative path to TBB headers, default: ``../../../include``
|
||||
=========================================== ===========================================================
|
||||
|
||||
*Example*
|
||||
|
||||
Assume your package is installed to the following structure:
|
||||
|
||||
* Binaries go to ``<prefix>/lib``
|
||||
* Headers go to ``<prefix>/include``
|
||||
* CMake configuration files go to ``<prefix>/lib/cmake/<package>``
|
||||
|
||||
The package is packed from ``/my/package/content`` directory.
|
||||
|
||||
``cmake -DINSTALL_DIR=/my/package/content/lib/cmake/TBB -DSYSTEM_NAME=Linux -DTBB_VERSION_FILE=/my/package/content/include/tbb/tbb_stddef.h -P tbb_config_installer.cmake`` (default relative paths will be used)
|
||||
|
||||
**Install TBB CMake configuration files for installed TBB.**
|
||||
|
||||
The use case is applicable for users who have installed TBB, but do not have (or have incorrect) CMake configuration files for this TBB.
|
||||
|
||||
==================================== ==============================================
|
||||
Parameter Description
|
||||
==================================== ==============================================
|
||||
``INSTALL_DIR <directory>`` Directory to install CMake configuration files
|
||||
``SYSTEM_NAME Linux|Darwin|Windows`` OS name to generate config files for
|
||||
``LIB_PATH <lib_path>`` Path to installed TBB binaries (.lib files on Windows)
|
||||
``BIN_PATH <bin_path>`` Path to installed TBB DLLs (applicable for Windows only)
|
||||
``INC_PATH <inc_path>`` Path to installed TBB headers
|
||||
==================================== ==============================================
|
||||
|
||||
``LIB_PATH`` and ``INC_PATH`` will be converted to relative paths based on ``INSTALL_DIR``.
|
||||
By default TBB version will be parsed from ``<inc_path>/tbb/tbb_stddef.h``,
|
||||
but it can be overridden by optional parameters ``TBB_VERSION_FILE`` or ``TBB_VERSION``.
|
||||
|
||||
*Example*
|
||||
|
||||
TBB is installed to ``/usr`` directory.
|
||||
In order to create TBBConfig.cmake and TBBConfigVersion.cmake in ``/usr/lib/cmake/TBB`` run
|
||||
|
||||
``cmake -DINSTALL_DIR=/usr/lib/cmake/TBB -DSYSTEM_NAME=Linux -DLIB_PATH=/usr/lib -DINC_PATH=/usr/include -P tbb_config_installer.cmake``.
|
||||
|
||||
TBBGet
|
||||
^^^^^^
|
||||
|
||||
Module for getting ``Intel(R) Threading Building Blocks (Intel(R) TBB)`` library from `GitHub <https://github.com/01org/tbb>`_.
|
||||
Module for getting TBB library from `GitHub <https://github.com/01org/tbb>`_.
|
||||
|
||||
Provides the following functions:
|
||||
``tbb_get(TBB_ROOT <variable> [RELEASE_TAG <release_tag>|LATEST] [SAVE_TO <path>] [SYSTEM_NAME Linux|Windows|Darwin] [CONFIG_DIR <variable> | SOURCE_CODE])``
|
||||
downloads Intel TBB from GitHub and creates TBBConfig for the downloaded binary package if there is no TBBConfig.
|
||||
downloads TBB from GitHub and creates TBBConfig for the downloaded binary package if there is no TBBConfig.
|
||||
|
||||
==================================== ====================================
|
||||
Parameter Description
|
||||
==================================== ====================================
|
||||
``TBB_ROOT <variable>`` a variable to save Intel TBB root in, ``<variable>-NOTFOUND`` will be provided in case ``tbb_get`` is unsuccessful
|
||||
``RELEASE_TAG <release_tag>|LATEST`` Intel TBB release tag to be downloaded (for example, ``2017_U6``), ``LATEST`` is used by default
|
||||
``SAVE_TO <path>`` path to location at which to unpack downloaded Intel TBB, ``${CMAKE_CURRENT_BINARY_DIR}/tbb_downloaded`` is used by default
|
||||
``TBB_ROOT <variable>`` a variable to save TBB root in, ``<variable>-NOTFOUND`` will be provided in case ``tbb_get`` is unsuccessful
|
||||
``RELEASE_TAG <release_tag>|LATEST`` TBB release tag to be downloaded (for example, ``2017_U6``), ``LATEST`` is used by default
|
||||
``SAVE_TO <path>`` path to location at which to unpack downloaded TBB, ``${CMAKE_CURRENT_BINARY_DIR}/tbb_downloaded`` is used by default
|
||||
``SYSTEM_NAME Linux|Windows|Darwin`` operating system name to download a binary package for,
|
||||
value of `CMAKE_SYSTEM_NAME <https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html>`_ is used by default
|
||||
``CONFIG_DIR <variable>`` a variable to save location of TBBConfig.cmake and TBBConfigVersion.cmake. Ignored if ``SOURCE_CODE`` specified
|
||||
``SOURCE_CODE`` flag to get Intel TBB source code (instead of binary package)
|
||||
``SOURCE_CODE`` flag to get TBB source code (instead of binary package)
|
||||
==================================== ====================================
|
||||
|
||||
TBBMakeConfig
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
Module for making TBBConfig in ``Intel(R) Threading Building Blocks (Intel(R) TBB)`` binary package.
|
||||
Module for making TBBConfig in `official TBB binary packages published on GitHub <https://github.com/01org/tbb/releases>`_.
|
||||
|
||||
This module is to be used for packages that do not have TBBConfig.
|
||||
|
||||
Provides the following functions:
|
||||
``tbb_make_config(TBB_ROOT <path> CONFIG_DIR <variable> [SYSTEM_NAME Linux|Windows|Darwin])``
|
||||
creates CMake configuration files (TBBConfig.cmake and TBBConfigVersion.cmake) for Intel TBB binary package.
|
||||
creates CMake configuration files (TBBConfig.cmake and TBBConfigVersion.cmake) for TBB binary package.
|
||||
|
||||
==================================== ====================================
|
||||
Parameter Description
|
||||
==================================== ====================================
|
||||
``TBB_ROOT <variable>`` path to Intel TBB root
|
||||
``TBB_ROOT <variable>`` path to TBB root
|
||||
``CONFIG_DIR <variable>`` a variable to store location of the created configuration files
|
||||
``SYSTEM_NAME Linux|Windows|Darwin`` operating system name of the binary Intel TBB package,
|
||||
``SYSTEM_NAME Linux|Windows|Darwin`` operating system name of the binary TBB package,
|
||||
value of `CMAKE_SYSTEM_NAME <https://cmake.org/cmake/help/latest/variable/CMAKE_SYSTEM_NAME.html>`_ is used by default
|
||||
==================================== ====================================
|
||||
|
||||
TBBBuild
|
||||
^^^^^^^^
|
||||
|
||||
Module for building ``Intel(R) Threading Building Blocks (Intel(R) TBB)`` library from the source code.
|
||||
Module for building TBB library from the source code.
|
||||
|
||||
Provides the following functions:
|
||||
``tbb_build(TBB_ROOT <tbb_root> CONFIG_DIR <variable> [MAKE_ARGS <custom_make_arguments>])``
|
||||
builds Intel TBB from source code using the ``Makefile``, creates and provides the location of the CMake configuration files (TBBConfig.cmake and TBBConfigVersion.cmake) .
|
||||
builds TBB from source code using the ``Makefile``, creates and provides the location of the CMake configuration files (TBBConfig.cmake and TBBConfigVersion.cmake) .
|
||||
|
||||
===================================== ====================================
|
||||
Parameter Description
|
||||
===================================== ====================================
|
||||
``TBB_ROOT <variable>`` path to Intel TBB root
|
||||
``TBB_ROOT <variable>`` path to TBB root
|
||||
``CONFIG_DIR <variable>`` a variable to store location of the created configuration files,
|
||||
``<variable>-NOTFOUND`` will be provided in case ``tbb_build`` is unsuccessful
|
||||
``MAKE_ARGS <custom_make_arguments>`` custom arguments to be passed to ``make`` tool.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,15 +11,11 @@
|
||||
# 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:
|
||||
# include(TBBBuild.cmake)
|
||||
# tbb_build(ROOT <tbb_root> MAKE_ARGS <arg1> [... <argN>])
|
||||
# tbb_build(TBB_ROOT <tbb_root> CONFIG_DIR <config_dir> MAKE_ARGS <arg1> [... <argN>])
|
||||
# find_package(TBB <options>)
|
||||
#
|
||||
|
||||
@@ -78,6 +74,10 @@ function(tbb_build)
|
||||
set(result "compiler=${compiler}" ${result})
|
||||
endif()
|
||||
|
||||
if (NOT tbb_GMA_USER_DEFINED_ARGS MATCHES "stdver=" AND DEFINED CMAKE_CXX_STANDARD)
|
||||
set(result "stdver=c++${CMAKE_CXX_STANDARD}" ${result})
|
||||
endif()
|
||||
|
||||
if (NOT tbb_GMA_USER_DEFINED_ARGS MATCHES "tbb_build_dir=")
|
||||
set(result "tbb_build_dir=${CMAKE_CURRENT_BINARY_DIR}/tbb_cmake_build" ${result})
|
||||
endif()
|
||||
|
||||
+1
-5
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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(CMakeParseArguments)
|
||||
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
# Copyright (c) 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(CMakeParseArguments)
|
||||
|
||||
# Save the location of Intel TBB CMake modules here, as it will not be possible to do inside functions,
|
||||
# see for details: https://cmake.org/cmake/help/latest/variable/CMAKE_CURRENT_LIST_DIR.html
|
||||
set(_tbb_cmake_module_path ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
function(tbb_install_config)
|
||||
set(oneValueArgs INSTALL_DIR
|
||||
SYSTEM_NAME
|
||||
LIB_REL_PATH INC_REL_PATH BIN_REL_PATH TBB_VERSION TBB_VERSION_FILE
|
||||
LIB_PATH BIN_PATH INC_PATH) # If TBB is installed on the system
|
||||
|
||||
cmake_parse_arguments(tbb_IC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
get_filename_component(config_install_dir ${tbb_IC_INSTALL_DIR} ABSOLUTE)
|
||||
file(MAKE_DIRECTORY ${config_install_dir})
|
||||
|
||||
# --- TBB_LIB_REL_PATH handling ---
|
||||
set(TBB_LIB_REL_PATH "../../../lib")
|
||||
|
||||
if (tbb_IC_LIB_REL_PATH)
|
||||
file(TO_CMAKE_PATH ${tbb_IC_LIB_REL_PATH} TBB_LIB_REL_PATH)
|
||||
endif()
|
||||
|
||||
if (tbb_IC_LIB_PATH)
|
||||
get_filename_component(lib_abs_path ${tbb_IC_LIB_PATH} ABSOLUTE)
|
||||
file(RELATIVE_PATH TBB_LIB_REL_PATH ${config_install_dir} ${lib_abs_path})
|
||||
unset(lib_abs_path)
|
||||
endif()
|
||||
# ------
|
||||
|
||||
# --- TBB_BIN_REL_PATH handling ---
|
||||
set(TBB_BIN_REL_PATH "../../../bin")
|
||||
|
||||
if (tbb_IC_BIN_REL_PATH)
|
||||
file(TO_CMAKE_PATH ${tbb_IC_BIN_REL_PATH} TBB_BIN_REL_PATH)
|
||||
endif()
|
||||
|
||||
if (tbb_IC_BIN_PATH)
|
||||
get_filename_component(bin_abs_path ${tbb_IC_BIN_PATH} ABSOLUTE)
|
||||
file(RELATIVE_PATH TBB_BIN_REL_PATH ${config_install_dir} ${bin_abs_path})
|
||||
unset(bin_abs_path)
|
||||
endif()
|
||||
# ------
|
||||
|
||||
# --- TBB_INC_REL_PATH handling ---
|
||||
set(TBB_INC_REL_PATH "../../../include")
|
||||
|
||||
if (tbb_IC_INC_REL_PATH)
|
||||
file(TO_CMAKE_PATH ${tbb_IC_INC_REL_PATH} TBB_INC_REL_PATH)
|
||||
endif()
|
||||
|
||||
if (tbb_IC_INC_PATH)
|
||||
get_filename_component(inc_abs_path ${tbb_IC_INC_PATH} ABSOLUTE)
|
||||
file(RELATIVE_PATH TBB_INC_REL_PATH ${config_install_dir} ${inc_abs_path})
|
||||
unset(inc_abs_path)
|
||||
endif()
|
||||
# ------
|
||||
|
||||
# --- TBB_VERSION handling ---
|
||||
if (tbb_IC_TBB_VERSION)
|
||||
set(TBB_VERSION ${tbb_IC_TBB_VERSION})
|
||||
else()
|
||||
set(tbb_version_file "${config_install_dir}/${TBB_INC_REL_PATH}/tbb/tbb_stddef.h")
|
||||
if (tbb_IC_TBB_VERSION_FILE)
|
||||
set(tbb_version_file ${tbb_IC_TBB_VERSION_FILE})
|
||||
endif()
|
||||
|
||||
file(READ ${tbb_version_file} _tbb_stddef)
|
||||
string(REGEX REPLACE ".*#define TBB_VERSION_MAJOR ([0-9]+).*" "\\1" _tbb_ver_major "${_tbb_stddef}")
|
||||
string(REGEX REPLACE ".*#define TBB_VERSION_MINOR ([0-9]+).*" "\\1" _tbb_ver_minor "${_tbb_stddef}")
|
||||
string(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_tbb_stddef}")
|
||||
set(TBB_VERSION "${_tbb_ver_major}.${_tbb_ver_minor}")
|
||||
endif()
|
||||
# ------
|
||||
|
||||
set(tbb_system_name ${CMAKE_SYSTEM_NAME})
|
||||
if (tbb_IC_SYSTEM_NAME)
|
||||
set(tbb_system_name ${tbb_IC_SYSTEM_NAME})
|
||||
endif()
|
||||
|
||||
if (tbb_system_name STREQUAL "Linux")
|
||||
set(TBB_LIB_PREFIX "lib")
|
||||
set(TBB_LIB_EXT "so.2")
|
||||
set(TBB_IMPLIB_RELEASE "")
|
||||
set(TBB_IMPLIB_DEBUG "")
|
||||
elseif (tbb_system_name STREQUAL "Darwin")
|
||||
set(TBB_LIB_PREFIX "lib")
|
||||
set(TBB_LIB_EXT "dylib")
|
||||
set(TBB_IMPLIB_RELEASE "")
|
||||
set(TBB_IMPLIB_DEBUG "")
|
||||
elseif (tbb_system_name STREQUAL "Windows")
|
||||
set(TBB_LIB_PREFIX "")
|
||||
set(TBB_LIB_EXT "dll")
|
||||
# .lib files installed to TBB_LIB_REL_PATH (e.g. <prefix>/lib);
|
||||
# .dll files installed to TBB_BIN_REL_PATH (e.g. <prefix>/bin);
|
||||
# Expand TBB_LIB_REL_PATH here in IMPORTED_IMPLIB property and
|
||||
# redefine it with TBB_BIN_REL_PATH value to properly fill IMPORTED_LOCATION property in TBBConfig.cmake.in template.
|
||||
set(TBB_IMPLIB_RELEASE "
|
||||
IMPORTED_IMPLIB_RELEASE \"\${CMAKE_CURRENT_LIST_DIR}/${TBB_LIB_REL_PATH}/\${_tbb_component}.lib\"")
|
||||
set(TBB_IMPLIB_DEBUG "
|
||||
IMPORTED_IMPLIB_DEBUG \"\${CMAKE_CURRENT_LIST_DIR}/${TBB_LIB_REL_PATH}/\${_tbb_component}_debug.lib\"")
|
||||
set(TBB_LIB_REL_PATH ${TBB_BIN_REL_PATH})
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported OS name: ${tbb_system_name}")
|
||||
endif()
|
||||
|
||||
configure_file(${_tbb_cmake_module_path}/templates/TBBConfig.cmake.in ${config_install_dir}/TBBConfig.cmake @ONLY)
|
||||
configure_file(${_tbb_cmake_module_path}/templates/TBBConfigVersion.cmake.in ${config_install_dir}/TBBConfigVersion.cmake @ONLY)
|
||||
endfunction()
|
||||
+47
-52
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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:
|
||||
@@ -60,33 +56,16 @@ function(tbb_make_config)
|
||||
set(TBB_LIB_EXT "so.2")
|
||||
|
||||
# Note: multiline variable
|
||||
set(TBB_CHOOSE_COMPILER_SUBDIR "if (CMAKE_CXX_COMPILER_LOADED)
|
||||
set(_tbb_compiler_id \${CMAKE_CXX_COMPILER_ID})
|
||||
set(_tbb_compiler_ver \${CMAKE_CXX_COMPILER_VERSION})
|
||||
elseif (CMAKE_C_COMPILER_LOADED)
|
||||
set(_tbb_compiler_id \${CMAKE_C_COMPILER_ID})
|
||||
set(_tbb_compiler_ver \${CMAKE_C_COMPILER_VERSION})
|
||||
endif()
|
||||
set(TBB_CHOOSE_COMPILER_SUBDIR "set(_tbb_compiler_subdir gcc4.8)
|
||||
|
||||
# For non-GCC compilers try to find version of system GCC to choose right compiler subdirectory.
|
||||
if (NOT _tbb_compiler_id STREQUAL \"GNU\")
|
||||
execute_process(COMMAND gcc --version OUTPUT_VARIABLE _tbb_gcc_ver_output ERROR_QUIET)
|
||||
string(REGEX REPLACE \".*gcc.*([0-9]+\\\\.[0-9]+)\\\\.[0-9]+.*\" \"\\\\1\" _tbb_compiler_ver \"\${_tbb_gcc_ver_output}\")
|
||||
if (NOT _tbb_compiler_ver)
|
||||
message(FATAL_ERROR \"This Intel TBB package is intended to be used only environment with available 'gcc'\")
|
||||
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL \"GNU\" AND NOT CMAKE_C_COMPILER_ID STREQUAL \"GNU\")
|
||||
find_program(_gcc_executable gcc)
|
||||
if (NOT _gcc_executable)
|
||||
message(FATAL_ERROR \"This Intel TBB package is intended to be used only in environment with available 'gcc'\")
|
||||
endif()
|
||||
unset(_tbb_gcc_ver_output)
|
||||
endif()
|
||||
|
||||
set(_tbb_compiler_subdir gcc4.1)
|
||||
foreach (_tbb_gcc_version 4.1 4.4 4.7)
|
||||
if (NOT _tbb_compiler_ver VERSION_LESS \${_tbb_gcc_version})
|
||||
set(_tbb_compiler_subdir gcc\${_tbb_gcc_version})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
unset(_tbb_compiler_id)
|
||||
unset(_tbb_compiler_ver)")
|
||||
unset(_gcc_executable)
|
||||
endif()")
|
||||
|
||||
elseif (tbb_system_name STREQUAL "Windows")
|
||||
set(TBB_SHARED_LIB_DIR "bin")
|
||||
@@ -100,33 +79,26 @@ unset(_tbb_compiler_ver)")
|
||||
message(FATAL_ERROR \"This Intel TBB package is intended to be used only in the project with MSVC\")
|
||||
endif()
|
||||
|
||||
# Detect the most relevant MSVC subdirectory
|
||||
set(_tbb_msvc_1700_subdir vc11)
|
||||
set(_tbb_msvc_1800_subdir vc12)
|
||||
set(_tbb_msvc_1900_subdir vc14)
|
||||
set(_tbb_msvc_ver \${MSVC_VERSION})
|
||||
if (MSVC_VERSION VERSION_LESS 1700)
|
||||
message(FATAL_ERROR \"This Intel TBB package is intended to be used only in the project with MSVC version 1700 (vc11) or higher\")
|
||||
elseif (MSVC_VERSION VERSION_GREATER 1900)
|
||||
set(_tbb_msvc_ver 1900)
|
||||
if (MSVC_VERSION VERSION_LESS 1900)
|
||||
message(FATAL_ERROR \"This Intel TBB package is intended to be used only in the project with MSVC version 1900 (vc14) or higher\")
|
||||
endif()
|
||||
set(_tbb_compiler_subdir \${_tbb_msvc_\${_tbb_msvc_ver}_subdir})
|
||||
unset(_tbb_msvc_1700_subdir)
|
||||
unset(_tbb_msvc_1800_subdir)
|
||||
unset(_tbb_msvc_1900_subdir)
|
||||
|
||||
set(_tbb_compiler_subdir vc14)
|
||||
|
||||
if (WINDOWS_STORE)
|
||||
set(_tbb_compiler_subdir \${_tbb_compiler_subdir}_ui)
|
||||
set(_tbb_compiler_subdir \${_tbb_compiler_subdir}_uwp)
|
||||
endif()")
|
||||
|
||||
if (tbb_MK_CONFIG_FOR_SOURCE)
|
||||
set(TBB_IMPLIB_RELEASE "\nIMPORTED_IMPLIB_RELEASE \"${tbb_MK_TBB_RELEASE_DIR}/\${_tbb_component}.lib\"")
|
||||
set(TBB_IMPLIB_DEBUG "\nIMPORTED_IMPLIB_DEBUG \"${tbb_MK_TBB_DEBUG_DIR}/\${_tbb_component}_debug.lib\"")
|
||||
set(TBB_IMPLIB_RELEASE "
|
||||
IMPORTED_IMPLIB_RELEASE \"${tbb_MK_TBB_RELEASE_DIR}/\${_tbb_component}.lib\"")
|
||||
set(TBB_IMPLIB_DEBUG "
|
||||
IMPORTED_IMPLIB_DEBUG \"${tbb_MK_TBB_DEBUG_DIR}/\${_tbb_component}_debug.lib\"")
|
||||
else()
|
||||
# Note: multiline variable
|
||||
set(TBB_IMPLIB "
|
||||
IMPORTED_IMPLIB_RELEASE \"\${_tbb_root}/lib/\${_tbb_arch_subdir}/\${_tbb_compiler_subdir}/\${_tbb_component}.lib\"
|
||||
IMPORTED_IMPLIB_DEBUG \"\${_tbb_root}/lib/\${_tbb_arch_subdir}/\${_tbb_compiler_subdir}/\${_tbb_component}_debug.lib\"")
|
||||
set(TBB_IMPLIB_RELEASE "
|
||||
IMPORTED_IMPLIB_RELEASE \"\${_tbb_root}/lib/\${_tbb_arch_subdir}/\${_tbb_compiler_subdir}/\${_tbb_component}.lib\"")
|
||||
set(TBB_IMPLIB_DEBUG "
|
||||
IMPORTED_IMPLIB_DEBUG \"\${_tbb_root}/lib/\${_tbb_arch_subdir}/\${_tbb_compiler_subdir}/\${_tbb_component}_debug.lib\"")
|
||||
endif()
|
||||
|
||||
# Note: multiline variable
|
||||
@@ -158,11 +130,34 @@ endif()")
|
||||
set(TBB_VERSION "${_tbb_ver_major}.${_tbb_ver_minor}")
|
||||
|
||||
if (tbb_MK_CONFIG_FOR_SOURCE)
|
||||
set(_tbb_config_template TBBConfigForSource.cmake.in)
|
||||
set(TBB_CHOOSE_ARCH_AND_COMPILER "")
|
||||
set(TBB_RELEASE_LIB_PATH "${TBB_RELEASE_DIR}")
|
||||
set(TBB_DEBUG_LIB_PATH "${TBB_DEBUG_DIR}")
|
||||
set(TBB_UNSET_ADDITIONAL_VARIABLES "")
|
||||
else()
|
||||
set(_tbb_config_template TBBConfig.cmake.in)
|
||||
# Note: multiline variable
|
||||
set(TBB_CHOOSE_ARCH_AND_COMPILER "
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(_tbb_arch_subdir ${TBB_X64_SUBDIR})
|
||||
else()
|
||||
set(_tbb_arch_subdir ${TBB_X32_SUBDIR})
|
||||
endif()
|
||||
|
||||
${TBB_CHOOSE_COMPILER_SUBDIR}
|
||||
|
||||
get_filename_component(_tbb_lib_path \"\${_tbb_root}/${TBB_SHARED_LIB_DIR}/\${_tbb_arch_subdir}/\${_tbb_compiler_subdir}\" ABSOLUTE)
|
||||
")
|
||||
|
||||
set(TBB_RELEASE_LIB_PATH "\${_tbb_lib_path}")
|
||||
set(TBB_DEBUG_LIB_PATH "\${_tbb_lib_path}")
|
||||
|
||||
# Note: multiline variable
|
||||
set(TBB_UNSET_ADDITIONAL_VARIABLES "
|
||||
unset(_tbb_arch_subdir)
|
||||
unset(_tbb_compiler_subdir)")
|
||||
endif()
|
||||
configure_file(${_tbb_cmake_module_path}/templates/${_tbb_config_template} ${tbb_config_dir}/TBBConfig.cmake @ONLY)
|
||||
|
||||
configure_file(${_tbb_cmake_module_path}/templates/TBBConfigInternal.cmake.in ${tbb_config_dir}/TBBConfig.cmake @ONLY)
|
||||
configure_file(${_tbb_cmake_module_path}/templates/TBBConfigVersion.cmake.in ${tbb_config_dir}/TBBConfigVersion.cmake @ONLY)
|
||||
|
||||
set(${tbb_MK_CONFIG_DIR} ${tbb_config_dir} PARENT_SCOPE)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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(tbb_conf_gen_print_help)
|
||||
message("Usage: cmake -DTBB_ROOT=<tbb_root> -DTBB_OS=Linux|Windows|Darwin [-DSAVE_TO=<path>] -P tbb_config_generator.cmake")
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
# Copyright (c) 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(tbb_conf_gen_print_help)
|
||||
message("Usage: cmake -DINSTALL_DIR=<config_install_dir> -DSYSTEM_NAME=Linux|Darwin|Windows <parameters> -P tbb_config_generator.cmake
|
||||
|
||||
Parameters:
|
||||
For custom TBB package:
|
||||
-DTBB_VERSION_FILE=<tbb_version_file>
|
||||
-DTBB_VERSION=<major>.<minor>.<interface> (alternative to TBB_VERSION_FILE)
|
||||
-DINC_REL_PATH=<relative_path_to_tbb_headers>
|
||||
-DLIB_REL_PATH=<relative_path_to_tbb_libs>
|
||||
-DBIN_REL_PATH=<relative_path_to_tbb_dlls> (only for Windows)
|
||||
For installed TBB:
|
||||
-DINC_PATH=<path_to_installed_tbb_headers>
|
||||
-DLIB_PATH=<path_to_installed_tbb_libs>
|
||||
-DBIN_PATH=<path_to_installed_tbb_dlls> (only for Windows)
|
||||
")
|
||||
endfunction()
|
||||
|
||||
if (NOT DEFINED INSTALL_DIR)
|
||||
tbb_conf_gen_print_help()
|
||||
message(FATAL_ERROR "Required parameter INSTALL_DIR is not defined")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED SYSTEM_NAME)
|
||||
tbb_conf_gen_print_help()
|
||||
message(FATAL_ERROR "Required parameter SYSTEM_NAME is not defined")
|
||||
endif()
|
||||
|
||||
foreach (arg TBB_VERSION INC_REL_PATH LIB_REL_PATH BIN_REL_PATH TBB_VERSION_FILE INC_PATH LIB_PATH BIN_PATH)
|
||||
set(optional_args ${optional_args} ${arg} ${${arg}})
|
||||
endforeach()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/TBBInstallConfig.cmake)
|
||||
tbb_install_config(INSTALL_DIR ${INSTALL_DIR} SYSTEM_NAME ${SYSTEM_NAME} ${optional_args})
|
||||
message(STATUS "TBBConfig files were created in ${INSTALL_DIR}")
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,21 +11,27 @@
|
||||
# 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_FOUND should not be set explicitly. It is defined automatically by CMake.
|
||||
# Handling of TBB_VERSION is in TBBConfigVersion.cmake.
|
||||
# It defines the following variables:
|
||||
# TBB_<component>_FOUND
|
||||
# TBB_IMPORTED_TARGETS
|
||||
#
|
||||
# TBBConfigVersion.cmake defines TBB_VERSION
|
||||
#
|
||||
# Initialize to default values
|
||||
if (NOT TBB_IMPORTED_TARGETS)
|
||||
set(TBB_IMPORTED_TARGETS "")
|
||||
endif()
|
||||
|
||||
if (NOT TBB_FIND_COMPONENTS)
|
||||
set(TBB_FIND_COMPONENTS "@TBB_DEFAULT_COMPONENTS@")
|
||||
set(TBB_FIND_COMPONENTS "tbb;tbbmalloc;tbbmalloc_proxy")
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(TBB_FIND_REQUIRED_${_tbb_component} 1)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
set(TBB_INTERFACE_VERSION @TBB_INTERFACE_VERSION@)
|
||||
|
||||
# Add components with internal dependencies: tbbmalloc_proxy -> tbbmalloc
|
||||
list(FIND TBB_FIND_COMPONENTS tbbmalloc_proxy _tbbmalloc_proxy_ix)
|
||||
if (NOT _tbbmalloc_proxy_ix EQUAL -1)
|
||||
@@ -34,56 +40,57 @@ if (NOT _tbbmalloc_proxy_ix EQUAL -1)
|
||||
list(APPEND TBB_FIND_COMPONENTS tbbmalloc)
|
||||
set(TBB_FIND_REQUIRED_tbbmalloc ${TBB_FIND_REQUIRED_tbbmalloc_proxy})
|
||||
endif()
|
||||
unset(_tbbmalloc_ix)
|
||||
endif()
|
||||
|
||||
set(TBB_INTERFACE_VERSION @TBB_INTERFACE_VERSION@)
|
||||
|
||||
get_filename_component(_tbb_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_tbb_root "${_tbb_root}" PATH)
|
||||
|
||||
set(_tbb_x32_subdir @TBB_X32_SUBDIR@)
|
||||
set(_tbb_x64_subdir @TBB_X64_SUBDIR@)
|
||||
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(_tbb_arch_subdir ${_tbb_x64_subdir})
|
||||
else()
|
||||
set(_tbb_arch_subdir ${_tbb_x32_subdir})
|
||||
endif()
|
||||
|
||||
@TBB_CHOOSE_COMPILER_SUBDIR@
|
||||
|
||||
get_filename_component(_tbb_lib_path "${_tbb_root}/@TBB_SHARED_LIB_DIR@/${_tbb_arch_subdir}/${_tbb_compiler_subdir}" ABSOLUTE)
|
||||
unset(_tbbmalloc_proxy_ix)
|
||||
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(_tbb_release_lib "${_tbb_lib_path}/@TBB_LIB_PREFIX@${_tbb_component}.@TBB_LIB_EXT@")
|
||||
set(_tbb_debug_lib "${_tbb_lib_path}/@TBB_LIB_PREFIX@${_tbb_component}_debug.@TBB_LIB_EXT@")
|
||||
set(TBB_${_tbb_component}_FOUND 0)
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}" AND EXISTS "${_tbb_debug_lib}")
|
||||
add_library(TBB::${_tbb_component} SHARED IMPORTED)
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_CONFIGURATIONS "RELEASE;DEBUG"
|
||||
IMPORTED_LOCATION_RELEASE "${_tbb_release_lib}"
|
||||
IMPORTED_LOCATION_DEBUG "${_tbb_debug_lib}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_tbb_root}/include"@TBB_IMPLIB@@TBB_COMPILE_DEFINITIONS@)
|
||||
get_filename_component(_tbb_release_lib "${CMAKE_CURRENT_LIST_DIR}/@TBB_LIB_REL_PATH@/@TBB_LIB_PREFIX@${_tbb_component}.@TBB_LIB_EXT@" ABSOLUTE)
|
||||
|
||||
# Add internal dependencies for imported targets: TBB::tbbmalloc_proxy -> TBB::tbbmalloc
|
||||
if (_tbb_component STREQUAL tbbmalloc_proxy)
|
||||
set_target_properties(TBB::tbbmalloc_proxy PROPERTIES INTERFACE_LINK_LIBRARIES TBB::tbbmalloc)
|
||||
if (NOT TBB_FIND_RELEASE_ONLY)
|
||||
get_filename_component(_tbb_debug_lib "${CMAKE_CURRENT_LIST_DIR}/@TBB_LIB_REL_PATH@/@TBB_LIB_PREFIX@${_tbb_component}_debug.@TBB_LIB_EXT@" ABSOLUTE)
|
||||
endif()
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}" OR EXISTS "${_tbb_debug_lib}")
|
||||
if (NOT TARGET TBB::${_tbb_component})
|
||||
add_library(TBB::${_tbb_component} SHARED IMPORTED)
|
||||
|
||||
get_filename_component(_tbb_include_dir "${CMAKE_CURRENT_LIST_DIR}/@TBB_INC_REL_PATH@" ABSOLUTE)
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_tbb_include_dir}")
|
||||
unset(_tbb_include_dir)
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE "${_tbb_release_lib}"@TBB_IMPLIB_RELEASE@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
endif()
|
||||
|
||||
if (EXISTS "${_tbb_debug_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_DEBUG "${_tbb_debug_lib}"@TBB_IMPLIB_DEBUG@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
endif()
|
||||
|
||||
# Add internal dependencies for imported targets: TBB::tbbmalloc_proxy -> TBB::tbbmalloc
|
||||
if (_tbb_component STREQUAL tbbmalloc_proxy)
|
||||
set_target_properties(TBB::tbbmalloc_proxy PROPERTIES INTERFACE_LINK_LIBRARIES TBB::tbbmalloc)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list(APPEND TBB_IMPORTED_TARGETS TBB::${_tbb_component})
|
||||
set(TBB_${_tbb_component}_FOUND 1)
|
||||
elseif (TBB_FIND_REQUIRED AND TBB_FIND_REQUIRED_${_tbb_component})
|
||||
message(FATAL_ERROR "Missed required Intel TBB component: ${_tbb_component}")
|
||||
message(STATUS "Missed required Intel TBB component: ${_tbb_component}")
|
||||
if (TBB_FIND_RELEASE_ONLY)
|
||||
message(STATUS " ${_tbb_release_lib} must exist.")
|
||||
else()
|
||||
message(STATUS " one or both of:\n ${_tbb_release_lib}\n ${_tbb_debug_lib}\n files must exist.")
|
||||
endif()
|
||||
set(TBB_FOUND FALSE)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
unset(_tbb_x32_subdir)
|
||||
unset(_tbb_x64_subdir)
|
||||
unset(_tbb_arch_subdir)
|
||||
unset(_tbb_compiler_subdir)
|
||||
unset(_tbbmalloc_proxy_ix)
|
||||
unset(_tbbmalloc_ix)
|
||||
unset(_tbb_lib_path)
|
||||
list(REMOVE_DUPLICATES TBB_IMPORTED_TARGETS)
|
||||
unset(_tbb_release_lib)
|
||||
unset(_tbb_debug_lib)
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
# Copyright (c) 2017 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_FOUND should not be set explicitly. It is defined automatically by CMake.
|
||||
# Handling of TBB_VERSION is in TBBConfigVersion.cmake.
|
||||
|
||||
if (NOT TBB_FIND_COMPONENTS)
|
||||
set(TBB_FIND_COMPONENTS "@TBB_DEFAULT_COMPONENTS@")
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(TBB_FIND_REQUIRED_${_tbb_component} 1)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Add components with internal dependencies: tbbmalloc_proxy -> tbbmalloc
|
||||
list(FIND TBB_FIND_COMPONENTS tbbmalloc_proxy _tbbmalloc_proxy_ix)
|
||||
if (NOT _tbbmalloc_proxy_ix EQUAL -1)
|
||||
list(FIND TBB_FIND_COMPONENTS tbbmalloc _tbbmalloc_ix)
|
||||
if (_tbbmalloc_ix EQUAL -1)
|
||||
list(APPEND TBB_FIND_COMPONENTS tbbmalloc)
|
||||
set(TBB_FIND_REQUIRED_tbbmalloc ${TBB_FIND_REQUIRED_tbbmalloc_proxy})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(TBB_INTERFACE_VERSION @TBB_INTERFACE_VERSION@)
|
||||
|
||||
get_filename_component(_tbb_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_tbb_root "${_tbb_root}" PATH)
|
||||
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(_tbb_release_lib "@TBB_RELEASE_DIR@/@TBB_LIB_PREFIX@${_tbb_component}.@TBB_LIB_EXT@")
|
||||
set(_tbb_debug_lib "@TBB_DEBUG_DIR@/@TBB_LIB_PREFIX@${_tbb_component}_debug.@TBB_LIB_EXT@")
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}" OR EXISTS "${_tbb_debug_lib}")
|
||||
add_library(TBB::${_tbb_component} SHARED IMPORTED)
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_tbb_root}/include"@TBB_COMPILE_DEFINITIONS@)
|
||||
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE "${_tbb_release_lib}"@TBB_IMPLIB_RELEASE@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
endif()
|
||||
|
||||
if (EXISTS "${_tbb_debug_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_DEBUG "${_tbb_debug_lib}"@TBB_IMPLIB_DEBUG@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
endif()
|
||||
|
||||
# Add internal dependencies for imported targets: TBB::tbbmalloc_proxy -> TBB::tbbmalloc
|
||||
if (_tbb_component STREQUAL tbbmalloc_proxy)
|
||||
set_target_properties(TBB::tbbmalloc_proxy PROPERTIES INTERFACE_LINK_LIBRARIES TBB::tbbmalloc)
|
||||
endif()
|
||||
|
||||
list(APPEND TBB_IMPORTED_TARGETS TBB::${_tbb_component})
|
||||
set(TBB_${_tbb_component}_FOUND 1)
|
||||
elseif (TBB_FIND_REQUIRED AND TBB_FIND_REQUIRED_${_tbb_component})
|
||||
message(FATAL_ERROR "Missed required Intel TBB component: ${_tbb_component}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
unset(_tbbmalloc_proxy_ix)
|
||||
unset(_tbbmalloc_ix)
|
||||
unset(_tbb_lib_path)
|
||||
unset(_tbb_release_lib)
|
||||
unset(_tbb_debug_lib)
|
||||
@@ -0,0 +1,98 @@
|
||||
# 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.
|
||||
|
||||
# It defines the following variables:
|
||||
# TBB_<component>_FOUND
|
||||
# TBB_IMPORTED_TARGETS
|
||||
#
|
||||
# TBBConfigVersion.cmake defines TBB_VERSION
|
||||
#
|
||||
# Initialize to default values
|
||||
if (NOT TBB_IMPORTED_TARGETS)
|
||||
set(TBB_IMPORTED_TARGETS "")
|
||||
endif()
|
||||
|
||||
if (NOT TBB_FIND_COMPONENTS)
|
||||
set(TBB_FIND_COMPONENTS "@TBB_DEFAULT_COMPONENTS@")
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(TBB_FIND_REQUIRED_${_tbb_component} 1)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Add components with internal dependencies: tbbmalloc_proxy -> tbbmalloc
|
||||
list(FIND TBB_FIND_COMPONENTS tbbmalloc_proxy _tbbmalloc_proxy_ix)
|
||||
if (NOT _tbbmalloc_proxy_ix EQUAL -1)
|
||||
list(FIND TBB_FIND_COMPONENTS tbbmalloc _tbbmalloc_ix)
|
||||
if (_tbbmalloc_ix EQUAL -1)
|
||||
list(APPEND TBB_FIND_COMPONENTS tbbmalloc)
|
||||
set(TBB_FIND_REQUIRED_tbbmalloc ${TBB_FIND_REQUIRED_tbbmalloc_proxy})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(TBB_INTERFACE_VERSION @TBB_INTERFACE_VERSION@)
|
||||
|
||||
get_filename_component(_tbb_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
get_filename_component(_tbb_root "${_tbb_root}" PATH)
|
||||
@TBB_CHOOSE_ARCH_AND_COMPILER@
|
||||
foreach (_tbb_component ${TBB_FIND_COMPONENTS})
|
||||
set(TBB_${_tbb_component}_FOUND 0)
|
||||
|
||||
set(_tbb_release_lib "@TBB_RELEASE_LIB_PATH@/@TBB_LIB_PREFIX@${_tbb_component}.@TBB_LIB_EXT@")
|
||||
|
||||
if (NOT TBB_FIND_RELEASE_ONLY)
|
||||
set(_tbb_debug_lib "@TBB_DEBUG_LIB_PATH@/@TBB_LIB_PREFIX@${_tbb_component}_debug.@TBB_LIB_EXT@")
|
||||
endif()
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}" OR EXISTS "${_tbb_debug_lib}")
|
||||
if (NOT TARGET TBB::${_tbb_component})
|
||||
add_library(TBB::${_tbb_component} SHARED IMPORTED)
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${_tbb_root}/include"@TBB_COMPILE_DEFINITIONS@)
|
||||
|
||||
if (EXISTS "${_tbb_release_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_RELEASE "${_tbb_release_lib}"@TBB_IMPLIB_RELEASE@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
||||
endif()
|
||||
|
||||
if (EXISTS "${_tbb_debug_lib}")
|
||||
set_target_properties(TBB::${_tbb_component} PROPERTIES
|
||||
IMPORTED_LOCATION_DEBUG "${_tbb_debug_lib}"@TBB_IMPLIB_DEBUG@)
|
||||
set_property(TARGET TBB::${_tbb_component} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
|
||||
endif()
|
||||
|
||||
# Add internal dependencies for imported targets: TBB::tbbmalloc_proxy -> TBB::tbbmalloc
|
||||
if (_tbb_component STREQUAL tbbmalloc_proxy)
|
||||
set_target_properties(TBB::tbbmalloc_proxy PROPERTIES INTERFACE_LINK_LIBRARIES TBB::tbbmalloc)
|
||||
endif()
|
||||
endif()
|
||||
list(APPEND TBB_IMPORTED_TARGETS TBB::${_tbb_component})
|
||||
set(TBB_${_tbb_component}_FOUND 1)
|
||||
elseif (TBB_FIND_REQUIRED AND TBB_FIND_REQUIRED_${_tbb_component})
|
||||
message(STATUS "Missed required Intel TBB component: ${_tbb_component}")
|
||||
if (TBB_FIND_RELEASE_ONLY)
|
||||
message(STATUS " ${_tbb_release_lib} must exist.")
|
||||
else()
|
||||
message(STATUS " one or both of:\n ${_tbb_release_lib}\n ${_tbb_debug_lib}\n files must exist.")
|
||||
endif()
|
||||
set(TBB_FOUND FALSE)
|
||||
endif()
|
||||
endforeach()
|
||||
list(REMOVE_DUPLICATES TBB_IMPORTED_TARGETS)
|
||||
@TBB_UNSET_ADDITIONAL_VARIABLES@
|
||||
unset(_tbbmalloc_proxy_ix)
|
||||
unset(_tbbmalloc_ix)
|
||||
unset(_tbb_lib_path)
|
||||
unset(_tbb_release_lib)
|
||||
unset(_tbb_debug_lib)
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright (c) 2017 Intel Corporation
|
||||
# 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.
|
||||
@@ -11,10 +11,6 @@
|
||||
# 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.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
set(PACKAGE_VERSION @TBB_VERSION@)
|
||||
|
||||
|
||||
+51
-52
@@ -1,16 +1,23 @@
|
||||
------------------------------------------------------------------------
|
||||
Intel(R) Threading Building Blocks - Release Notes
|
||||
Version 2018
|
||||
Version 2020
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Intel(R) Threading Building Blocks (Intel(R) TBB) is planned to be
|
||||
improved through renewal and update with latest C++ standards to increase
|
||||
usability. Evaluation of some Intel(R) TBB features removal will be
|
||||
conducted in some future releases. Features under consideration are mapped
|
||||
to updated options as described in the 'TBB Revamp: Background,Changes,
|
||||
and Modernization'
|
||||
(see https://software.intel.com/en-us/articles/tbb-revamp).
|
||||
|
||||
System Requirements
|
||||
-------------------
|
||||
|
||||
Intel(R) Threading Building Blocks (Intel(R) TBB) is available
|
||||
commercially (see http://software.intel.com/en-us/intel-tbb) as a
|
||||
binary distribution, and in open source, in both source and binary
|
||||
forms (see http://threadingbuildingblocks.org).
|
||||
Intel(R) Threading Building Blocks is available commercially
|
||||
(see http://software.intel.com/en-us/intel-tbb) as a binary distribution,
|
||||
and in open source, in both source and binary forms
|
||||
(see https://github.com/intel/tbb).
|
||||
|
||||
When built from source, Intel(R) TBB is intended to be highly portable
|
||||
and so supports a wide variety of operating systems and platforms (see
|
||||
@@ -25,11 +32,9 @@ Hardware - Recommended
|
||||
Microsoft* Windows* Systems
|
||||
Intel(R) Core(TM) processor family
|
||||
Intel(R) Xeon(R) processor family
|
||||
Intel(R) Xeon Phi(TM) processor family
|
||||
Linux* Systems
|
||||
Intel(R) Core(TM) processor family
|
||||
Intel(R) Xeon(R) processor family
|
||||
Intel(R) Xeon Phi(TM) processor family
|
||||
macOS* Systems
|
||||
Intel(R) Core(TM) processor family
|
||||
Android* Systems
|
||||
@@ -37,8 +42,8 @@ Hardware - Recommended
|
||||
|
||||
Hardware - Supported
|
||||
|
||||
Intel(R) Pentium(R) 4 processor family
|
||||
Intel(R) Xeon Phi(TM) coprocessor
|
||||
Intel(R) Pentium(R) processor family
|
||||
Intel(R) Xeon Phi(TM) processor family
|
||||
Intel(R) Atom(TM) processor family
|
||||
Non Intel(R) processors compatible with the above processors
|
||||
|
||||
@@ -49,59 +54,53 @@ Software - Minimum Requirements
|
||||
|
||||
Software - Recommended
|
||||
|
||||
Intel(R) Parallel Studio XE 2017, 2018
|
||||
Intel(R) System Studio 2017, 2018
|
||||
Intel(R) Parallel Studio XE 2019, 2020
|
||||
Intel(R) System Studio 2019, 2020
|
||||
|
||||
Software - Supported Operating Systems
|
||||
|
||||
Systems with Microsoft* Windows* operating systems
|
||||
Microsoft* Windows* 10
|
||||
Microsoft* Windows* 8.1
|
||||
Microsoft* Windows* 7 SP1
|
||||
Microsoft* Windows* Server 2016
|
||||
Microsoft* Windows* Server 2012 R2
|
||||
Microsoft* Windows* Server 2008 R2 SP1
|
||||
Windows* Embedded 10
|
||||
Windows* Embedded 8.1
|
||||
Microsoft* Windows* Server 2019
|
||||
Systems with Linux* operating systems
|
||||
CentOS 7.1
|
||||
Debian* 8, 9
|
||||
Fedora* 24, 25
|
||||
CentOS* 7.1
|
||||
Debian* 9, 10
|
||||
Fedora* 30
|
||||
Intel(R) Cluster Ready
|
||||
Red Hat* Enterprise Linux* 6, 7
|
||||
SuSE* Linux* Enterprise Server 11, 12
|
||||
Ubuntu* 14.04 LTS, 16.04 LTS, 17.04
|
||||
WindRiver* Linux 8, 9
|
||||
Yocto 2.2, 2.3
|
||||
Red Hat* Enterprise Linux* 7, 8
|
||||
SuSE* Linux* Enterprise Server 12,15
|
||||
Ubuntu* 16.04 LTS, 18.04 LTS
|
||||
Ubuntu* 19.04
|
||||
WindRiver* Linux 9
|
||||
Yocto* 2.3
|
||||
Systems with OS X* or macOS* operating systems
|
||||
OS X* 10.10, 10.11
|
||||
macOS* 10.12
|
||||
macOS* 10.14, 10.15
|
||||
Systems with Android* operating systems
|
||||
Android* 5.x, 6.x, 7.x
|
||||
Android* 6.x, 7.x, 8.x, 9.x
|
||||
|
||||
Software - Supported Compilers
|
||||
|
||||
Intel(R) C++ Compiler 16, 17 and 18 version
|
||||
Microsoft* Visual C++ 12.0 (Microsoft* Visual Studio* 2013,
|
||||
Windows* OS only)
|
||||
Microsoft* Visual C++ 14.0 (Microsoft* Visual Studio* 2015,
|
||||
Windows* OS only)
|
||||
Intel(R) C++ Compiler 18, 19 and 19.1 version
|
||||
Microsoft* Visual C++ 14.1 (Microsoft* Visual Studio* 2017,
|
||||
Windows* OS only)
|
||||
Microsoft* Visual C++ 14.2 (Microsoft* Visual Studio* 2019,
|
||||
Windows* OS only)
|
||||
Microsoft* Windows* Software Development Kit for Windows* 8.1
|
||||
Microsoft* Windows* Software Development Kit for Windows* 10
|
||||
For each supported Linux* operating system, the standard gcc
|
||||
version provided with that operating system is supported
|
||||
GNU Compilers (gcc) 4.1 - 7.1
|
||||
GNU C Library (glibc) version 2.4 - 2.19
|
||||
Xcode* 6.3 - 8.3
|
||||
Android* NDK r10e - r15b
|
||||
GNU Compilers (gcc) 4.8 - 9.1
|
||||
GNU C Library (glibc) version 2.17 - 2.29
|
||||
Clang* 3.8 - 8.0
|
||||
Xcode* 8.x - 11.x
|
||||
Android* NDK r10e - r17b
|
||||
|
||||
Software - Supported Performance Analysis Tools
|
||||
|
||||
Intel(R) VTune(TM) Amplifier XE 2017, 2018.
|
||||
Intel(R) Inspector XE 2017, 2018.
|
||||
Intel(R) Advisor XE 2017, 2018.
|
||||
Intel(R) VTune(TM) Amplifier XE 2019, 2020
|
||||
Intel(R) Inspector XE 2019, 2020
|
||||
Intel(R) Advisor XE 2019, 2020
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
@@ -113,21 +112,21 @@ Reference for notes applicable to multiple releases of Intel(R) TBB.
|
||||
|
||||
Library Issues
|
||||
|
||||
- If you build Intel(R) TBB from sources with GCC 6, specify
|
||||
the -flifetime-dse=1 option to prevent crashes at runtime,
|
||||
or use Intel(R) TBB makefiles that automatically set this option.
|
||||
|
||||
- The current implementation of gfx_factory does not allow memory
|
||||
buffer objects to be used concurrently. As a result, several
|
||||
streaming nodes customized with gfx_factory cannot be connected
|
||||
with each other directly.
|
||||
- If you build Intel(R) TBB from sources with GCC 6 or higher,
|
||||
specify the -flifetime-dse=1 option to prevent crashes at
|
||||
runtime, or use Intel(R) TBB makefiles that automatically set
|
||||
this option.
|
||||
- The copy constructor of task_arena does not propagate arena
|
||||
constraints to the new task_arena object. For a workaround,
|
||||
explicitly call task_arena::initialize() with the desired
|
||||
constraints for the constructed object.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
(C) 2017 Intel Corporation
|
||||
(C) 2019 Intel Corporation
|
||||
|
||||
Intel, the Intel logo, Intel Core, Intel Atom, Xeon, Intel Xeon Phi and
|
||||
Pentium are trademarks of Intel Corporation in the U.S. and/or other
|
||||
countries.
|
||||
Intel, the Intel logo, Intel Core, Intel Atom, Celeron, Xeon,
|
||||
Intel Xeon Phi and Pentium are trademarks of Intel Corporation
|
||||
in the U.S. and/or other countries
|
||||
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2019 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,59 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on range concept</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00007.html">TBB concepts</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on range concept </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Class <code>R</code> implementing the concept of range must define:</p>
|
||||
<ul>
|
||||
<li><div class="fragment"><div class="line">R::R( <span class="keyword">const</span> R& ); </div>
|
||||
</div><!-- fragment --> Copy constructor</li>
|
||||
<li><div class="fragment"><div class="line">R::~R(); </div>
|
||||
</div><!-- fragment --> Destructor</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> R::is_divisible() <span class="keyword">const</span>; </div>
|
||||
</div><!-- fragment --> True if range can be partitioned into two subranges</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> R::empty() <span class="keyword">const</span>; </div>
|
||||
</div><!-- fragment --> True if range is empty</li>
|
||||
<li><div class="fragment"><div class="line">R::R( R& r, split ); </div>
|
||||
</div><!-- fragment --> Split range <code>r</code> into two subranges. </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,55 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on parallel_for body</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00007.html">TBB concepts</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on parallel_for body </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_for body must define:</p>
|
||||
<ul>
|
||||
<li><div class="fragment"><div class="line">Body::Body( <span class="keyword">const</span> Body& ); </div>
|
||||
</div><!-- fragment --> Copy constructor</li>
|
||||
<li><div class="fragment"><div class="line">Body::~Body(); </div>
|
||||
</div><!-- fragment --> Destructor</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( Range& r ) <span class="keyword">const</span>; </div>
|
||||
</div><!-- fragment --> Function call operator applying the body to range <code>r</code>. </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,57 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on parallel_reduce body</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00007.html">TBB concepts</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on parallel_reduce body </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_reduce body must define:</p>
|
||||
<ul>
|
||||
<li><div class="fragment"><div class="line">Body::Body( Body&, split ); </div>
|
||||
</div><!-- fragment --> Splitting constructor. Must be able to run concurrently with operator() and method <code>join</code> </li>
|
||||
<li><div class="fragment"><div class="line">Body::~Body(); </div>
|
||||
</div><!-- fragment --> Destructor</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( Range& r ); </div>
|
||||
</div><!-- fragment --> Function call operator applying body to range <code>r</code> and accumulating the result</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::join( Body& b ); </div>
|
||||
</div><!-- fragment --> Join results. The result in <code>b</code> should be merged into the result of <code>this</code> </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,43 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on parallel_reduce anonymous function objects (lambda functions)</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on parallel_reduce anonymous function objects (lambda functions) </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>TO BE DOCUMENTED </p>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,59 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on parallel_scan body</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00007.html">TBB concepts</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on parallel_scan body </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Class <code>Body</code> implementing the concept of parallel_scan body must define:</p>
|
||||
<ul>
|
||||
<li><div class="fragment"><div class="line">Body::Body( Body&, split ); </div>
|
||||
</div><!-- fragment --> Splitting constructor. Split <code>b</code> so that <code>this</code> and <code>b</code> can accumulate separately</li>
|
||||
<li><div class="fragment"><div class="line">Body::~Body(); </div>
|
||||
</div><!-- fragment --> Destructor</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, pre_scan_tag ); </div>
|
||||
</div><!-- fragment --> Preprocess iterations for range <code>r</code> </li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::operator()( <span class="keyword">const</span> Range& r, final_scan_tag ); </div>
|
||||
</div><!-- fragment --> Do final processing for iterations of range <code>r</code> </li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> Body::reverse_join( Body& a ); </div>
|
||||
</div><!-- fragment --> Merge preprocessing state of <code>a</code> into <code>this</code>, where <code>a</code> was created earlier from <code>b</code> by b's splitting constructor </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,53 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>Requirements on iterators for parallel_sort</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li><li class="navelem"><a class="el" href="a00007.html">TBB concepts</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Requirements on iterators for parallel_sort </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>Requirements on the iterator type <code>It</code> and its value type <code>T</code> for <code>parallel_sort:</code> </p>
|
||||
<ul>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">void</span> iter_swap( It a, It b ) </div>
|
||||
</div><!-- fragment --> Swaps the values of the elements the given iterators <code>a</code> and <code>b</code> are pointing to. <code>It</code> should be a random access iterator.</li>
|
||||
<li><div class="fragment"><div class="line"><span class="keywordtype">bool</span> Compare::operator()( <span class="keyword">const</span> T& x, <span class="keyword">const</span> T& y ) </div>
|
||||
</div><!-- fragment --> True if x comes before y; </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,57 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>TBB concepts</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="index.html">Main Page</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">TBB concepts </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p>A concept is a set of requirements to a type, which are necessary and sufficient for the type to model a particular behavior or a set of behaviors. Some concepts are specific to a particular algorithm (e.g. algorithm body), while other ones are common to several algorithms (e.g. range concept).</p>
|
||||
<p>All TBB algorithms make use of different classes implementing various concepts. Implementation classes are supplied by the user as type arguments of template parameters and/or as objects passed as function call arguments. The library provides predefined implementations of some concepts (e.g. several kinds of <a class="el" href="a00001.html">ranges</a>), while other ones must always be implemented by the user.</p>
|
||||
<p>TBB defines a set of minimal requirements each concept must conform to. Here is the list of different concepts hyperlinked to the corresponding requirements specifications:</p>
|
||||
<ul>
|
||||
<li><a class="el" href="a00001.html">Requirements on range concept</a></li>
|
||||
<li>parallel_do_body_req</li>
|
||||
<li><a class="el" href="a00002.html">Requirements on parallel_for body</a></li>
|
||||
<li><a class="el" href="a00003.html">Requirements on parallel_reduce body</a></li>
|
||||
<li><a class="el" href="a00005.html">Requirements on parallel_scan body</a></li>
|
||||
<li><a class="el" href="a00006.html">Requirements on iterators for parallel_sort</a> </li>
|
||||
</ul>
|
||||
</div></div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,54 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>__TBB_malloc_proxy_caller Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="a00264.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">__TBB_malloc_proxy_caller Struct Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>tbbmalloc_proxy.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,144 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="a00237.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00040.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00009.html">accessor</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="a00362.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Allows write access to elements and combines data access, locking, and garbage collection.
|
||||
<a href="a00009.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <concurrent_hash_map.h></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="a00009.png" usemap="#tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map" alt=""/>
|
||||
<map id="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map" name="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_map">
|
||||
<area href="a00051.html" title="Combines data access, locking, and garbage collection. " alt="tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor" shape="rect" coords="0,56,488,80"/>
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a850178bbdcdbc4cf5955cab37eb8c42c"></a>
|
||||
typedef <br class="typebreak"/>
|
||||
concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a850178bbdcdbc4cf5955cab37eb8c42c">value_type</a></td></tr>
|
||||
<tr class="memdesc:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br/></td></tr>
|
||||
<tr class="separator:a850178bbdcdbc4cf5955cab37eb8c42c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_types_a00051"><td colspan="2" onclick="javascript:toggleInherit('pub_types_a00051')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="a00051.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
|
||||
<tr class="memitem:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa8ca5aef4ee14b7eddb64767b8cd5fda"></a>
|
||||
typedef const <br class="typebreak"/>
|
||||
concurrent_hash_map::value_type </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#aa8ca5aef4ee14b7eddb64767b8cd5fda">value_type</a></td></tr>
|
||||
<tr class="memdesc:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Type of value. <br/></td></tr>
|
||||
<tr class="separator:aa8ca5aef4ee14b7eddb64767b8cd5fda inherit pub_types_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e03905a33fbdafdb99113cc68d2bd4b"></a>
|
||||
reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#a4e03905a33fbdafdb99113cc68d2bd4b">operator*</a> () const </td></tr>
|
||||
<tr class="memdesc:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br/></td></tr>
|
||||
<tr class="separator:a4e03905a33fbdafdb99113cc68d2bd4b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab04f73bd4a4ca7df0dc91a7b4d66f987"></a>
|
||||
pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00009.html#ab04f73bd4a4ca7df0dc91a7b4d66f987">operator-></a> () const </td></tr>
|
||||
<tr class="memdesc:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br/></td></tr>
|
||||
<tr class="separator:ab04f73bd4a4ca7df0dc91a7b4d66f987"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pub_methods_a00051"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00051')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="a00051.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
|
||||
<tr class="memitem:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6299b523d2ae8e2613f1bc160ca99b85"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a6299b523d2ae8e2613f1bc160ca99b85">empty</a> () const </td></tr>
|
||||
<tr class="memdesc:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">True if result is empty. <br/></td></tr>
|
||||
<tr class="separator:a6299b523d2ae8e2613f1bc160ca99b85 inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a18390cb369369d72bdf7c867755b5190"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a18390cb369369d72bdf7c867755b5190">release</a> ()</td></tr>
|
||||
<tr class="memdesc:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Set to null. <br/></td></tr>
|
||||
<tr class="separator:a18390cb369369d72bdf7c867755b5190 inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8adf04e33e7c8c876ba849f26807713a"></a>
|
||||
const_reference </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a8adf04e33e7c8c876ba849f26807713a">operator*</a> () const </td></tr>
|
||||
<tr class="memdesc:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Return reference to associated value in hash table. <br/></td></tr>
|
||||
<tr class="separator:a8adf04e33e7c8c876ba849f26807713a inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28fa9b9e6c35d7e80217e69a7afe1ee5"></a>
|
||||
const_pointer </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a28fa9b9e6c35d7e80217e69a7afe1ee5">operator-></a> () const </td></tr>
|
||||
<tr class="memdesc:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Return pointer to associated value in hash table. <br/></td></tr>
|
||||
<tr class="separator:a28fa9b9e6c35d7e80217e69a7afe1ee5 inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b26d22d228cf0d8678c9b346c63752c"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#a7b26d22d228cf0d8678c9b346c63752c">const_accessor</a> ()</td></tr>
|
||||
<tr class="memdesc:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Create empty result. <br/></td></tr>
|
||||
<tr class="separator:a7b26d22d228cf0d8678c9b346c63752c inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afbc0c85a146c912b9a0f94a7695957c7"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="a00051.html#afbc0c85a146c912b9a0f94a7695957c7">~const_accessor</a> ()</td></tr>
|
||||
<tr class="memdesc:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00051"><td class="mdescLeft"> </td><td class="mdescRight">Destroy result after releasing the underlying reference. <br/></td></tr>
|
||||
<tr class="separator:afbc0c85a146c912b9a0f94a7695957c7 inherit pub_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
<tr class="inherit_header pro_methods_a00051"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_a00051')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="a00051.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
|
||||
<tr class="memitem:a05b74d408d8cd7773f7b5edfef97da1b inherit pro_methods_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05b74d408d8cd7773f7b5edfef97da1b"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>is_writer</b> ()</td></tr>
|
||||
<tr class="separator:a05b74d408d8cd7773f7b5edfef97da1b inherit pro_methods_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="inherit_header pro_attribs_a00051"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_a00051')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="a00051.html">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor</a></td></tr>
|
||||
<tr class="memitem:ac9b96f45483ddbff95a95e8e666a8f28 inherit pro_attribs_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9b96f45483ddbff95a95e8e666a8f28"></a>
|
||||
<a class="el" href="a00087.html">node</a> * </td><td class="memItemRight" valign="bottom"><b>my_node</b></td></tr>
|
||||
<tr class="separator:ac9b96f45483ddbff95a95e8e666a8f28 inherit pro_attribs_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5034084f595666b47734f99a6eaefa9f inherit pro_attribs_a00051"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5034084f595666b47734f99a6eaefa9f"></a>
|
||||
hashcode_t </td><td class="memItemRight" valign="bottom"><b>my_hash</b></td></tr>
|
||||
<tr class="separator:a5034084f595666b47734f99a6eaefa9f inherit pro_attribs_a00051"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> >><br/>
|
||||
class tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor</h3>
|
||||
|
||||
<p>Allows write access to elements and combines data access, locking, and garbage collection. </p>
|
||||
</div><hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>concurrent_hash_map.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 KiB |
@@ -1,66 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used Struct Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="a00237.html">tbb</a></li><li class="navelem"><b>interface5</b></li><li class="navelem"><a class="el" href="a00040.html">concurrent_hash_map</a></li><li class="navelem"><a class="el" href="a00010.html">accessor_not_used</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="a00363.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used Struct Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a28b496c90f07e4557a6dfa5a8dd3f4e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28b496c90f07e4557a6dfa5a8dd3f4e1"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>release</b> ()</td></tr>
|
||||
<tr class="separator:a28b496c90f07e4557a6dfa5a8dd3f4e1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>concurrent_hash_map.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
@@ -1,125 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>tbb::interface6::aggregator Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="a00237.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00011.html">aggregator</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="a00382.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">tbb::interface6::aggregator Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Basic aggregator interface.
|
||||
<a href="a00011.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <aggregator.h></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for tbb::interface6::aggregator:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="a00011.png" usemap="#tbb::interface6::aggregator_map" alt=""/>
|
||||
<map id="tbb::interface6::aggregator_map" name="tbb::interface6::aggregator_map">
|
||||
<area href="a00012.html" alt="tbb::interface6::aggregator_ext< internal::basic_handler >" shape="rect" coords="0,0,335,24"/>
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memTemplParams" colspan="2">template<typename Body > </td></tr>
|
||||
<tr class="memitem:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00011.html#aa7cc924b6f0d17578d61fd9002f59f84">execute</a> (const Body &b)</td></tr>
|
||||
<tr class="memdesc:aa7cc924b6f0d17578d61fd9002f59f84"><td class="mdescLeft"> </td><td class="mdescRight">BASIC INTERFACE: Enter a function for exclusive execution by the aggregator. <a href="#aa7cc924b6f0d17578d61fd9002f59f84">More...</a><br/></td></tr>
|
||||
<tr class="separator:aa7cc924b6f0d17578d61fd9002f59f84"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
|
||||
Additional Inherited Members</h2></td></tr>
|
||||
<tr class="inherit_header pub_methods_a00012"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_a00012')"><img src="closed.png" alt="-"/> Private Member Functions inherited from <a class="el" href="a00012.html">tbb::interface6::aggregator_ext< internal::basic_handler ></a></td></tr>
|
||||
<tr class="memitem:a8ae120a21264cc1ea0a9cfafaa0634e4 inherit pub_methods_a00012"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ae120a21264cc1ea0a9cfafaa0634e4"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>aggregator_ext</b> (const <a class="el" href="a00023.html">internal::basic_handler</a> &h)</td></tr>
|
||||
<tr class="separator:a8ae120a21264cc1ea0a9cfafaa0634e4 inherit pub_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a> (<a class="el" href="a00013.html">aggregator_operation</a> *op)</td></tr>
|
||||
<tr class="memdesc:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="mdescLeft"> </td><td class="mdescRight">EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. <a href="#ae55b16ec6af204aa00d6a716fccec9f7">More...</a><br/></td></tr>
|
||||
<tr class="separator:ae55b16ec6af204aa00d6a716fccec9f7 inherit pub_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad376e5c31d10e885f33964592aa629d4 inherit pro_methods_a00012"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a> (<a class="el" href="a00013.html">aggregator_operation</a> &op)</td></tr>
|
||||
<tr class="separator:ad376e5c31d10e885f33964592aa629d4 inherit pro_methods_a00012"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Basic aggregator interface. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="aa7cc924b6f0d17578d61fd9002f59f84"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Body > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void tbb::interface6::aggregator::execute </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Body & </td>
|
||||
<td class="paramname"><em>b</em>)</td><td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>BASIC INTERFACE: Enter a function for exclusive execution by the aggregator. </p>
|
||||
<p>The calling thread stores the function object in a basic_operation and places the operation in the aggregator's mailbox </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>aggregator.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
@@ -1,151 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>tbb::interface6::aggregator_ext< handler_type > Class Template Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="a00237.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00012.html">aggregator_ext</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pro-methods">Protected Member Functions</a> |
|
||||
<a href="a00381.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">tbb::interface6::aggregator_ext< handler_type > Class Template Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Aggregator base class and expert interface.
|
||||
<a href="a00012.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <aggregator.h></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for tbb::interface6::aggregator_ext< handler_type >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="a00012.png" usemap="#tbb::interface6::aggregator_ext< handler_type >_map" alt=""/>
|
||||
<map id="tbb::interface6::aggregator_ext< handler_type >_map" name="tbb::interface6::aggregator_ext< handler_type >_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a8ae120a21264cc1ea0a9cfafaa0634e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ae120a21264cc1ea0a9cfafaa0634e4"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>aggregator_ext</b> (const handler_type &h)</td></tr>
|
||||
<tr class="separator:a8ae120a21264cc1ea0a9cfafaa0634e4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae55b16ec6af204aa00d6a716fccec9f7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ae55b16ec6af204aa00d6a716fccec9f7">process</a> (<a class="el" href="a00013.html">aggregator_operation</a> *op)</td></tr>
|
||||
<tr class="memdesc:ae55b16ec6af204aa00d6a716fccec9f7"><td class="mdescLeft"> </td><td class="mdescRight">EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. <a href="#ae55b16ec6af204aa00d6a716fccec9f7">More...</a><br/></td></tr>
|
||||
<tr class="separator:ae55b16ec6af204aa00d6a716fccec9f7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
||||
Protected Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ad376e5c31d10e885f33964592aa629d4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#ad376e5c31d10e885f33964592aa629d4">execute_impl</a> (<a class="el" href="a00013.html">aggregator_operation</a> &op)</td></tr>
|
||||
<tr class="separator:ad376e5c31d10e885f33964592aa629d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename handler_type><br/>
|
||||
class tbb::interface6::aggregator_ext< handler_type ></h3>
|
||||
|
||||
<p>Aggregator base class and expert interface. </p>
|
||||
<p>An aggregator for collecting operations coming from multiple sources and executing them serially on a single thread. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="ad376e5c31d10e885f33964592aa629d4"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename handler_type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void <a class="el" href="a00012.html">tbb::interface6::aggregator_ext</a>< handler_type >::execute_impl </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="a00013.html">aggregator_operation</a> & </td>
|
||||
<td class="paramname"><em>op</em>)</td><td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Place operation in mailbox, then either handle mailbox or wait for the operation to be completed by a different thread. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ae55b16ec6af204aa00d6a716fccec9f7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename handler_type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void <a class="el" href="a00012.html">tbb::interface6::aggregator_ext</a>< handler_type >::process </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="a00013.html">aggregator_operation</a> * </td>
|
||||
<td class="paramname"><em>op</em>)</td><td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. </p>
|
||||
<p>Details of user-made operations must be handled by user-provided handler </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>aggregator.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 843 B |
@@ -1,129 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.4"/>
|
||||
<title>tbb::interface6::aggregator_operation Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.4 -->
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="modules.html"><span>Modules</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="a00237.html">tbb</a></li><li class="navelem"><b>interface6</b></li><li class="navelem"><a class="el" href="a00013.html">aggregator_operation</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-types">Public Types</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#friends">Friends</a> |
|
||||
<a href="a00380.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">tbb::interface6::aggregator_operation Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for tbb::interface6::aggregator_operation:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="a00013.png" usemap="#tbb::interface6::aggregator_operation_map" alt=""/>
|
||||
<map id="tbb::interface6::aggregator_operation_map" name="tbb::interface6::aggregator_operation_map">
|
||||
<area href="a00025.html" alt="tbb::interface6::internal::basic_operation_base" shape="rect" coords="0,56,289,80"/>
|
||||
<area href="a00024.html" alt="tbb::interface6::internal::basic_operation< Body >" shape="rect" coords="0,112,289,136"/>
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:a855dc55cb1823ed4845f4ed6b0a87700"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><b>aggregator_operation_status</b> { <b>agg_waiting</b> =0,
|
||||
<b>agg_finished</b>
|
||||
}</td></tr>
|
||||
<tr class="separator:a855dc55cb1823ed4845f4ed6b0a87700"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:adc0e032aa604f1da85ffc7ec269b157f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc0e032aa604f1da85ffc7ec269b157f"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#adc0e032aa604f1da85ffc7ec269b157f">start</a> ()</td></tr>
|
||||
<tr class="memdesc:adc0e032aa604f1da85ffc7ec269b157f"><td class="mdescLeft"> </td><td class="mdescRight">Call start before handling this operation. <br/></td></tr>
|
||||
<tr class="separator:adc0e032aa604f1da85ffc7ec269b157f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac7edadfe74f475783f3b429904e7010a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ac7edadfe74f475783f3b429904e7010a">finish</a> ()</td></tr>
|
||||
<tr class="memdesc:ac7edadfe74f475783f3b429904e7010a"><td class="mdescLeft"> </td><td class="mdescRight">Call finish when done handling this operation. <a href="#ac7edadfe74f475783f3b429904e7010a">More...</a><br/></td></tr>
|
||||
<tr class="separator:ac7edadfe74f475783f3b429904e7010a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acbce3d13545770501b54df153bf1e690"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acbce3d13545770501b54df153bf1e690"></a>
|
||||
<a class="el" href="a00013.html">aggregator_operation</a> * </td><td class="memItemRight" valign="bottom"><b>next</b> ()</td></tr>
|
||||
<tr class="separator:acbce3d13545770501b54df153bf1e690"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a03cf9fad0ca21da61b83325a50e17d0b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03cf9fad0ca21da61b83325a50e17d0b"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>set_next</b> (<a class="el" href="a00013.html">aggregator_operation</a> *n)</td></tr>
|
||||
<tr class="separator:a03cf9fad0ca21da61b83325a50e17d0b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
|
||||
Friends</h2></td></tr>
|
||||
<tr class="memitem:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memTemplParams" colspan="2"><a class="anchor" id="a7f6e7d315f893b1b66d06ffdad12038e"></a>
|
||||
template<typename handler_type > </td></tr>
|
||||
<tr class="memitem:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memTemplItemLeft" align="right" valign="top">class </td><td class="memTemplItemRight" valign="bottom"><b>aggregator_ext</b></td></tr>
|
||||
<tr class="separator:a7f6e7d315f893b1b66d06ffdad12038e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="ac7edadfe74f475783f3b429904e7010a"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void tbb::interface6::aggregator_operation::finish </td>
|
||||
<td>(</td>
|
||||
<td class="paramname">)</td><td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Call finish when done handling this operation. </p>
|
||||
<p>The operation will be released to its originating thread, and possibly deleted. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>aggregator.h</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<hr>
|
||||
<p></p>
|
||||
Copyright © 2005-2017 Intel Corporation. All Rights Reserved.
|
||||
<p></p>
|
||||
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
||||
registered trademarks or trademarks of Intel Corporation or its
|
||||
subsidiaries in the United States and other countries.
|
||||
<p></p>
|
||||
* Other names and brands may be claimed as the property of others.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user