From 461d0f887fb993a78490da8eed54fe099e06b49c Mon Sep 17 00:00:00 2001
From: bangerth
Date: Fri, 19 Nov 2010 01:21:29 +0000
Subject: [PATCH] Add TBB 3.0 update 3 (commercially aligned open source
release).
git-svn-id: https://svn.dealii.org/trunk@22813 0785d39b-7218-0410-832d-ea1e28bc413d
---
deal.II/contrib/tbb/tbb30_104oss/CHANGES | 973 +++++
deal.II/contrib/tbb/tbb30_104oss/COPYING | 353 ++
deal.II/contrib/tbb/tbb30_104oss/Makefile | 84 +
deal.II/contrib/tbb/tbb30_104oss/README | 11 +
.../tbb/tbb30_104oss/build/AIX.gcc.inc | 85 +
.../contrib/tbb/tbb30_104oss/build/AIX.inc | 74 +
.../tbb/tbb30_104oss/build/FreeBSD.gcc.inc | 93 +
.../tbb/tbb30_104oss/build/FreeBSD.inc | 82 +
.../tbb/tbb30_104oss/build/Makefile.rml | 156 +
.../tbb/tbb30_104oss/build/Makefile.tbb | 127 +
.../tbb/tbb30_104oss/build/Makefile.tbbmalloc | 200 +
.../tbb/tbb30_104oss/build/Makefile.test | 290 ++
.../tbb/tbb30_104oss/build/SunOS.gcc.inc | 100 +
.../contrib/tbb/tbb30_104oss/build/SunOS.inc | 91 +
.../tbb/tbb30_104oss/build/SunOS.suncc.inc | 98 +
.../tbb/tbb30_104oss/build/codecov.txt | 7 +
.../contrib/tbb/tbb30_104oss/build/common.inc | 108 +
.../tbb/tbb30_104oss/build/common_rules.inc | 126 +
.../contrib/tbb/tbb30_104oss/build/detect.js | 129 +
.../tbb30_104oss/build/generate_tbbvars.bat | 74 +
.../tbb30_104oss/build/generate_tbbvars.sh | 76 +
.../contrib/tbb/tbb30_104oss/build/index.html | 230 ++
.../tbb/tbb30_104oss/build/linux.gcc.inc | 109 +
.../tbb/tbb30_104oss/build/linux.icc.inc | 103 +
.../contrib/tbb/tbb30_104oss/build/linux.inc | 122 +
.../tbb/tbb30_104oss/build/macos.gcc.inc | 90 +
.../tbb/tbb30_104oss/build/macos.icc.inc | 75 +
.../contrib/tbb/tbb30_104oss/build/macos.inc | 85 +
.../tbb/tbb30_104oss/build/suncc.map.pause | 1 +
.../tbb/tbb30_104oss/build/test_launcher.bat | 36 +
.../tbb/tbb30_104oss/build/test_launcher.sh | 42 +
.../tbb30_104oss/build/version_info_aix.sh | 42 +
.../tbb30_104oss/build/version_info_linux.sh | 42 +
.../tbb30_104oss/build/version_info_macos.sh | 39 +
.../tbb30_104oss/build/version_info_sunos.sh | 39 +
.../build/version_info_windows.js | 136 +
.../tbb30_104oss/build/vsproject/index.html | 31 +
.../tbb30_104oss/build/vsproject/makefile.sln | 100 +
.../tbb30_104oss/build/vsproject/tbb.vcproj | 506 +++
.../build/vsproject/tbbmalloc.vcproj | 452 +++
.../build/vsproject/tbbmalloc_proxy.vcproj | 206 +
.../build/vsproject/version_string.tmp | 1 +
.../tbb/tbb30_104oss/build/windows.cl.inc | 123 +
.../tbb/tbb30_104oss/build/windows.gcc.inc | 132 +
.../tbb/tbb30_104oss/build/windows.icl.inc | 151 +
.../tbb/tbb30_104oss/build/windows.inc | 102 +
.../tbb/tbb30_104oss/build/xbox360.cl.inc | 119 +
.../tbb/tbb30_104oss/build/xbox360.inc | 77 +
.../tbb/tbb30_104oss/doc/Release_Notes.txt | 146 +
.../tbb/tbb30_104oss/doc/html/a00001.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00002.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00003.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00004.html | 45 +
.../tbb/tbb30_104oss/doc/html/a00005.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00006.html | 43 +
.../tbb/tbb30_104oss/doc/html/a00007.html | 49 +
.../tbb/tbb30_104oss/doc/html/a00009.html | 35 +
.../tbb/tbb30_104oss/doc/html/a00011.html | 42 +
.../tbb/tbb30_104oss/doc/html/a00012.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00013.html | 95 +
.../tbb/tbb30_104oss/doc/html/a00015.html | 37 +
.../tbb/tbb30_104oss/doc/html/a00016.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00017.html | 39 +
.../tbb/tbb30_104oss/doc/html/a00018.html | 55 +
.../tbb/tbb30_104oss/doc/html/a00019.html | 59 +
.../tbb/tbb30_104oss/doc/html/a00021.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00026.html | 102 +
.../tbb/tbb30_104oss/doc/html/a00031.html | 66 +
.../tbb/tbb30_104oss/doc/html/a00034.html | 49 +
.../tbb/tbb30_104oss/doc/html/a00035.html | 39 +
.../tbb/tbb30_104oss/doc/html/a00036.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00037.html | 38 +
.../tbb/tbb30_104oss/doc/html/a00038.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00039.html | 40 +
.../tbb/tbb30_104oss/doc/html/a00040.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00041.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00042.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00043.html | 37 +
.../tbb/tbb30_104oss/doc/html/a00044.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00046.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00048.html | 38 +
.../tbb/tbb30_104oss/doc/html/a00049.html | 42 +
.../tbb/tbb30_104oss/doc/html/a00050.html | 47 +
.../tbb/tbb30_104oss/doc/html/a00051.html | 44 +
.../tbb/tbb30_104oss/doc/html/a00052.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00053.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00054.html | 38 +
.../tbb/tbb30_104oss/doc/html/a00055.html | 38 +
.../tbb/tbb30_104oss/doc/html/a00056.html | 39 +
.../tbb/tbb30_104oss/doc/html/a00057.html | 40 +
.../tbb/tbb30_104oss/doc/html/a00058.html | 46 +
.../tbb/tbb30_104oss/doc/html/a00059.html | 37 +
.../tbb/tbb30_104oss/doc/html/a00060.html | 37 +
.../tbb/tbb30_104oss/doc/html/a00061.html | 44 +
.../tbb/tbb30_104oss/doc/html/a00062.html | 39 +
.../tbb/tbb30_104oss/doc/html/a00063.html | 49 +
.../tbb/tbb30_104oss/doc/html/a00065.html | 35 +
.../tbb/tbb30_104oss/doc/html/a00067.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00068.html | 39 +
.../tbb/tbb30_104oss/doc/html/a00069.html | 42 +
.../tbb/tbb30_104oss/doc/html/a00070.html | 40 +
.../tbb/tbb30_104oss/doc/html/a00072.html | 32 +
.../tbb/tbb30_104oss/doc/html/a00073.html | 48 +
.../tbb/tbb30_104oss/doc/html/a00075.html | 84 +
.../tbb/tbb30_104oss/doc/html/a00076.html | 82 +
.../tbb/tbb30_104oss/doc/html/a00077.html | 40 +
.../tbb/tbb30_104oss/doc/html/a00084.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00086.html | 53 +
.../tbb/tbb30_104oss/doc/html/a00088.html | 35 +
.../tbb/tbb30_104oss/doc/html/a00090.html | 44 +
.../tbb/tbb30_104oss/doc/html/a00092.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00094.html | 34 +
.../tbb/tbb30_104oss/doc/html/a00095.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00096.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00097.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00098.html | 38 +
.../tbb/tbb30_104oss/doc/html/a00099.html | 44 +
.../tbb/tbb30_104oss/doc/html/a00100.html | 45 +
.../tbb/tbb30_104oss/doc/html/a00101.html | 37 +
.../tbb/tbb30_104oss/doc/html/a00102.html | 36 +
.../tbb/tbb30_104oss/doc/html/a00109.html | 33 +
.../tbb/tbb30_104oss/doc/html/a00115.html | 35 +
.../tbb/tbb30_104oss/doc/html/a00116.html | 41 +
.../tbb/tbb30_104oss/doc/html/a00145.html | 62 +
.../tbb/tbb30_104oss/doc/html/a00146.html | 63 +
.../tbb/tbb30_104oss/doc/html/a00147.html | 61 +
.../tbb/tbb30_104oss/doc/html/a00148.html | 56 +
.../tbb/tbb30_104oss/doc/html/a00149.html | 59 +
.../tbb/tbb30_104oss/doc/html/a00150.html | 64 +
.../tbb/tbb30_104oss/doc/html/a00151.html | 50 +
.../tbb/tbb30_104oss/doc/html/a00152.html | 224 ++
.../tbb/tbb30_104oss/doc/html/a00153.html | 86 +
.../tbb/tbb30_104oss/doc/html/a00154.html | 93 +
.../tbb/tbb30_104oss/doc/html/a00155.html | 114 +
.../tbb/tbb30_104oss/doc/html/a00156.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00157.html | 157 +
.../tbb/tbb30_104oss/doc/html/a00157.png | Bin 0 -> 472 bytes
.../tbb/tbb30_104oss/doc/html/a00158.html | 84 +
.../tbb/tbb30_104oss/doc/html/a00159.html | 306 ++
.../tbb/tbb30_104oss/doc/html/a00159.png | Bin 0 -> 731 bytes
.../tbb/tbb30_104oss/doc/html/a00160.html | 646 ++++
.../tbb/tbb30_104oss/doc/html/a00161.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00161.png | Bin 0 -> 1379 bytes
.../tbb/tbb30_104oss/doc/html/a00162.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00163.html | 91 +
.../tbb/tbb30_104oss/doc/html/a00163.png | Bin 0 -> 1385 bytes
.../tbb/tbb30_104oss/doc/html/a00164.html | 169 +
.../tbb/tbb30_104oss/doc/html/a00165.html | 154 +
.../tbb/tbb30_104oss/doc/html/a00165.png | Bin 0 -> 720 bytes
.../tbb/tbb30_104oss/doc/html/a00166.html | 596 +++
.../tbb/tbb30_104oss/doc/html/a00167.html | 54 +
.../tbb/tbb30_104oss/doc/html/a00167.png | Bin 0 -> 387 bytes
.../tbb/tbb30_104oss/doc/html/a00168.html | 197 +
.../tbb/tbb30_104oss/doc/html/a00169.html | 156 +
.../tbb/tbb30_104oss/doc/html/a00169.png | Bin 0 -> 433 bytes
.../tbb/tbb30_104oss/doc/html/a00170.html | 76 +
.../tbb/tbb30_104oss/doc/html/a00171.html | 53 +
.../tbb/tbb30_104oss/doc/html/a00172.html | 54 +
.../tbb/tbb30_104oss/doc/html/a00173.html | 50 +
.../tbb/tbb30_104oss/doc/html/a00174.html | 50 +
.../tbb/tbb30_104oss/doc/html/a00175.html | 50 +
.../tbb/tbb30_104oss/doc/html/a00176.html | 171 +
.../tbb/tbb30_104oss/doc/html/a00176.png | Bin 0 -> 604 bytes
.../tbb/tbb30_104oss/doc/html/a00177.html | 136 +
.../tbb/tbb30_104oss/doc/html/a00178.html | 77 +
.../tbb/tbb30_104oss/doc/html/a00179.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00180.html | 59 +
.../tbb/tbb30_104oss/doc/html/a00181.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00182.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00183.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00184.html | 140 +
.../tbb/tbb30_104oss/doc/html/a00185.html | 111 +
.../tbb/tbb30_104oss/doc/html/a00186.html | 53 +
.../tbb/tbb30_104oss/doc/html/a00187.html | 75 +
.../tbb/tbb30_104oss/doc/html/a00188.html | 94 +
.../tbb/tbb30_104oss/doc/html/a00189.html | 81 +
.../tbb/tbb30_104oss/doc/html/a00190.html | 123 +
.../tbb/tbb30_104oss/doc/html/a00191.html | 221 ++
.../tbb/tbb30_104oss/doc/html/a00192.html | 67 +
.../tbb/tbb30_104oss/doc/html/a00193.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00194.html | 118 +
.../tbb/tbb30_104oss/doc/html/a00195.html | 77 +
.../tbb/tbb30_104oss/doc/html/a00196.html | 112 +
.../tbb/tbb30_104oss/doc/html/a00197.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00198.html | 64 +
.../tbb/tbb30_104oss/doc/html/a00199.html | 131 +
.../tbb/tbb30_104oss/doc/html/a00200.html | 97 +
.../tbb/tbb30_104oss/doc/html/a00201.html | 133 +
.../tbb/tbb30_104oss/doc/html/a00202.html | 123 +
.../tbb/tbb30_104oss/doc/html/a00203.html | 51 +
.../tbb/tbb30_104oss/doc/html/a00204.html | 536 +++
.../tbb/tbb30_104oss/doc/html/a00204.png | Bin 0 -> 393 bytes
.../tbb/tbb30_104oss/doc/html/a00205.html | 48 +
.../tbb/tbb30_104oss/doc/html/a00206.html | 231 ++
.../tbb/tbb30_104oss/doc/html/a00207.html | 83 +
.../tbb/tbb30_104oss/doc/html/a00208.html | 164 +
.../tbb/tbb30_104oss/doc/html/a00209.html | 130 +
.../tbb/tbb30_104oss/doc/html/a00210.html | 65 +
.../tbb/tbb30_104oss/doc/html/a00211.html | 168 +
.../tbb/tbb30_104oss/doc/html/a00211.png | Bin 0 -> 894 bytes
.../tbb/tbb30_104oss/doc/html/a00212.html | 89 +
.../tbb/tbb30_104oss/doc/html/a00213.html | 56 +
.../tbb/tbb30_104oss/doc/html/a00214.html | 123 +
.../tbb/tbb30_104oss/doc/html/a00214.png | Bin 0 -> 426 bytes
.../tbb/tbb30_104oss/doc/html/a00215.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00216.html | 83 +
.../tbb/tbb30_104oss/doc/html/a00217.html | 55 +
.../tbb/tbb30_104oss/doc/html/a00218.html | 93 +
.../tbb/tbb30_104oss/doc/html/a00219.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00253.html | 77 +
.../tbb/tbb30_104oss/doc/html/a00272.html | 668 ++++
.../tbb/tbb30_104oss/doc/html/a00279.html | 61 +
.../tbb/tbb30_104oss/doc/html/a00280.html | 344 ++
.../tbb/tbb30_104oss/doc/html/a00281.html | 50 +
.../tbb/tbb30_104oss/doc/html/a00282.html | 313 ++
.../tbb/tbb30_104oss/doc/html/a00283.html | 59 +
.../tbb/tbb30_104oss/doc/html/a00284.html | 32 +
.../tbb/tbb30_104oss/doc/html/a00285.html | 44 +
.../tbb/tbb30_104oss/doc/html/a00286.html | 939 +++++
.../tbb/tbb30_104oss/doc/html/a00304.html | 1414 +++++++
.../tbb/tbb30_104oss/doc/html/a00314.html | 103 +
.../tbb/tbb30_104oss/doc/html/a00316.html | 73 +
.../tbb/tbb30_104oss/doc/html/a00317.html | 367 ++
.../tbb/tbb30_104oss/doc/html/a00325.html | 127 +
.../tbb/tbb30_104oss/doc/html/a00326.html | 113 +
.../tbb/tbb30_104oss/doc/html/a00327.html | 131 +
.../tbb/tbb30_104oss/doc/html/a00328.html | 140 +
.../tbb/tbb30_104oss/doc/html/a00330.html | 98 +
.../tbb/tbb30_104oss/doc/html/a00331.html | 1284 +++++++
.../tbb/tbb30_104oss/doc/html/a00341.html | 365 ++
.../tbb/tbb30_104oss/doc/html/a00342.html | 263 ++
.../tbb/tbb30_104oss/doc/html/a00347.html | 924 +++++
.../tbb/tbb30_104oss/doc/html/a00356.html | 163 +
.../tbb/tbb30_104oss/doc/html/a00359.html | 968 +++++
.../tbb/tbb30_104oss/doc/html/a00372.html | 240 ++
.../tbb/tbb30_104oss/doc/html/a00374.html | 81 +
.../tbb/tbb30_104oss/doc/html/a00375.html | 83 +
.../tbb/tbb30_104oss/doc/html/a00376.html | 480 +++
.../tbb/tbb30_104oss/doc/html/a00385.html | 234 ++
.../tbb/tbb30_104oss/doc/html/a00389.html | 92 +
.../tbb/tbb30_104oss/doc/html/a00391.html | 374 ++
.../tbb/tbb30_104oss/doc/html/a00397.html | 360 ++
.../tbb/tbb30_104oss/doc/html/a00401.html | 341 ++
.../tbb/tbb30_104oss/doc/html/a00406.html | 225 ++
.../tbb/tbb30_104oss/doc/html/a00410.html | 196 +
.../tbb/tbb30_104oss/doc/html/a00414.html | 232 ++
.../tbb/tbb30_104oss/doc/html/a00419.html | 511 +++
.../tbb/tbb30_104oss/doc/html/a00431.html | 136 +
.../tbb/tbb30_104oss/doc/html/a00432.html | 168 +
.../tbb/tbb30_104oss/doc/html/a00433.html | 179 +
.../tbb/tbb30_104oss/doc/html/a00434.html | 241 ++
.../tbb/tbb30_104oss/doc/html/a00435.html | 199 +
.../tbb/tbb30_104oss/doc/html/a00436.html | 192 +
.../tbb/tbb30_104oss/doc/html/a00437.html | 217 ++
.../tbb/tbb30_104oss/doc/html/a00438.html | 649 ++++
.../tbb/tbb30_104oss/doc/html/a00447.html | 270 ++
.../tbb/tbb30_104oss/doc/html/a00454.html | 99 +
.../tbb/tbb30_104oss/doc/html/a00455.html | 90 +
.../tbb/tbb30_104oss/doc/html/a00457.html | 94 +
.../tbb/tbb30_104oss/doc/html/a00458.html | 212 ++
.../tbb/tbb30_104oss/doc/html/a00462.html | 206 +
.../tbb/tbb30_104oss/doc/html/a00463.html | 68 +
.../tbb/tbb30_104oss/doc/html/a00464.html | 318 ++
.../tbb/tbb30_104oss/doc/html/a00465.html | 692 ++++
.../tbb/tbb30_104oss/doc/html/a00470.html | 125 +
.../tbb/tbb30_104oss/doc/html/a00471.html | 260 ++
.../tbb/tbb30_104oss/doc/html/a00478.html | 297 ++
.../tbb/tbb30_104oss/doc/html/a00486.html | 96 +
.../tbb/tbb30_104oss/doc/html/a00488.html | 164 +
.../tbb/tbb30_104oss/doc/html/annotated.html | 108 +
.../tbb/tbb30_104oss/doc/html/concepts.html | 31 +
.../tbb/tbb30_104oss/doc/html/deprecated.html | 29 +
.../tbb/tbb30_104oss/doc/html/doxygen.css | 358 ++
.../tbb/tbb30_104oss/doc/html/doxygen.png | Bin 0 -> 1281 bytes
.../tbb/tbb30_104oss/doc/html/files.html | 83 +
.../tbb/tbb30_104oss/doc/html/functions.html | 309 ++
.../tbb30_104oss/doc/html/functions_enum.html | 49 +
.../tbb30_104oss/doc/html/functions_eval.html | 52 +
.../tbb30_104oss/doc/html/functions_func.html | 281 ++
.../tbb30_104oss/doc/html/functions_rela.html | 49 +
.../tbb30_104oss/doc/html/functions_type.html | 57 +
.../tbb30_104oss/doc/html/functions_vars.html | 49 +
.../tbb/tbb30_104oss/doc/html/globals.html | 49 +
.../tbb30_104oss/doc/html/globals_func.html | 49 +
.../tbb/tbb30_104oss/doc/html/hierarchy.html | 119 +
.../tbb/tbb30_104oss/doc/html/index.html | 32 +
.../tbb/tbb30_104oss/doc/html/modules.html | 33 +
.../doc/html/namespacemembers.html | 60 +
.../doc/html/namespacemembers_enum.html | 45 +
.../doc/html/namespacemembers_eval.html | 46 +
.../doc/html/namespacemembers_func.html | 54 +
.../doc/html/namespacemembers_type.html | 44 +
.../tbb/tbb30_104oss/doc/html/namespaces.html | 34 +
.../tbb/tbb30_104oss/doc/html/pages.html | 31 +
.../doc/html/parallel_do_body_req.html | 38 +
.../doc/html/parallel_for_body_req.html | 30 +
.../doc/html/parallel_reduce_body_req.html | 31 +
.../doc/html/parallel_reduce_lambda_req.html | 25 +
.../doc/html/parallel_scan_body_req.html | 32 +
.../doc/html/parallel_sort_iter_req.html | 29 +
.../tbb/tbb30_104oss/doc/html/range_req.html | 32 +
.../tbb/tbb30_104oss/doc/html/tab_b.gif | Bin 0 -> 35 bytes
.../tbb/tbb30_104oss/doc/html/tab_l.gif | Bin 0 -> 706 bytes
.../tbb/tbb30_104oss/doc/html/tab_r.gif | Bin 0 -> 2585 bytes
.../tbb/tbb30_104oss/doc/html/tabs.css | 102 +
.../tbb/tbb30_104oss/include/index.html | 24 +
.../include/tbb/_concurrent_queue_internal.h | 1016 +++++
.../tbb/_concurrent_unordered_internal.h | 1408 +++++++
.../tbb30_104oss/include/tbb/_tbb_windef.h | 81 +
.../tbb30_104oss/include/tbb/aligned_space.h | 55 +
.../tbb/tbb30_104oss/include/tbb/atomic.h | 363 ++
.../tbb30_104oss/include/tbb/blocked_range.h | 129 +
.../include/tbb/blocked_range2d.h | 97 +
.../include/tbb/blocked_range3d.h | 116 +
.../include/tbb/cache_aligned_allocator.h | 133 +
.../tbb/tbb30_104oss/include/tbb/combinable.h | 80 +
.../include/tbb/compat/condition_variable | 459 +++
.../tbb/tbb30_104oss/include/tbb/compat/ppl.h | 68 +
.../tbb30_104oss/include/tbb/compat/thread | 54 +
.../include/tbb/concurrent_hash_map.h | 1406 +++++++
.../include/tbb/concurrent_queue.h | 413 ++
.../include/tbb/concurrent_unordered_map.h | 241 ++
.../include/tbb/concurrent_vector.h | 1060 ++++++
.../include/tbb/critical_section.h | 141 +
.../include/tbb/enumerable_thread_specific.h | 999 +++++
.../tbb/tbb30_104oss/include/tbb/index.html | 28 +
.../include/tbb/machine/ibm_aix51.h | 60 +
.../include/tbb/machine/linux_common.h | 91 +
.../include/tbb/machine/linux_ia32.h | 216 ++
.../include/tbb/machine/linux_ia64.h | 170 +
.../include/tbb/machine/linux_intel64.h | 143 +
.../include/tbb/machine/mac_ppc.h | 82 +
.../include/tbb/machine/macos_common.h | 126 +
.../include/tbb/machine/sunos_sparc.h | 228 ++
.../include/tbb/machine/windows_api.h | 56 +
.../include/tbb/machine/windows_ia32.h | 200 +
.../include/tbb/machine/windows_intel64.h | 132 +
.../include/tbb/machine/xbox360_ppc.h | 121 +
.../tbb/tbb30_104oss/include/tbb/mutex.h | 240 ++
.../tbb/tbb30_104oss/include/tbb/null_mutex.h | 63 +
.../tbb30_104oss/include/tbb/null_rw_mutex.h | 65 +
.../tbb30_104oss/include/tbb/parallel_do.h | 508 +++
.../tbb30_104oss/include/tbb/parallel_for.h | 241 ++
.../include/tbb/parallel_for_each.h | 77 +
.../include/tbb/parallel_invoke.h | 359 ++
.../include/tbb/parallel_reduce.h | 387 ++
.../tbb30_104oss/include/tbb/parallel_scan.h | 351 ++
.../tbb30_104oss/include/tbb/parallel_sort.h | 227 ++
.../tbb30_104oss/include/tbb/parallel_while.h | 194 +
.../tbb30_104oss/include/tbb/partitioner.h | 228 ++
.../tbb/tbb30_104oss/include/tbb/pipeline.h | 559 +++
.../tbb30_104oss/include/tbb/queuing_mutex.h | 131 +
.../include/tbb/queuing_rw_mutex.h | 173 +
.../include/tbb/reader_writer_lock.h | 240 ++
.../include/tbb/recursive_mutex.h | 240 ++
.../include/tbb/scalable_allocator.h | 205 +
.../tbb/tbb30_104oss/include/tbb/spin_mutex.h | 192 +
.../tbb30_104oss/include/tbb/spin_rw_mutex.h | 228 ++
.../tbb/tbb30_104oss/include/tbb/task.h | 838 +++++
.../tbb/tbb30_104oss/include/tbb/task_group.h | 248 ++
.../include/tbb/task_scheduler_init.h | 106 +
.../include/tbb/task_scheduler_observer.h | 74 +
.../tbb/tbb30_104oss/include/tbb/tbb.h | 80 +
.../tbb30_104oss/include/tbb/tbb_allocator.h | 214 ++
.../tbb/tbb30_104oss/include/tbb/tbb_config.h | 208 +
.../tbb30_104oss/include/tbb/tbb_exception.h | 362 ++
.../tbb30_104oss/include/tbb/tbb_machine.h | 691 ++++
.../tbb30_104oss/include/tbb/tbb_profiling.h | 105 +
.../tbb/tbb30_104oss/include/tbb/tbb_stddef.h | 334 ++
.../tbb/tbb30_104oss/include/tbb/tbb_thread.h | 293 ++
.../include/tbb/tbbmalloc_proxy.h | 74 +
.../tbb/tbb30_104oss/include/tbb/tick_count.h | 155 +
deal.II/contrib/tbb/tbb30_104oss/index.html | 44 +
deal.II/contrib/tbb/tbb30_104oss/src/Makefile | 205 +
.../contrib/tbb/tbb30_104oss/src/index.html | 77 +
.../src/old/concurrent_queue_v2.cpp | 382 ++
.../src/old/concurrent_queue_v2.h | 328 ++
.../src/old/concurrent_vector_v2.cpp | 277 ++
.../src/old/concurrent_vector_v2.h | 522 +++
.../tbb30_104oss/src/old/spin_rw_mutex_v2.cpp | 166 +
.../tbb30_104oss/src/old/spin_rw_mutex_v2.h | 185 +
.../tbb/tbb30_104oss/src/old/task_v2.cpp | 46 +
.../src/old/test_concurrent_queue_v2.cpp | 356 ++
.../src/old/test_concurrent_vector_v2.cpp | 565 +++
.../tbb30_104oss/src/old/test_mutex_v2.cpp | 268 ++
.../src/perf/fibonacci_cutoff.cpp | 134 +
.../src/perf/fibonacci_impl_tbb.cpp | 86 +
.../tbb/tbb30_104oss/src/perf/perf.cpp | 859 +++++
.../contrib/tbb/tbb30_104oss/src/perf/perf.h | 265 ++
.../tbb/tbb30_104oss/src/perf/perf_sched.cpp | 423 +++
.../tbb30_104oss/src/perf/run_statistics.sh | 40 +
.../tbb/tbb30_104oss/src/perf/statistics.cpp | 452 +++
.../tbb/tbb30_104oss/src/perf/statistics.h | 194 +
.../tbb30_104oss/src/perf/statistics_xml.h | 208 +
.../tbb30_104oss/src/perf/time_framework.h | 359 ++
.../tbb30_104oss/src/perf/time_hash_map.cpp | 268 ++
.../src/perf/time_hash_map_fill.cpp | 170 +
.../src/perf/time_locked_work.cpp | 174 +
.../tbb/tbb30_104oss/src/perf/time_sandbox.h | 179 +
.../tbb/tbb30_104oss/src/perf/time_vector.cpp | 257 ++
.../tbb30_104oss/src/rml/client/index.html | 43 +
.../src/rml/client/library_assert.h | 41 +
.../src/rml/client/omp_dynamic_link.cpp | 32 +
.../src/rml/client/omp_dynamic_link.h | 37 +
.../tbb30_104oss/src/rml/client/rml_factory.h | 111 +
.../tbb30_104oss/src/rml/client/rml_omp.cpp | 44 +
.../tbb30_104oss/src/rml/client/rml_tbb.cpp | 46 +
.../tbb30_104oss/src/rml/include/index.html | 30 +
.../tbb30_104oss/src/rml/include/rml_base.h | 196 +
.../tbb30_104oss/src/rml/include/rml_omp.h | 138 +
.../tbb30_104oss/src/rml/include/rml_tbb.h | 108 +
.../tbb/tbb30_104oss/src/rml/index.html | 32 +
.../src/rml/perfor/omp_nested.cpp | 152 +
.../src/rml/perfor/omp_simple.cpp | 168 +
.../src/rml/perfor/tbb_multi_omp.cpp | 194 +
.../src/rml/perfor/tbb_simple.cpp | 199 +
.../src/rml/perfor/thread_level.h | 142 +
.../tbb30_104oss/src/rml/server/index.html | 19 +
.../tbb/tbb30_104oss/src/rml/server/irml.rc | 126 +
.../src/rml/server/job_automaton.h | 153 +
.../src/rml/server/lin-rml-export.def | 38 +
.../src/rml/server/rml_server.cpp | 3330 +++++++++++++++++
.../src/rml/server/thread_monitor.h | 256 ++
.../src/rml/server/wait_counter.h | 81 +
.../src/rml/server/win32-rml-export.def | 35 +
.../src/rml/server/win64-rml-export.def | 35 +
.../src/rml/test/rml_omp_stub.cpp | 71 +
.../src/rml/test/test_job_automaton.cpp | 153 +
.../src/rml/test/test_rml_mixed.cpp | 253 ++
.../src/rml/test/test_rml_omp.cpp | 196 +
.../src/rml/test/test_rml_omp_c_linkage.c | 34 +
.../src/rml/test/test_rml_tbb.cpp | 201 +
.../tbb30_104oss/src/rml/test/test_server.h | 452 +++
.../src/rml/test/test_thread_monitor.cpp | 118 +
.../tbb/tbb30_104oss/src/tbb/arena.cpp | 442 +++
.../contrib/tbb/tbb30_104oss/src/tbb/arena.h | 504 +++
.../src/tbb/cache_aligned_allocator.cpp | 277 ++
.../tbb30_104oss/src/tbb/cilk-tbb-interop.h | 120 +
.../src/tbb/concurrent_hash_map.cpp | 66 +
.../src/tbb/concurrent_monitor.cpp | 109 +
.../tbb30_104oss/src/tbb/concurrent_monitor.h | 203 +
.../tbb30_104oss/src/tbb/concurrent_queue.cpp | 613 +++
.../src/tbb/concurrent_vector.cpp | 603 +++
.../src/tbb/condition_variable.cpp | 213 ++
.../tbb30_104oss/src/tbb/critical_section.cpp | 39 +
.../tbb30_104oss/src/tbb/custom_scheduler.h | 485 +++
.../tbb/tbb30_104oss/src/tbb/dynamic_link.cpp | 138 +
.../tbb/tbb30_104oss/src/tbb/dynamic_link.h | 102 +
.../tbb/tbb30_104oss/src/tbb/governor.cpp | 340 ++
.../tbb/tbb30_104oss/src/tbb/governor.h | 197 +
.../src/tbb/ia32-masm/atomic_support.asm | 196 +
.../src/tbb/ia32-masm/lock_byte.asm | 46 +
.../src/tbb/ia64-gas/atomic_support.s | 678 ++++
.../tbb30_104oss/src/tbb/ia64-gas/ia64_misc.s | 35 +
.../tbb30_104oss/src/tbb/ia64-gas/lock_byte.s | 54 +
.../tbb/tbb30_104oss/src/tbb/ia64-gas/log2.s | 67 +
.../tbb/tbb30_104oss/src/tbb/ia64-gas/pause.s | 41 +
.../src/tbb/ibm_aix51/atomic_support.c | 55 +
.../tbb/tbb30_104oss/src/tbb/index.html | 32 +
.../src/tbb/intel64-masm/atomic_support.asm | 80 +
.../tbb/tbb30_104oss/src/tbb/intrusive_list.h | 255 ++
.../tbb/tbb30_104oss/src/tbb/itt_notify.cpp | 80 +
.../tbb/tbb30_104oss/src/tbb/itt_notify.h | 126 +
.../tbb30_104oss/src/tbb/lin32-tbb-export.def | 375 ++
.../tbb30_104oss/src/tbb/lin64-tbb-export.def | 357 ++
.../src/tbb/lin64ipf-tbb-export.def | 401 ++
.../tbb30_104oss/src/tbb/mac32-tbb-export.def | 343 ++
.../tbb30_104oss/src/tbb/mac64-tbb-export.def | 339 ++
.../tbb/tbb30_104oss/src/tbb/mailbox.h | 191 +
.../tbb/tbb30_104oss/src/tbb/market.cpp | 304 ++
.../contrib/tbb/tbb30_104oss/src/tbb/market.h | 210 ++
.../tbb/tbb30_104oss/src/tbb/mutex.cpp | 148 +
.../tbb30_104oss/src/tbb/observer_proxy.cpp | 237 ++
.../tbb/tbb30_104oss/src/tbb/observer_proxy.h | 69 +
.../tbb/tbb30_104oss/src/tbb/pipeline.cpp | 748 ++++
.../tbb30_104oss/src/tbb/private_server.cpp | 388 ++
.../tbb30_104oss/src/tbb/queuing_mutex.cpp | 117 +
.../tbb30_104oss/src/tbb/queuing_rw_mutex.cpp | 505 +++
.../src/tbb/reader_writer_lock.cpp | 356 ++
.../tbb30_104oss/src/tbb/recursive_mutex.cpp | 143 +
.../tbb/tbb30_104oss/src/tbb/scheduler.cpp | 1176 ++++++
.../tbb/tbb30_104oss/src/tbb/scheduler.h | 556 +++
.../tbb30_104oss/src/tbb/scheduler_common.h | 192 +
.../tbb30_104oss/src/tbb/scheduler_utility.h | 141 +
.../tbb/tbb30_104oss/src/tbb/semaphore.h | 132 +
.../tbb/tbb30_104oss/src/tbb/spin_mutex.cpp | 68 +
.../tbb30_104oss/src/tbb/spin_rw_mutex.cpp | 174 +
.../contrib/tbb/tbb30_104oss/src/tbb/task.cpp | 278 ++
.../src/tbb/task_group_context.cpp | 279 ++
.../tbb/tbb30_104oss/src/tbb/task_stream.h | 170 +
.../tbb30_104oss/src/tbb/tbb_assert_impl.h | 101 +
.../tbb/tbb30_104oss/src/tbb/tbb_main.cpp | 253 ++
.../tbb/tbb30_104oss/src/tbb/tbb_main.h | 106 +
.../tbb/tbb30_104oss/src/tbb/tbb_misc.cpp | 230 ++
.../tbb/tbb30_104oss/src/tbb/tbb_misc.h | 161 +
.../tbb/tbb30_104oss/src/tbb/tbb_resource.rc | 126 +
.../tbb30_104oss/src/tbb/tbb_statistics.cpp | 174 +
.../tbb/tbb30_104oss/src/tbb/tbb_statistics.h | 204 +
.../tbb/tbb30_104oss/src/tbb/tbb_thread.cpp | 172 +
.../tbb/tbb30_104oss/src/tbb/tbb_version.h | 101 +
.../contrib/tbb/tbb30_104oss/src/tbb/tls.h | 119 +
.../src/tbb/tools_api/disable_warnings.h | 47 +
.../src/tbb/tools_api/internal/ittnotify.h | 661 ++++
.../src/tbb/tools_api/ittnotify.h | 1409 +++++++
.../src/tbb/tools_api/ittnotify_config.h | 105 +
.../src/tbb/tools_api/ittnotify_static.c | 640 ++++
.../src/tbb/tools_api/ittnotify_static.h | 231 ++
.../src/tbb/tools_api/ittnotify_types.h | 75 +
.../src/tbb/tools_api/legacy/ittnotify.h | 817 ++++
.../src/tbb/tools_api/prototype/ittnotify.h | 148 +
.../tbb30_104oss/src/tbb/win32-tbb-export.def | 297 ++
.../src/tbb/win64-gcc-tbb-export.def | 365 ++
.../tbb30_104oss/src/tbb/win64-tbb-export.def | 293 ++
.../src/tbb/xbox360-tbb-export.def | 234 ++
.../tbb30_104oss/src/tbbmalloc/Customize.h | 128 +
.../tbb/tbb30_104oss/src/tbbmalloc/LifoList.h | 106 +
.../tbb30_104oss/src/tbbmalloc/MapMemory.h | 101 +
.../tbb30_104oss/src/tbbmalloc/Statistics.h | 137 +
.../src/tbbmalloc/TypeDefinitions.h | 105 +
.../tbb30_104oss/src/tbbmalloc/backend.cpp | 275 ++
.../tbb30_104oss/src/tbbmalloc/backref.cpp | 240 ++
.../tbb30_104oss/src/tbbmalloc/frontend.cpp | 2057 ++++++++++
.../src/tbbmalloc/large_objects.cpp | 272 ++
.../src/tbbmalloc/lin-tbbmalloc-export.def | 70 +
.../src/tbbmalloc/lin32-proxy-export.def | 59 +
.../src/tbbmalloc/lin64-proxy-export.def | 59 +
.../src/tbbmalloc/lin64ipf-proxy-export.def | 59 +
.../src/tbbmalloc/mac32-tbbmalloc-export.def | 36 +
.../src/tbbmalloc/mac64-tbbmalloc-export.def | 36 +
.../tbb/tbb30_104oss/src/tbbmalloc/proxy.cpp | 472 +++
.../tbb/tbb30_104oss/src/tbbmalloc/proxy.h | 72 +
.../tbbmalloc/tbb_function_replacement.cpp | 476 +++
.../src/tbbmalloc/tbb_function_replacement.h | 84 +
.../tbb30_104oss/src/tbbmalloc/tbbmalloc.cpp | 221 ++
.../tbb30_104oss/src/tbbmalloc/tbbmalloc.rc | 129 +
.../src/tbbmalloc/tbbmalloc_internal.h | 279 ++
.../tbbmalloc/win-gcc-tbbmalloc-export.def | 45 +
.../src/tbbmalloc/win32-tbbmalloc-export.def | 42 +
.../src/tbbmalloc/win64-tbbmalloc-export.def | 42 +
.../tbbmalloc/xbox360-tbbmalloc-export.def | 42 +
.../tbb/tbb30_104oss/src/test/harness.h | 461 +++
.../tbb30_104oss/src/test/harness_allocator.h | 293 ++
.../tbb30_104oss/src/test/harness_assert.h | 48 +
.../tbb30_104oss/src/test/harness_bad_expr.h | 85 +
.../tbb30_104oss/src/test/harness_barrier.h | 84 +
.../src/test/harness_concurrency_tracker.h | 85 +
.../tbb/tbb30_104oss/src/test/harness_cpu.h | 129 +
.../tbb/tbb30_104oss/src/test/harness_eh.h | 244 ++
.../src/test/harness_inject_scheduler.h | 62 +
.../tbb30_104oss/src/test/harness_iterator.h | 130 +
.../tbb/tbb30_104oss/src/test/harness_m128.h | 81 +
.../tbb30_104oss/src/test/harness_memory.h | 106 +
.../tbb30_104oss/src/test/harness_report.h | 174 +
.../src/test/test_ScalableAllocator.cpp | 55 +
.../src/test/test_ScalableAllocator_STL.cpp | 40 +
.../src/test/test_aligned_space.cpp | 119 +
.../tbb30_104oss/src/test/test_allocator.h | 226 ++
.../src/test/test_allocator_STL.h | 114 +
.../tbb30_104oss/src/test/test_assembly.cpp | 140 +
.../tbb/tbb30_104oss/src/test/test_atomic.cpp | 810 ++++
.../src/test/test_blocked_range.cpp | 128 +
.../src/test/test_blocked_range2d.cpp | 156 +
.../src/test/test_blocked_range3d.cpp | 187 +
.../src/test/test_cache_aligned_allocator.cpp | 49 +
.../test/test_cache_aligned_allocator_STL.cpp | 43 +
.../src/test/test_cilk_interop.cpp | 216 ++
.../tbb30_104oss/src/test/test_combinable.cpp | 460 +++
.../src/test/test_concurrent_hash_map.cpp | 918 +++++
.../src/test/test_concurrent_monitor.cpp | 244 ++
.../src/test/test_concurrent_queue.cpp | 968 +++++
.../src/test/test_concurrent_unordered.cpp | 464 +++
.../src/test/test_concurrent_vector.cpp | 1016 +++++
.../src/test/test_condition_variable.h | 693 ++++
.../src/test/test_critical_section.cpp | 224 ++
.../src/test/test_eh_algorithms.cpp | 1281 +++++++
.../tbb30_104oss/src/test/test_eh_tasks.cpp | 763 ++++
.../test/test_enumerable_thread_specific.cpp | 1021 +++++
.../src/test/test_fast_random.cpp | 162 +
.../tbb/tbb30_104oss/src/test/test_halt.cpp | 117 +
.../src/test/test_handle_perror.cpp | 77 +
.../tbb30_104oss/src/test/test_inits_loop.cpp | 102 +
.../src/test/test_intrusive_list.cpp | 156 +
.../tbb30_104oss/src/test/test_ittnotify.cpp | 98 +
.../tbb/tbb30_104oss/src/test/test_lambda.cpp | 240 ++
.../src/test/test_malloc_atexit.cpp | 94 +
.../src/test/test_malloc_compliance.cpp | 1015 +++++
.../src/test/test_malloc_init_shutdown.cpp | 150 +
.../src/test/test_malloc_lib_unload.cpp | 150 +
.../src/test/test_malloc_overload.cpp | 276 ++
.../src/test/test_malloc_pure_c.c | 80 +
.../src/test/test_malloc_regression.cpp | 150 +
.../src/test/test_malloc_whitebox.cpp | 346 ++
.../src/test/test_model_plugin.cpp | 262 ++
.../tbb/tbb30_104oss/src/test/test_mutex.cpp | 628 ++++
.../src/test/test_mutex_native_threads.cpp | 224 ++
.../tbb/tbb30_104oss/src/test/test_openmp.cpp | 230 ++
.../src/test/test_parallel_do.cpp | 235 ++
.../src/test/test_parallel_for.cpp | 362 ++
.../src/test/test_parallel_for_each.cpp | 191 +
.../src/test/test_parallel_invoke.cpp | 324 ++
.../src/test/test_parallel_pipeline.cpp | 354 ++
.../src/test/test_parallel_reduce.cpp | 271 ++
.../src/test/test_parallel_scan.cpp | 270 ++
.../src/test/test_parallel_sort.cpp | 529 +++
.../src/test/test_parallel_while.cpp | 179 +
.../tbb30_104oss/src/test/test_pipeline.cpp | 321 ++
.../src/test/test_pipeline_with_tbf.cpp | 493 +++
.../src/test/test_reader_writer_lock.cpp | 226 ++
.../src/test/test_rwm_upgrade_downgrade.cpp | 79 +
.../tbb30_104oss/src/test/test_semaphore.cpp | 258 ++
.../tbb30_104oss/src/test/test_std_thread.cpp | 41 +
.../tbb/tbb30_104oss/src/test/test_task.cpp | 989 +++++
.../src/test/test_task_assertions.cpp | 103 +
.../src/test/test_task_auto_init.cpp | 196 +
.../tbb30_104oss/src/test/test_task_group.cpp | 848 +++++
.../tbb30_104oss/src/test/test_task_leaks.cpp | 243 ++
.../src/test/test_task_scheduler_init.cpp | 151 +
.../src/test/test_task_scheduler_observer.cpp | 131 +
.../src/test/test_tbb_condition_variable.cpp | 35 +
.../tbb30_104oss/src/test/test_tbb_header.cpp | 185 +
.../tbb30_104oss/src/test/test_tbb_thread.cpp | 40 +
.../src/test/test_tbb_version.cpp | 253 ++
.../tbb/tbb30_104oss/src/test/test_thread.h | 290 ++
.../tbb30_104oss/src/test/test_tick_count.cpp | 148 +
.../tbb/tbb30_104oss/src/test/test_yield.cpp | 73 +
625 files changed, 124049 insertions(+)
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/CHANGES
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/COPYING
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/Makefile
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/README
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/AIX.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/AIX.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/Makefile.rml
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbb
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbbmalloc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/Makefile.test
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/SunOS.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/SunOS.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/SunOS.suncc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/codecov.txt
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/common.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/common_rules.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/detect.js
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.bat
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/linux.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/linux.icc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/linux.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/macos.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/macos.icc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/macos.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/suncc.map.pause
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/test_launcher.bat
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/test_launcher.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/version_info_aix.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/version_info_linux.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/version_info_macos.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/version_info_sunos.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/version_info_windows.js
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/makefile.sln
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/tbb.vcproj
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/tbbmalloc.vcproj
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/tbbmalloc_proxy.vcproj
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/vsproject/version_string.tmp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/windows.cl.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/windows.gcc.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/windows.icl.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/windows.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/xbox360.cl.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/build/xbox360.inc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/Release_Notes.txt
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00001.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00002.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00003.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00004.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00005.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00006.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00007.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00009.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00011.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00012.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00013.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00015.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00016.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00017.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00018.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00019.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00021.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00026.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00031.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00034.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00035.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00036.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00037.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00038.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00039.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00040.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00041.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00042.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00043.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00044.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00046.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00048.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00049.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00050.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00051.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00052.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00053.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00054.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00055.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00056.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00057.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00058.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00059.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00060.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00061.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00062.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00063.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00065.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00067.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00068.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00069.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00070.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00072.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00073.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00075.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00076.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00077.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00084.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00086.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00088.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00090.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00092.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00094.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00095.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00096.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00097.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00098.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00099.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00100.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00101.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00102.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00109.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00115.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00116.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00145.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00146.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00147.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00148.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00149.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00150.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00151.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00152.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00153.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00154.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00155.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00156.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00157.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00157.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00158.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00159.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00159.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00160.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00161.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00161.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00162.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00163.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00163.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00164.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00165.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00165.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00166.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00167.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00167.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00168.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00169.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00169.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00170.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00171.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00172.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00173.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00174.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00175.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00176.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00176.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00177.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00178.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00179.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00180.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00181.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00182.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00183.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00184.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00185.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00186.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00187.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00188.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00189.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00190.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00191.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00192.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00193.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00194.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00195.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00196.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00197.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00198.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00199.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00200.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00201.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00202.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00203.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00204.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00204.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00205.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00206.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00207.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00208.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00209.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00210.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00211.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00211.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00212.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00213.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00214.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00214.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00215.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00216.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00217.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00218.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00219.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00253.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00272.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00279.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00280.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00281.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00282.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00283.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00284.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00285.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00286.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00304.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00314.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00316.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00317.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00325.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00326.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00327.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00328.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00330.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00331.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00341.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00342.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00347.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00356.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00359.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00372.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00374.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00375.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00376.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00385.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00389.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00391.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00397.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00401.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00406.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00410.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00414.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00419.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00431.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00432.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00433.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00434.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00435.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00436.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00437.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00438.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00447.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00454.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00455.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00457.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00458.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00462.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00463.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00464.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00465.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00470.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00471.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00478.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00486.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/a00488.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/annotated.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/concepts.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/deprecated.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/doxygen.css
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/doxygen.png
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/files.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_enum.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_eval.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_func.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_rela.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_type.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/functions_vars.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/globals.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/globals_func.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/hierarchy.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/modules.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespacemembers.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespacemembers_enum.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespacemembers_eval.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespacemembers_func.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespacemembers_type.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/namespaces.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/pages.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_do_body_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_for_body_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_reduce_body_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_reduce_lambda_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_scan_body_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/parallel_sort_iter_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/range_req.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/tab_b.gif
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/tab_l.gif
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/tab_r.gif
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/doc/html/tabs.css
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/_concurrent_queue_internal.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/_concurrent_unordered_internal.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/_tbb_windef.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/aligned_space.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/atomic.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/blocked_range.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/blocked_range2d.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/blocked_range3d.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/cache_aligned_allocator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/combinable.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/compat/condition_variable
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/compat/ppl.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/compat/thread
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/concurrent_hash_map.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/concurrent_queue.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/concurrent_unordered_map.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/concurrent_vector.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/critical_section.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/enumerable_thread_specific.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/ibm_aix51.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/linux_common.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/linux_ia32.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/linux_ia64.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/linux_intel64.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/mac_ppc.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/macos_common.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/sunos_sparc.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/windows_api.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/windows_ia32.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/windows_intel64.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/machine/xbox360_ppc.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/null_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/null_rw_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_do.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_for.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_for_each.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_invoke.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_reduce.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_scan.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_sort.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/parallel_while.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/partitioner.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/pipeline.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/queuing_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/queuing_rw_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/reader_writer_lock.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/recursive_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/scalable_allocator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/spin_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/spin_rw_mutex.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/task.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/task_group.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/task_scheduler_init.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/task_scheduler_observer.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_allocator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_config.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_exception.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_machine.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_profiling.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_stddef.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbb_thread.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tbbmalloc_proxy.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/include/tbb/tick_count.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/Makefile
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/concurrent_queue_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/concurrent_queue_v2.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/concurrent_vector_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/concurrent_vector_v2.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/spin_rw_mutex_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/spin_rw_mutex_v2.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/task_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/test_concurrent_queue_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/test_concurrent_vector_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/old/test_mutex_v2.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/fibonacci_cutoff.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/fibonacci_impl_tbb.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/perf.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/perf.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/perf_sched.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/run_statistics.sh
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/statistics.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/statistics.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/statistics_xml.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_framework.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_hash_map.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_hash_map_fill.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_locked_work.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_sandbox.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/perf/time_vector.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/library_assert.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/omp_dynamic_link.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/omp_dynamic_link.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/rml_factory.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/rml_omp.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/client/rml_tbb.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/include/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/include/rml_base.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/include/rml_omp.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/include/rml_tbb.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/perfor/omp_nested.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/perfor/omp_simple.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/perfor/tbb_multi_omp.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/perfor/tbb_simple.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/perfor/thread_level.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/irml.rc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/job_automaton.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/lin-rml-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/rml_server.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/thread_monitor.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/wait_counter.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/win32-rml-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/server/win64-rml-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/rml_omp_stub.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_job_automaton.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_rml_mixed.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_rml_omp.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_rml_omp_c_linkage.c
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_rml_tbb.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_server.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/rml/test/test_thread_monitor.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/arena.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/arena.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/cache_aligned_allocator.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/cilk-tbb-interop.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/concurrent_hash_map.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/concurrent_monitor.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/concurrent_monitor.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/concurrent_queue.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/concurrent_vector.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/condition_variable.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/critical_section.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/custom_scheduler.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/dynamic_link.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/dynamic_link.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/governor.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/governor.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia32-masm/atomic_support.asm
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia32-masm/lock_byte.asm
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia64-gas/atomic_support.s
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia64-gas/ia64_misc.s
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia64-gas/lock_byte.s
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia64-gas/log2.s
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ia64-gas/pause.s
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/ibm_aix51/atomic_support.c
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/index.html
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/intel64-masm/atomic_support.asm
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/intrusive_list.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/itt_notify.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/itt_notify.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/lin32-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/lin64-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/lin64ipf-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/mac32-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/mac64-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/mailbox.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/market.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/market.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/observer_proxy.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/observer_proxy.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/pipeline.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/private_server.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/queuing_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/queuing_rw_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/reader_writer_lock.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/recursive_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/scheduler.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/scheduler.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/scheduler_common.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/scheduler_utility.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/semaphore.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/spin_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/spin_rw_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/task.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/task_group_context.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/task_stream.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_assert_impl.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_main.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_main.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_misc.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_misc.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_resource.rc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_statistics.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_statistics.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_thread.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tbb_version.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tls.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/disable_warnings.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/internal/ittnotify.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/ittnotify.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/ittnotify_config.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/ittnotify_static.c
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/ittnotify_static.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/ittnotify_types.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/legacy/ittnotify.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/tools_api/prototype/ittnotify.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/win32-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/win64-gcc-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/win64-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbb/xbox360-tbb-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/Customize.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/LifoList.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/MapMemory.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/Statistics.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/TypeDefinitions.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/backend.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/backref.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/frontend.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/large_objects.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/lin-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/lin32-proxy-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/lin64-proxy-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/lin64ipf-proxy-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/mac32-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/mac64-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/proxy.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/proxy.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/tbb_function_replacement.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/tbb_function_replacement.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/tbbmalloc.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/tbbmalloc.rc
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/tbbmalloc_internal.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/win-gcc-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/win32-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/win64-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/tbbmalloc/xbox360-tbbmalloc-export.def
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_allocator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_assert.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_bad_expr.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_barrier.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_concurrency_tracker.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_cpu.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_eh.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_inject_scheduler.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_iterator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_m128.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_memory.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/harness_report.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_ScalableAllocator.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_ScalableAllocator_STL.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_aligned_space.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_allocator.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_allocator_STL.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_assembly.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_atomic.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_blocked_range.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_blocked_range2d.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_blocked_range3d.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_cache_aligned_allocator.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_cache_aligned_allocator_STL.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_cilk_interop.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_combinable.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_concurrent_hash_map.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_concurrent_monitor.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_concurrent_queue.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_concurrent_unordered.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_concurrent_vector.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_condition_variable.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_critical_section.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_eh_algorithms.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_eh_tasks.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_enumerable_thread_specific.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_fast_random.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_halt.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_handle_perror.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_inits_loop.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_intrusive_list.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_ittnotify.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_lambda.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_atexit.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_compliance.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_init_shutdown.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_lib_unload.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_overload.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_pure_c.c
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_regression.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_malloc_whitebox.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_model_plugin.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_mutex.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_mutex_native_threads.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_openmp.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_do.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_for.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_for_each.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_invoke.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_pipeline.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_reduce.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_scan.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_sort.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_parallel_while.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_pipeline.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_pipeline_with_tbf.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_reader_writer_lock.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_rwm_upgrade_downgrade.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_semaphore.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_std_thread.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_assertions.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_auto_init.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_group.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_leaks.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_scheduler_init.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_task_scheduler_observer.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_tbb_condition_variable.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_tbb_header.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_tbb_thread.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_tbb_version.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_thread.h
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_tick_count.cpp
create mode 100644 deal.II/contrib/tbb/tbb30_104oss/src/test/test_yield.cpp
diff --git a/deal.II/contrib/tbb/tbb30_104oss/CHANGES b/deal.II/contrib/tbb/tbb30_104oss/CHANGES
new file mode 100644
index 0000000000..4a17d934fb
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/CHANGES
@@ -0,0 +1,973 @@
+TBB 3.0 Update 3 commercial-aligned release
+
+Changes (w.r.t. TBB 3.0 Update 2 commercial-aligned release):
+
+- cache_aligned_allocator class reworked to use scalable_aligned_malloc.
+- Improved performance of count() and equal_range() methods
+ in concurrent_unordered_map.
+- Improved implementation of 64-bit atomic loads and stores on 32-bit
+ platforms, including compilation with VC 7.1.
+- Added implementation of atomic operations on top of OSAtomic API
+ provided by Mac OS* X.
+- Fixed a data race in task scheduler destruction that on rare occasion
+ could result in memory corruption.
+- Removed gratuitous try/catch blocks surrounding thread function calls
+ in tbb_thread.
+- Xcode* projects were added for sudoku and game_of_life examples.
+- Xcode* projects were updated to work without TBB framework.
+
+Open-source contributions integrated:
+
+- MinGW-64 basic support by brsomoza (partially).
+- Patch for atomic.h by Andrey Semashev.
+- Support for AIX & GCC on PowerPC by Giannis Papadopoulos.
+- Various improvements by Raf Schietekat.
+
+------------------------------------------------------------------------
+TBB 3.0 Update 2 commercial-aligned release
+
+Changes (w.r.t. TBB 3.0 Update 1 commercial-aligned release):
+
+- Destructor of tbb::task_group class throws missing_wait exception
+ if there are tasks running when it is invoked.
+- Cilk-TBB interop layer added to protect TBB TLS in case of
+ "Cilk-TBB-Cilk nesting" usage model.
+- Compilation fix for dependent template names in concurrent_queue.
+- Memory allocator code refactored to ease development and maintenance.
+
+Bug Fixes:
+- Improved interoperability with other Intel software tools on Linux in
+ case of dynamic replacement of memory allocator (1700)
+- Fixed install issues that prevented installation on
+ Mac OS* X 10.6.4 (1711).
+
+------------------------------------------------------------------------
+TBB 3.0 Update 1 commercial-aligned release
+
+Changes (w.r.t. TBB 3.0 commercial-aligned release):
+
+- Decreased memory fragmentation by allocations bigger than 8K.
+- Lazily allocate worker threads, to avoid creating unnecessary stacks.
+
+Bugs fixed:
+
+- TBB allocator used much more memory than malloc (1703) - see above.
+- Deadlocks happened in some specific initialization scenarios
+ of the TBB allocator (1701, 1704).
+- Regression in enumerable_thread_specific: excessive requirements
+ for object constructors.
+- A bug in construction of parallel_pipeline filters when body instance
+ was a temporary object.
+- Incorrect usage of memory fences on PowerPC and XBOX360 platforms.
+- A subtle issue in task group context binding that could result
+ in cancelation signal being missed by nested task groups.
+- Incorrect construction of concurrent_unordered_map if specified
+ number of buckets is not power of two.
+- Broken count() and equal_range() of concurrent_unordered_map.
+- Return type of postfix form of operator++ for hash map's iterators.
+
+------------------------------------------------------------------------
+TBB 3.0 commercial-aligned release
+
+Changes (w.r.t. TBB 2.2 Update 3 commercial-aligned release):
+
+- All open-source-release changes down to TBB 2.2 U3 below
+ were incorporated into this release.
+
+------------------------------------------------------------------------
+20100406 open-source release
+
+Changes (w.r.t. 20100310 open-source release):
+
+- Added support for Microsoft* Visual Studio* 2010, including binaries.
+- Added a PDF file with recommended Design Patterns for TBB.
+- Added parallel_pipeline function and companion classes and functions
+ that provide a strongly typed lambda-friendly pipeline interface.
+- Reworked enumerable_thread_specific to use a custom implementation of
+ hash map that is more efficient for ETS usage models.
+- Added example for class task_group; see examples/task_group/sudoku.
+- Removed two examples, as they were long outdated and superceded:
+ pipeline/text_filter (use pipeline/square);
+ parallel_while/parallel_preorder (use parallel_do/parallel_preorder).
+- PDF documentation updated.
+- Other fixes and changes in code, tests, and examples.
+
+Bugs fixed:
+
+- Eliminated build errors with MinGW32.
+- Fixed post-build step and other issues in VS projects for examples.
+- Fixed discrepancy between scalable_realloc and scalable_msize that
+ caused crashes with malloc replacement on Windows.
+
+------------------------------------------------------------------------
+20100310 open-source release
+
+Changes (w.r.t. TBB 2.2 Update 3 commercial-aligned release):
+
+- Version macros changed in anticipation of a future release.
+- Directory structure aligned with Intel(R) C++ Compiler;
+ now TBB binaries reside in //[bin|lib]
+ (in TBB 2.x, it was [bin|lib]//).
+- Visual Studio projects changed for examples: instead of separate set
+ of files for each VS version, now there is single 'msvs' directory
+ that contains workspaces for MS C++ compiler (_cl.sln) and
+ Intel C++ compiler (_icl.sln). Works with VS 2005 and above.
+- The name versioning scheme for backward compatibility was improved;
+ now compatibility-breaking changes are done in a separate namespace.
+- Added concurrent_unordered_map implementation based on a prototype
+ developed in Microsoft for a future version of PPL.
+- Added PPL-compatible writer-preference RW lock (reader_writer_lock).
+- Added TBB_IMPLEMENT_CPP0X macro to control injection of C++0x names
+ implemented in TBB into namespace std.
+- Added almost-C++0x-compatible std::condition_variable, plus a bunch
+ of other C++0x classes required by condition_variable.
+- With TBB_IMPLEMENT_CPP0X, tbb_thread can be also used as std::thread.
+- task.cpp was split into several translation units to structure
+ TBB scheduler sources layout. Static data layout and library
+ initialization logic were also updated.
+- TBB scheduler reworked to prevent master threads from stealing
+ work belonging to other masters.
+- Class task was extended with enqueue() method, and slightly changed
+ semantics of methods spawn() and destroy(). For exact semantics,
+ refer to TBB Reference manual.
+- task_group_context now allows for destruction by non-owner threads.
+- Added TBB_USE_EXCEPTIONS macro to control use of exceptions in TBB
+ headers. It turns off (i.e. sets to 0) automatically if specified
+ compiler options disable exception handling.
+- TBB is enabled to run on top of Microsoft's Concurrency Runtime
+ on Windows* 7 (via our worker dispatcher known as RML).
+- Removed old unused busy-waiting code in concurrent_queue.
+- Described the advanced build & test options in src/index.html.
+- Warning level for GCC raised with -Wextra and a few other options.
+- Multiple fixes and improvements in code, tests, examples, and docs.
+
+Open-source contributions integrated:
+
+- Xbox support by Roman Lut (Deep Shadows), though further changes are
+ required to make it working; e.g. post-2.1 entry points are missing.
+- "Eventcount" by Dmitry Vyukov evolved into concurrent_monitor,
+ an internal class used in the implementation of concurrent_queue.
+
+------------------------------------------------------------------------
+TBB 2.2 Update 3 commercial-aligned release
+
+Changes (w.r.t. TBB 2.2 Update 2 commercial-aligned release):
+
+- PDF documentation updated.
+
+Bugs fixed:
+
+- concurrent_hash_map compatibility issue exposed on Linux in case
+ two versions of the container were used by different modules.
+- enforce 16 byte stack alignment for consistence with GCC; required
+ to work correctly with 128-bit variables processed by SSE.
+- construct() methods of allocator classes now use global operator new.
+
+------------------------------------------------------------------------
+TBB 2.2 Update 2 commercial-aligned release
+
+Changes (w.r.t. TBB 2.2 Update 1 commercial-aligned release):
+
+- parallel_invoke and parallel_for_each now take function objects
+ by const reference, not by value.
+- Building TBB with /MT is supported, to avoid dependency on particular
+ versions of Visual C++* runtime DLLs. TBB DLLs built with /MT
+ are located in vc_mt directory.
+- Class critical_section introduced.
+- Improvements in exception support: new exception classes introduced,
+ all exceptions are thrown via an out-of-line internal method.
+- Improvements and fixes in the TBB allocator and malloc replacement,
+ including robust memory identification, and more reliable dynamic
+ function substitution on Windows*.
+- Method swap() added to class tbb_thread.
+- Methods rehash() and bucket_count() added to concurrent_hash_map.
+- Added support for Visual Studio* 2010 Beta2. No special binaries
+ provided, but CRT-independent DLLs (vc_mt) should work.
+- Other fixes and improvements in code, tests, examples, and docs.
+
+Open-source contributions integrated:
+
+- The fix to build 32-bit TBB on Mac OS* X 10.6.
+- GCC-based port for SPARC Solaris by Michailo Matijkiw, with use of
+ earlier work by Raf Schietekat.
+
+Bugs fixed:
+
+- 159 - TBB build for PowerPC* running Mac OS* X.
+- 160 - IBM* Java segfault if used with TBB allocator.
+- crash in concurrent_queue (1616).
+
+------------------------------------------------------------------------
+TBB 2.2 Update 1 commercial-aligned release
+
+Changes (w.r.t. TBB 2.2 commercial-aligned release):
+
+- Incorporates all changes from open-source releases below.
+- Documentation was updated.
+- TBB scheduler auto-initialization now covers all possible use cases.
+- concurrent_queue: made argument types of sizeof used in paddings
+ consistent with those actually used.
+- Memory allocator was improved: supported corner case of user's malloc
+ calling scalable_malloc (non-Windows), corrected processing of
+ memory allocation requests during tbb memory allocator startup
+ (Linux).
+- Windows malloc replacement has got better support for static objects.
+- In pipeline setups that do not allow actual parallelism, execution
+ by a single thread is guaranteed, idle spinning eliminated, and
+ performance improved.
+- RML refactoring and clean-up.
+- New constructor for concurrent_hash_map allows reserving space for
+ a number of items.
+- Operator delete() added to the TBB exception classes.
+- Lambda support was improved in parallel_reduce.
+- gcc 4.3 warnings were fixed for concurrent_queue.
+- Fixed possible initialization deadlock in modules using TBB entities
+ during construction of global static objects.
+- Copy constructor in concurrent_hash_map was fixed.
+- Fixed a couple of rare crashes in the scheduler possible before
+ in very specific use cases.
+- Fixed a rare crash in the TBB allocator running out of memory.
+- New tests were implemented, including test_lambda.cpp that checks
+ support for lambda expressions.
+- A few other small changes in code, tests, and documentation.
+
+------------------------------------------------------------------------
+20090809 open-source release
+
+Changes (w.r.t. TBB 2.2 commercial-aligned release):
+
+- Fixed known exception safety issues in concurrent_vector.
+- Better concurrency of simultaneous grow requests in concurrent_vector.
+- TBB allocator further improves performance of large object allocation.
+- Problem with source of text relocations was fixed on Linux
+- Fixed bugs related to malloc replacement under Windows
+- A few other small changes in code and documentation.
+
+------------------------------------------------------------------------
+TBB 2.2 commercial-aligned release
+
+Changes (w.r.t. TBB 2.1 U4 commercial-aligned release):
+
+- Incorporates all changes from open-source releases below.
+- Architecture folders renamed from em64t to intel64 and from itanium
+ to ia64.
+- Major Interface version changed from 3 to 4. Deprecated interfaces
+ might be removed in future releases.
+- Parallel algorithms that use partitioners have switched to use
+ the auto_partitioner by default.
+- Improved memory allocator performance for allocations bigger than 8K.
+- Added new thread-bound filters functionality for pipeline.
+- New implementation of concurrent_hash_map that improves performance
+ significantly.
+- A few other small changes in code and documentation.
+
+------------------------------------------------------------------------
+20090511 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Basic support for MinGW32 development kit.
+- Added tbb::zero_allocator class that initializes memory with zeros.
+ It can be used as an adaptor to any STL-compatible allocator class.
+- Added tbb::parallel_for_each template function as alias to parallel_do.
+- Added more overloads for tbb::parallel_for.
+- Added support for exact exception propagation (can only be used with
+ compilers that support C++0x std::exception_ptr).
+- tbb::atomic template class can be used with enumerations.
+- mutex, recursive_mutex, spin_mutex, spin_rw_mutex classes extended
+ with explicit lock/unlock methods.
+- Fixed size() and grow_to_at_least() methods of tbb::concurrent_vector
+ to provide space allocation guarantees. More methods added for
+ compatibility with std::vector, including some from C++0x.
+- Preview of a lambda-friendly interface for low-level use of tasks.
+- scalable_msize function added to the scalable allocator (Windows only).
+- Rationalized internal auxiliary functions for spin-waiting and backoff.
+- Several tests undergo decent refactoring.
+
+Changes affecting backward compatibility:
+
+- Improvements in concurrent_queue, including limited API changes.
+ The previous version is deprecated; its functionality is accessible
+ via methods of the new tbb::concurrent_bounded_queue class.
+- grow* and push_back methods of concurrent_vector changed to return
+ iterators; old semantics is deprecated.
+
+------------------------------------------------------------------------
+TBB 2.1 Update 4 commercial-aligned release
+
+Changes (w.r.t. 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.
+
+Bugs fixed:
+
+- 150 - request to build TBB examples with debug info in release mode.
+- backward compatibility issue with concurrent_queue on Windows.
+- dependency on VS 2005 SP1 runtime libraries removed.
+- compilation of GUI examples under Xcode* 3.1 (1577).
+- On Windows, TBB allocator classes can be instantiated with const types
+ for compatibility with MS implementation of STL containers (1566).
+
+------------------------------------------------------------------------
+20090313 open-source release
+
+Changes (w.r.t. 20081109 open-source release):
+
+- Includes all changes introduced in TBB 2.1 Update 2 & Update 3
+ commercial-aligned releases (see below for details).
+- Added tbb::parallel_invoke template function. It runs up to 10
+ user-defined functions in parallel and waits for them to complete.
+- Added a special library providing ability to replace the standard
+ memory allocation routines in Microsoft* C/C++ RTL (malloc/free,
+ global new/delete, etc.) with the TBB memory allocator.
+ Usage details are described in include/tbb/tbbmalloc_proxy.h file.
+- Task scheduler switched to use new implementation of its core
+ functionality (deque based task pool, new structure of arena slots).
+- Preview of Microsoft* Visual Studio* 2005 project files for
+ building the library is available in build/vsproject folder.
+- Added tests for aligned memory allocations and malloc replacement.
+- Added parallel_for/game_of_life.net example (for Windows only)
+ showing TBB usage in a .NET application.
+- A number of other fixes and improvements to code, tests, makefiles,
+ examples and documents.
+
+Bugs fixed:
+
+- The same list as in TBB 2.1 Update 4 right above.
+
+------------------------------------------------------------------------
+TBB 2.1 Update 3 commercial-aligned release
+
+Changes (w.r.t. TBB 2.1 U2 commercial-aligned release):
+
+- Added support for aligned allocations to the TBB memory allocator.
+- Added a special library to use with LD_PRELOAD on Linux* in order to
+ replace the standard memory allocation routines in C/C++ with the
+ TBB memory allocator.
+- Added null_mutex and null_rw_mutex: no-op classes interface-compliant
+ to other TBB mutexes.
+- Improved performance of parallel_sort, to close most of the serial gap
+ with std::sort, and beat it on 2 and more cores.
+- A few other small changes.
+
+Bugs fixed:
+
+- the problem where parallel_for hanged after exception throw
+ if affinity_partitioner was used (1556).
+- get rid of VS warnings about mbstowcs deprecation (1560),
+ as well as some other warnings.
+- operator== for concurrent_vector::iterator fixed to work correctly
+ with different vector instances.
+
+------------------------------------------------------------------------
+TBB 2.1 Update 2 commercial-aligned release
+
+Changes (w.r.t. TBB 2.1 U1 commercial-aligned release):
+
+- Incorporates all open-source-release changes down to TBB 2.1 U1,
+ except for:
+ - 20081019 addition of enumerable_thread_specific;
+- Warning level for Microsoft* Visual C++* compiler raised to /W4 /Wp64;
+ warnings found on this level were cleaned or suppressed.
+- Added TBB_runtime_interface_version API function.
+- Added new example: pipeline/square.
+- Added exception handling and cancellation support
+ for parallel_do and pipeline.
+- Added copy constructor and [begin,end) constructor to concurrent_queue.
+- Added some support for beta version of Intel(R) Parallel Amplifier.
+- Added scripts to set environment for cross-compilation of 32-bit
+ applications on 64-bit Linux with Intel(R) C++ Compiler.
+- Fixed semantics of concurrent_vector::clear() to not deallocate
+ internal arrays. Fixed compact() to perform such deallocation later.
+- Fixed the issue with atomic when T is incomplete type.
+- Improved support for PowerPC* Macintosh*, including the fix
+ for a bug in masked compare-and-swap reported by a customer.
+- As usual, a number of other improvements everywhere.
+
+------------------------------------------------------------------------
+20081109 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Added new serial out of order filter for tbb::pipeline.
+- Fixed the issue with atomic::operator= reported at the forum.
+- Fixed the issue with using tbb::task::self() in task destructor
+ reported at the forum.
+- A number of other improvements to code, tests, makefiles, examples
+ and documents.
+
+Open-source contributions integrated:
+- Changes in the memory allocator were partially integrated.
+
+------------------------------------------------------------------------
+20081019 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Introduced enumerable_thread_specific. This new class provides a
+ wrapper around native thread local storage as well as iterators and
+ ranges for accessing the thread local copies (1533).
+- Improved support for Intel(R) Threading Analysis Tools
+ on Intel(R) 64 architecture.
+- Dependency from Microsoft* CRT was integrated to the libraries using
+ manifests, to avoid issues if called from code that uses different
+ version of Visual C++* runtime than the library.
+- Introduced new defines TBB_USE_ASSERT, TBB_USE_DEBUG,
+ TBB_USE_PERFORMANCE_WARNINGS, TBB_USE_THREADING_TOOLS.
+- A number of other improvements to code, tests, makefiles, examples
+ and documents.
+
+Open-source contributions integrated:
+
+- linker optimization: /incremental:no .
+
+------------------------------------------------------------------------
+20080925 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Same fix for a memory leak in the memory allocator as in TBB 2.1 U1.
+- Improved support for lambda functions.
+- Fixed more concurrent_queue issues reported at the forum.
+- A number of other improvements to code, tests, makefiles, examples
+ and documents.
+
+------------------------------------------------------------------------
+TBB 2.1 Update 1 commercial-aligned release
+
+Changes (w.r.t. TBB 2.1 commercial-aligned release):
+
+- Fixed small memory leak in the memory allocator.
+- Incorporates all open-source-release changes since TBB 2.1, except for:
+ - 20080825 changes for parallel_do;
+
+------------------------------------------------------------------------
+20080825 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Added exception handling and cancellation support for parallel_do.
+- Added default HashCompare template argument for concurrent_hash_map.
+- Fixed concurrent_queue.clear() issues due to incorrect assumption
+ about clear() being private method.
+- Added the possibility to use TBB in applications that change
+ default calling conventions (Windows* only).
+- Many improvements to code, tests, examples, makefiles and documents.
+
+Bugs fixed:
+
+- 120, 130 - memset declaration missed in concurrent_hash_map.h
+
+------------------------------------------------------------------------
+20080724 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Inline assembly for atomic operations improved for gcc 4.3
+- A few more improvements to the code.
+
+------------------------------------------------------------------------
+20080709 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- operator=() was added to the tbb_thread class according to
+ the current working draft for std::thread.
+- Recognizing SPARC* in makefiles for Linux* and Sun Solaris*.
+
+Bugs fixed:
+
+- 127 - concurrent_hash_map::range fixed to split correctly.
+
+Open-source contributions integrated:
+
+- fix_set_midpoint.diff by jyasskin
+- SPARC* support in makefiles by Raf Schietekat
+
+------------------------------------------------------------------------
+20080622 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Fixed a hang that rarely happened on Linux
+ during deinitialization of the TBB scheduler.
+- Improved support for Intel(R) Thread Checker.
+- A few more improvements to the code.
+
+------------------------------------------------------------------------
+TBB 2.1 commercial-aligned release
+
+Changes (w.r.t. TBB 2.0 U3 commercial-aligned release):
+
+- All open-source-release changes down to, and including, TBB 2.0 below,
+ were incorporated into this release.
+
+------------------------------------------------------------------------
+20080605 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Explicit control of exported symbols by version scripts added on Linux.
+- Interfaces polished for exception handling & algorithm cancellation.
+- Cache behavior improvements in the scalable allocator.
+- Improvements in text_filter, polygon_overlay, and other examples.
+- A lot of other stability improvements in code, tests, and makefiles.
+- First release where binary packages include headers/docs/examples, so
+ binary packages are now self-sufficient for using TBB.
+
+Open-source contributions integrated:
+
+- atomics patch (partially).
+- tick_count warning patch.
+
+Bugs fixed:
+
+- 118 - fix for boost compatibility.
+- 123 - fix for tbb_machine.h.
+
+------------------------------------------------------------------------
+20080512 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Fixed a problem with backward binary compatibility
+ of debug Linux builds.
+- Sun* Studio* support added.
+- soname support added on Linux via linker script. To restore backward
+ binary compatibility, *.so -> *.so.2 softlinks should be created.
+- concurrent_hash_map improvements - added few new forms of insert()
+ method and fixed precondition and guarantees of erase() methods.
+ Added runtime warning reporting about bad hash function used for
+ the container. Various improvements for performance and concurrency.
+- Cancellation mechanism reworked so that it does not hurt scalability.
+- Algorithm parallel_do reworked. Requirement for Body::argument_type
+ definition removed, and work item argument type can be arbitrarily
+ cv-qualified.
+- polygon_overlay example added.
+- A few more improvements to code, tests, examples and Makefiles.
+
+Open-source contributions integrated:
+
+- Soname support patch for Bugzilla #112.
+
+Bugs fixed:
+
+- 112 - fix for soname support.
+
+------------------------------------------------------------------------
+TBB 2.0 U3 commercial-aligned release (package 017, April 20, 2008)
+
+Corresponds to commercial 019 (for Linux*, 020; for Mac OS* X, 018)
+packages.
+
+Changes (w.r.t. TBB 2.0 U2 commercial-aligned release):
+
+- Does not contain open-source-release changes below; this release is
+ only a minor update of TBB 2.0 U2.
+- Removed spin-waiting in pipeline and concurrent_queue.
+- A few more small bug fixes from open-source releases below.
+
+------------------------------------------------------------------------
+20080408 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- count_strings example reworked: new word generator implemented, hash
+ function replaced, and tbb_allocator is used with std::string class.
+- Static methods of spin_rw_mutex were replaced by normal member
+ functions, and the class name was versioned.
+- tacheon example was renamed to tachyon.
+- Improved support for Intel(R) Thread Checker.
+- A few more minor improvements.
+
+Open-source contributions integrated:
+
+- Two sets of Sun patches for IA Solaris support.
+
+------------------------------------------------------------------------
+20080402 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Exception handling and cancellation support for tasks and algorithms
+ fully enabled.
+- Exception safety guaranties defined and fixed for all concurrent
+ containers.
+- User-defined memory allocator support added to all concurrent
+ containers.
+- Performance improvement of concurrent_hash_map, spin_rw_mutex.
+- Critical fix for a rare race condition during scheduler
+ initialization/de-initialization.
+- New methods added for concurrent containers to be closer to STL,
+ as well as automatic filters removal from pipeline
+ and __TBB_AtomicAND function.
+- The volatile keyword dropped from where it is not really needed.
+- A few more minor improvements.
+
+------------------------------------------------------------------------
+20080319 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Support for gcc version 4.3 was added.
+- tbb_thread class, near compatible with std::thread expected in C++0x,
+ was added.
+
+Bugs fixed:
+
+- 116 - fix for compilation issues with gcc version 4.2.1.
+- 120 - fix for compilation issues with gcc version 4.3.
+
+------------------------------------------------------------------------
+20080311 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- An enumerator added for pipeline filter types (serial vs. parallel).
+- New task_scheduler_observer class introduced, to observe when
+ threads start and finish interacting with the TBB task scheduler.
+- task_scheduler_init reverted to not use internal versioned class;
+ binary compatibility guaranteed with stable releases only.
+- Various improvements to code, tests, examples and Makefiles.
+
+------------------------------------------------------------------------
+20080304 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Task-to-thread affinity support, previously kept under a macro,
+ now fully legalized.
+- Work-in-progress on cache_aligned_allocator improvements.
+- Pipeline really supports parallel input stage; it's no more serialized.
+- Various improvements to code, tests, examples and Makefiles.
+
+Bugs fixed:
+
+- 119 - fix for scalable_malloc sometimes failing to return a big block.
+- TR575 - fixed a deadlock occurring on Windows in startup/shutdown
+ under some conditions.
+
+------------------------------------------------------------------------
+20080226 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Introduced tbb_allocator to select between standard allocator and
+ tbb::scalable_allocator when available.
+- Removed spin-waiting in pipeline and concurrent_queue.
+- Improved performance of concurrent_hash_map by using tbb_allocator.
+- Improved support for Intel(R) Thread Checker.
+- Various improvements to code, tests, examples and Makefiles.
+
+------------------------------------------------------------------------
+TBB 2.0 U2 commercial-aligned release (package 017, February 14, 2008)
+
+Corresponds to commercial 017 (for Linux*, 018; for Mac OS* X, 016)
+packages.
+
+Changes (w.r.t. TBB 2.0 U1 commercial-aligned release):
+
+- Does not contain open-source-release changes below; this release is
+ only a minor update of TBB 2.0 U1.
+- Add support for Microsoft* Visual Studio* 2008, including binary
+ libraries and VS2008 projects for examples.
+- Use SwitchToThread() not Sleep() to yield threads on Windows*.
+- Enhancements to Doxygen-readable comments in source code.
+- A few more small bug fixes from open-source releases below.
+
+Bugs fixed:
+
+- TR569 - Memory leak in concurrent_queue.
+
+------------------------------------------------------------------------
+20080207 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Improvements and minor fixes in VS2008 projects for examples.
+- Improvements in code for gating worker threads that wait for work,
+ previously consolidated under #if IMPROVED_GATING, now legalized.
+- Cosmetic changes in code, examples, tests.
+
+Bugs fixed:
+
+- 113 - Iterators and ranges should be convertible to their const
+ counterparts.
+- TR569 - Memory leak in concurrent_queue.
+
+------------------------------------------------------------------------
+20080122 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Updated examples/parallel_for/seismic to improve the visuals and to
+ use the affinity_partitioner (20071127 and forward) for better
+ performance.
+- Minor improvements to unittests and performance tests.
+
+------------------------------------------------------------------------
+20080115 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Cleanup, simplifications and enhancements to the Makefiles for
+ building the libraries (see build/index.html for high-level
+ changes) and the examples.
+- Use SwitchToThread() not Sleep() to yield threads on Windows*.
+- Engineering work-in-progress on exception safety/support.
+- Engineering work-in-progress on affinity_partitioner for
+ parallel_reduce.
+- Engineering work-in-progress on improved gating for worker threads
+ (idle workers now block in the OS instead of spinning).
+- Enhancements to Doxygen-readable comments in source code.
+
+Bugs fixed:
+
+- 102 - Support for parallel build with gmake -j
+- 114 - /Wp64 build warning on Windows*.
+
+------------------------------------------------------------------------
+20071218 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Full support for Microsoft* Visual Studio* 2008 in open-source.
+ Binaries for vc9/ will be available in future stable releases.
+- New recursive_mutex class.
+- Full support for 32-bit PowerMac including export files for builds.
+- Improvements to parallel_do.
+
+------------------------------------------------------------------------
+20071206 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Support for Microsoft* Visual Studio* 2008 in building libraries
+ from source as well as in vc9/ projects for examples.
+- Small fixes to the affinity_partitioner first introduced in 20071127.
+- Small fixes to the thread-stack size hook first introduced in 20071127.
+- Engineering work in progress on concurrent_vector.
+- Engineering work in progress on exception behavior.
+- Unittest improvements.
+
+------------------------------------------------------------------------
+20071127 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- Task-to-thread affinity support (affinity partitioner) first appears.
+- More work on concurrent_vector.
+- New parallel_do algorithm (function-style version of parallel while)
+ and parallel_do/parallel_preorder example.
+- New task_scheduler_init() hooks for getting default_num_threads() and
+ for setting thread stack size.
+- Support for weak memory consistency models in the code base.
+- Futex usage in the task scheduler (Linux).
+- Started adding 32-bit PowerMac support.
+- Intel(R) 9.1 compilers are now the base supported Intel(R) compiler
+ version.
+- TBB libraries added to link line automatically on Microsoft Windows*
+ systems via #pragma comment linker directives.
+
+Open-source contributions integrated:
+
+- FreeBSD platform support patches.
+- AIX weak memory model patch.
+
+Bugs fixed:
+
+- 108 - Removed broken affinity.h reference.
+- 101 - Does not build on Debian Lenny (replaced arch with uname -m).
+
+------------------------------------------------------------------------
+20071030 open-source release
+
+Changes (w.r.t. previous open-source release):
+
+- More work on concurrent_vector.
+- Better support for building with -Wall -Werror (or not) as desired.
+- A few fixes to eliminate extraneous warnings.
+- Begin introduction of versioning hooks so that the internal/API
+ version is tracked via TBB_INTERFACE_VERSION. The newest binary
+ libraries should always work with previously-compiled code when-
+ ever possible.
+- Engineering work in progress on using futex inside the mutexes (Linux).
+- Engineering work in progress on exception behavior.
+- Engineering work in progress on a new parallel_do algorithm.
+- Unittest improvements.
+
+------------------------------------------------------------------------
+20070927 open-source release
+
+Changes (w.r.t. TBB 2.0 U1 commercial-aligned release):
+
+- Minor update to TBB 2.0 U1 below.
+- Begin introduction of new concurrent_vector interfaces not released
+ with TBB 2.0 U1.
+
+------------------------------------------------------------------------
+TBB 2.0 U1 commercial-aligned release (package 014, October 1, 2007)
+
+Corresponds to commercial 014 (for Linux*, 016) packages.
+
+Changes (w.r.t. TBB 2.0 commercial-aligned release):
+
+- All open-source-release changes down to, and including, TBB 2.0 below,
+ were incorporated into this release.
+- Made a number of changes to the officially supported OS list:
+ Added Linux* OSs:
+ Asianux* 3, Debian* 4.0, Fedora Core* 6, Fedora* 7,
+ Turbo Linux* 11, Ubuntu* 7.04;
+ Dropped Linux* OSs:
+ Asianux* 2, Fedora Core* 4, Haansoft* Linux 2006 Server,
+ Mandriva/Mandrake* 10.1, Miracle Linux* 4.0,
+ Red Flag* DC Server 5.0;
+ Only Mac OS* X 10.4.9 (and forward) and Xcode* tool suite 2.4.1 (and
+ forward) are now supported.
+- Commercial installers on Linux* fixed to recommend the correct
+ binaries to use in more cases, with less unnecessary warnings.
+- Changes to eliminate spurious build warnings.
+
+Open-source contributions integrated:
+
+- Two small header guard macro patches; it also fixed bug #94.
+- New blocked_range3d class.
+
+Bugs fixed:
+
+- 93 - Removed misleading comments in task.h.
+- 94 - See above.
+
+------------------------------------------------------------------------
+20070815 open-source release
+
+Changes:
+
+- Changes to eliminate spurious build warnings.
+- Engineering work in progress on concurrent_vector allocator behavior.
+- Added hooks to use the Intel(R) compiler code coverage tools.
+
+Open-source contributions integrated:
+
+- Mac OS* X build warning patch.
+
+Bugs fixed:
+
+- 88 - Fixed TBB compilation errors if both VS2005 and Windows SDK are
+ installed.
+
+------------------------------------------------------------------------
+20070719 open-source release
+
+Changes:
+
+- Minor update to TBB 2.0 commercial-aligned release below.
+- Changes to eliminate spurious build warnings.
+
+------------------------------------------------------------------------
+TBB 2.0 commercial-aligned release (package 010, July 19, 2007)
+
+Corresponds to commercial 010 (for Linux*, 012) packages.
+
+- TBB open-source debut release.
+
+------------------------------------------------------------------------
+TBB 1.1 commercial release (April 10, 2007)
+
+Changes (w.r.t. TBB 1.0 commercial release):
+
+- auto_partitioner which offered an automatic alternative to specifying
+ a grain size parameter to estimate the best granularity for tasks.
+- The release was added to the Intel(R) C++ Compiler 10.0 Pro.
+
+------------------------------------------------------------------------
+TBB 1.0 Update 2 commercial release
+
+Changes (w.r.t. TBB 1.0 Update 1 commercial release):
+
+- Mac OS* X 64-bit support added.
+- Source packages for commercial releases introduced.
+
+------------------------------------------------------------------------
+TBB 1.0 Update 1 commercial-aligned release
+
+Changes (w.r.t. TBB 1.0 commercial release):
+
+- Fix for critical package issue on Mac OS* X.
+
+------------------------------------------------------------------------
+TBB 1.0 commercial release (August 29, 2006)
+
+Changes (w.r.t. TBB 1.0 beta commercial release):
+
+- New namespace (and compatibility headers for old namespace).
+ Namespaces are tbb and tbb::internal and all classes are in the
+ underscore_style not the WindowsStyle.
+- New class: scalable_allocator (and cache_aligned_allocator using that
+ if it exists).
+- Added parallel_for/tacheon example.
+- Removed C-style casts from headers for better C++ compliance.
+- Bug fixes.
+- Documentation improvements.
+- Improved performance of the concurrent_hash_map class.
+- Upgraded parallel_sort() to support STL-style random-access iterators
+ instead of just pointers.
+- The Windows vs7_1 directories renamed to vs7.1 in examples.
+- New class: spin version of reader-writer lock.
+- Added push_back() interface to concurrent_vector().
+
+------------------------------------------------------------------------
+TBB 1.0 beta commercial release
+
+Initial release.
+
+Features / APIs:
+
+- Concurrent containers: ConcurrentHashTable, ConcurrentVector,
+ ConcurrentQueue.
+- Parallel algorithms: ParallelFor, ParallelReduce, ParallelScan,
+ ParallelWhile, Pipeline, ParallelSort.
+- Support: AlignedSpace, BlockedRange (i.e., 1D), BlockedRange2D
+- Task scheduler with multi-master support.
+- Atomics: read, write, fetch-and-store, fetch-and-add, compare-and-swap.
+- Locks: spin, reader-writer, queuing, OS-wrapper.
+- Memory allocation: STL-style memory allocator that avoids false
+ sharing.
+- Timers.
+
+Tools Support:
+- Thread Checker 3.0.
+- Thread Profiler 3.0.
+
+Documentation:
+- First Use Documents: README.txt, INSTALL.txt, Release_Notes.txt,
+ Doc_Index.html, Getting_Started.pdf, Tutorial.pdf, Reference.pdf.
+- Class hierarchy HTML pages (Doxygen).
+- Tree of index.html pages for navigating the installed package, esp.
+ for the examples.
+
+Examples:
+- One for each of these TBB features: ConcurrentHashTable, ParallelFor,
+ ParallelReduce, ParallelWhile, Pipeline, Task.
+- Live copies of examples from Getting_Started.pdf.
+- TestAll example that exercises every class and header in the package
+ (i.e., a "liveness test").
+- Compilers: see Release_Notes.txt.
+- APIs: OpenMP, WinThreads, Pthreads.
+
+Packaging:
+- Package for Windows installs IA-32 and EM64T bits.
+- Package for Linux installs IA-32, EM64T and IPF bits.
+- Package for Mac OS* X installs IA-32 bits.
+- All packages support Intel(R) software setup assistant (ISSA) and
+ install-time FLEXlm license checking.
+- ISSA support allows license file to be specified directly in case of
+ no Internet connection or problems with IRC or serial #s.
+- Linux installer allows root or non-root, RPM or non-RPM installs.
+- FLEXlm license servers (for those who need floating/counted licenses)
+ are provided separately on Intel(R) Premier.
+
+------------------------------------------------------------------------
+* Other names and brands may be claimed as the property of others.
diff --git a/deal.II/contrib/tbb/tbb30_104oss/COPYING b/deal.II/contrib/tbb/tbb30_104oss/COPYING
new file mode 100644
index 0000000000..5af6ed874d
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/COPYING
@@ -0,0 +1,353 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
+---------------- END OF Gnu General Public License ----------------
+
+The source code of Threading Building Blocks is distributed under version 2
+of the GNU General Public License, with the so-called "runtime exception,"
+as follows (or see any header or implementation file):
+
+ As a special exception, you may use this file as part of a free software
+ library without restriction. Specifically, if other files instantiate
+ templates or use macros or inline functions from this file, or you compile
+ this file and link it with other files to produce an executable, this
+ file does not by itself cause the resulting executable to be covered by
+ the GNU General Public License. This exception does not however
+ invalidate any other reasons why the executable file might be covered by
+ the GNU General Public License.
diff --git a/deal.II/contrib/tbb/tbb30_104oss/Makefile b/deal.II/contrib/tbb/tbb30_104oss/Makefile
new file mode 100644
index 0000000000..f8faec09b4
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/Makefile
@@ -0,0 +1,84 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+tbb_root?=.
+include $(tbb_root)/build/common.inc
+.PHONY: default all tbb tbbmalloc test examples
+
+#workaround for non-depend targets tbb and tbbmalloc which both depend on version_string.tmp
+#According to documentation submakes should run in parallel
+.NOTPARALLEL: tbb tbbmalloc
+
+default: tbb tbbmalloc
+
+all: tbb tbbmalloc test examples
+
+tbb: mkdir
+ $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbb cfg=debug tbb_root=$(tbb_root)
+ $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbb cfg=release tbb_root=$(tbb_root)
+
+tbbmalloc: mkdir
+ $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc tbb_root=$(tbb_root)
+ $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc tbb_root=$(tbb_root)
+
+test: tbb tbbmalloc
+ -$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=debug malloc_test tbb_root=$(tbb_root)
+ -$(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.test cfg=debug tbb_root=$(tbb_root)
+ -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.tbbmalloc cfg=release malloc_test tbb_root=$(tbb_root)
+ -$(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.test cfg=release tbb_root=$(tbb_root)
+
+rml: mkdir
+ $(MAKE) -C "$(work_dir)_debug" -r -f $(tbb_root)/build/Makefile.rml cfg=debug tbb_root=$(tbb_root)
+ $(MAKE) -C "$(work_dir)_release" -r -f $(tbb_root)/build/Makefile.rml cfg=release tbb_root=$(tbb_root)
+
+
+examples: tbb tbbmalloc
+ $(MAKE) -C examples -r -f Makefile tbb_root=.. release test
+
+.PHONY: clean clean_examples mkdir info
+
+clean: clean_examples
+ $(shell $(RM) $(work_dir)_release$(SLASH)*.* >$(NUL) 2>$(NUL))
+ $(shell $(RD) $(work_dir)_release >$(NUL) 2>$(NUL))
+ $(shell $(RM) $(work_dir)_debug$(SLASH)*.* >$(NUL) 2>$(NUL))
+ $(shell $(RD) $(work_dir)_debug >$(NUL) 2>$(NUL))
+ @echo clean done
+
+clean_examples:
+ $(shell $(MAKE) -s -i -r -C examples -f Makefile tbb_root=.. clean >$(NUL) 2>$(NUL))
+
+mkdir:
+ $(shell $(MD) "$(work_dir)_release" >$(NUL) 2>$(NUL))
+ $(shell $(MD) "$(work_dir)_debug" >$(NUL) 2>$(NUL))
+ @echo Created $(work_dir)_release and ..._debug directories
+
+info:
+ @echo OS: $(tbb_os)
+ @echo arch=$(arch)
+ @echo compiler=$(compiler)
+ @echo runtime=$(runtime)
+ @echo tbb_build_prefix=$(tbb_build_prefix)
+
diff --git a/deal.II/contrib/tbb/tbb30_104oss/README b/deal.II/contrib/tbb/tbb30_104oss/README
new file mode 100644
index 0000000000..67ab8ad2e0
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/README
@@ -0,0 +1,11 @@
+Threading Building Blocks - README
+
+See index.html for directions and documentation.
+
+If source is present (./Makefile and src/ directories),
+type 'gmake' in this directory to build and test.
+
+See examples/index.html for runnable examples and directions.
+
+See http://threadingbuildingblocks.org for full documentation
+and software information.
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/AIX.gcc.inc b/deal.II/contrib/tbb/tbb30_104oss/build/AIX.gcc.inc
new file mode 100644
index 0000000000..c248205ac7
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/AIX.gcc.inc
@@ -0,0 +1,85 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+COMPILE_ONLY = -c -MMD
+PREPROC_ONLY = -E -x c
+INCLUDE_KEY = -I
+DEFINE_KEY = -D
+OUTPUT_KEY = -o #
+OUTPUTOBJ_KEY = -o #
+PIC_KEY = -fPIC
+WARNING_AS_ERROR_KEY = -Werror
+WARNING_KEY = -Wall
+DYLIB_KEY = -shared
+LIBDL = -ldl
+
+TBB_NOSTRICT = 1
+
+CPLUS = g++
+CONLY = gcc
+LIB_LINK_FLAGS = -shared
+LIBS = -lpthread -ldl
+C_FLAGS = $(CPLUS_FLAGS) -x c
+
+ifeq ($(cfg), release)
+ CPLUS_FLAGS = -O2 -DUSE_PTHREAD -pthread
+endif
+ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -pthread
+endif
+
+ASM=
+ASM_FLAGS=
+
+TBB_ASM.OBJ=
+
+ifeq (powerpc,$(arch))
+ CPLUS_FLAGS += -maix64 -Wl,-G
+ LIB_LINK_FLAGS += -maix64 -Wl,-b64 -Wl,-brtl -Wl,-G
+endif
+
+#------------------------------------------------------------------------------
+# Setting assembler data.
+#------------------------------------------------------------------------------
+
+ASSEMBLY_SOURCE=ibm_aix51
+ifeq (powerpc,$(arch))
+ TBB_ASM.OBJ = atomic_support.o
+endif
+
+#------------------------------------------------------------------------------
+# End of setting assembler data.
+#------------------------------------------------------------------------------
+
+#------------------------------------------------------------------------------
+# Setting tbbmalloc data.
+#------------------------------------------------------------------------------
+
+M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2
+
+#------------------------------------------------------------------------------
+# End of setting tbbmalloc data.
+#------------------------------------------------------------------------------
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/AIX.inc b/deal.II/contrib/tbb/tbb30_104oss/build/AIX.inc
new file mode 100644
index 0000000000..0d1c561baa
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/AIX.inc
@@ -0,0 +1,74 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+ifndef arch
+ arch:=$(shell uname -p)
+ export arch
+endif
+
+ifndef runtime
+ gcc_version:=$(shell gcc -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//')
+ os_version:=$(shell uname -r)
+ os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
+ export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)
+endif
+
+native_compiler := gcc
+export compiler ?= gcc
+debugger ?= gdb
+
+CMD=$(SHELL) -c
+CWD=$(shell pwd)
+RM?=rm -f
+RD?=rmdir
+MD?=mkdir -p
+NUL= /dev/null
+SLASH=/
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_aix.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.tmp
+MAKE_TBBVARS=sh $(tbb_root)/build/generate_tbbvars.sh
+
+ifdef LIBPATH
+ export LIBPATH := .:$(LIBPATH)
+else
+ export LIBPATH := .
+endif
+
+####### Build settings ########################################################
+
+OBJ = o
+DLL = so
+
+TBB.DEF =
+TBB.DLL = libtbb$(DEBUG_SUFFIX).$(DLL)
+TBB.LIB = $(TBB.DLL)
+LINK_TBB.LIB = $(TBB.LIB)
+
+MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
+MALLOC.LIB = $(MALLOC.DLL)
+
+TBB_NOSTRICT=1
+
+TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.gcc.inc b/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.gcc.inc
new file mode 100644
index 0000000000..7c65a71f0b
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.gcc.inc
@@ -0,0 +1,93 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+COMPILE_ONLY = -c -MMD
+PREPROC_ONLY = -E -x c
+INCLUDE_KEY = -I
+DEFINE_KEY = -D
+OUTPUT_KEY = -o #
+OUTPUTOBJ_KEY = -o #
+PIC_KEY = -fPIC
+WARNING_AS_ERROR_KEY = -Werror
+WARNING_KEY = -Wall
+DYLIB_KEY = -shared
+
+TBB_NOSTRICT = 1
+
+CPLUS = g++
+CONLY = gcc
+LIB_LINK_FLAGS = -shared
+LIBS = -lpthread
+C_FLAGS = $(CPLUS_FLAGS)
+
+ifeq ($(cfg), release)
+ CPLUS_FLAGS = -O2 -DUSE_PTHREAD
+endif
+ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+endif
+
+ASM=
+ASM_FLAGS=
+
+TBB_ASM.OBJ=
+
+ifeq (ia64,$(arch))
+# Position-independent code (PIC) is a must on IA-64, even for regular (not shared) executables
+ CPLUS_FLAGS += $(PIC_KEY)
+endif
+
+ifeq (intel64,$(arch))
+ CPLUS_FLAGS += -m64
+ LIB_LINK_FLAGS += -m64
+endif
+
+ifeq (ia32,$(arch))
+ CPLUS_FLAGS += -m32
+ LIB_LINK_FLAGS += -m32
+endif
+
+#------------------------------------------------------------------------------
+# Setting assembler data.
+#------------------------------------------------------------------------------
+ASSEMBLY_SOURCE=$(arch)-gas
+ifeq (ia64,$(arch))
+ ASM=as
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+endif
+#------------------------------------------------------------------------------
+# End of setting assembler data.
+#------------------------------------------------------------------------------
+
+#------------------------------------------------------------------------------
+# Setting tbbmalloc data.
+#------------------------------------------------------------------------------
+
+M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2
+
+#------------------------------------------------------------------------------
+# End of setting tbbmalloc data.
+#------------------------------------------------------------------------------
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.inc b/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.inc
new file mode 100644
index 0000000000..8f2d8c89cb
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/FreeBSD.inc
@@ -0,0 +1,82 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public 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
+ gcc_version:=$(shell gcc -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//')
+ os_version:=$(shell uname -r)
+ os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
+ export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)
+endif
+
+native_compiler := gcc
+export compiler ?= gcc
+debugger ?= gdb
+
+CMD=$(SHELL) -c
+CWD=$(shell pwd)
+RM?=rm -f
+RD?=rmdir
+MD?=mkdir -p
+NUL= /dev/null
+SLASH=/
+MAKE_VERSIONS=sh $(tbb_root)/build/version_info_linux.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.tmp
+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.DEF =
+TBB.DLL = libtbb$(DEBUG_SUFFIX).$(DLL)
+TBB.LIB = $(TBB.DLL)
+LINK_TBB.LIB = $(TBB.LIB)
+
+MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
+MALLOC.LIB = $(MALLOC.DLL)
+
+TBB_NOSTRICT=1
+
+TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.rml b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.rml
new file mode 100644
index 0000000000..aa211e98b0
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.rml
@@ -0,0 +1,156 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+tbb_root ?= $(TBB30_INSTALL_DIR)
+BUILDING_PHASE=1
+TEST_RESOURCE = $(RML.RES)
+include $(tbb_root)/build/common.inc
+DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
+
+# default target
+default_rml: rml rml_test
+
+RML_ROOT ?= $(tbb_root)/src/rml
+RML_SERVER_ROOT = $(RML_ROOT)/server
+
+VPATH = $(tbb_root)/src/tbb $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE)
+VPATH += $(RML_ROOT)/server $(RML_ROOT)/client $(RML_ROOT)/test $(tbb_root)/src/test
+
+include $(tbb_root)/build/common_rules.inc
+
+#--------------------------------------------------------------------------
+# Define rules for making the RML server shared library and client objects.
+#--------------------------------------------------------------------------
+
+# Object files that make up RML server
+RML_SERVER.OBJ = rml_server.$(OBJ)
+
+# Object files that RML clients need
+RML_TBB_CLIENT.OBJ = rml_tbb.$(OBJ) dynamic_link.$(OBJ)
+RML_OMP_CLIENT.OBJ = rml_omp.$(OBJ) omp_dynamic_link.$(OBJ)
+
+RML.OBJ = $(RML_SERVER.OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
+ifeq (windows,$(tbb_os))
+RML_ASM.OBJ = $(if $(findstring intel64,$(arch)),$(TBB_ASM.OBJ))
+endif
+ifeq (linux,$(tbb_os))
+RML_ASM.OBJ = $(if $(findstring ia64,$(arch)),$(TBB_ASM.OBJ))
+endif
+
+RML_TBB_DEP= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) concurrent_vector_rml.$(OBJ) tbb_misc_rml.$(OBJ)
+TBB_DEP_NON_RML_TEST= cache_aligned_allocator_rml.$(OBJ) dynamic_link_rml.$(OBJ) $(RML_ASM.OBJ) tbb_misc_rml.$(OBJ)
+TBB_DEP_RML_TEST= $(RML_ASM.OBJ)
+ifeq ($(cfg),debug)
+RML_TBB_DEP+= spin_mutex_rml.$(OBJ)
+TBB_DEP_RML_TEST+= tbb_misc_rml.$(OBJ)
+endif
+LIBS += $(LIBDL)
+
+INCLUDES += $(INCLUDE_KEY)$(RML_ROOT)/include $(INCLUDE_KEY).
+T_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(tbb_root)/src/test $(INCLUDE_KEY)$(RML_SERVER_ROOT)
+
+# Suppress superfluous warnings for RML compilation
+R_CPLUS_FLAGS = $(subst DO_ITT_NOTIFY,DO_ITT_NOTIFY=0,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS) \
+ $(DEFINE_KEY)TBB_USE_THREADING_TOOLS=0 $(DEFINE_KEY)__TBB_RML_STATIC=1 $(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1
+
+%.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(INCLUDES) $<
+
+tbb_misc_rml.$(OBJ): version_string.tmp
+
+RML_TEST.OBJ = test_job_automaton.$(OBJ) test_thread_monitor.$(OBJ) test_rml_tbb.$(OBJ) test_rml_omp.$(OBJ) test_rml_mixed.$(OBJ)
+
+$(RML_TBB_DEP): %_rml.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(R_CPLUS_FLAGS) $(PIC_KEY) $(INCLUDES) $<
+
+$(RML_TEST.OBJ): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(R_CPLUS_FLAGS) $(PIC_KEY) $(T_INCLUDES) $<
+
+ifneq (,$(RML.DEF))
+rml.def: $(RML.DEF)
+ $(CMD) "$(CPLUS) $(PREPROC_ONLY) $(RML.DEF) $(filter $(DEFINE_KEY)%,$(CPLUS_FLAGS)) >rml.def 2>$(NUL) || exit 0"
+
+LIB_LINK_FLAGS += $(EXPORT_KEY)rml.def
+$(RML.DLL): rml.def
+endif
+
+$(RML.DLL): BUILDING_LIBRARY = $(RML.DLL)
+$(RML.DLL): $(RML_TBB_DEP) $(RML_SERVER.OBJ) $(RML.RES) $(RML_NO_VERSION.DLL) $(RML_ASM.OBJ)
+ $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(RML.DLL) $(RML_SERVER.OBJ) $(RML_TBB_DEP) $(RML_ASM.OBJ) $(RML.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS)
+
+ifneq (,$(RML_NO_VERSION.DLL))
+$(RML_NO_VERSION.DLL):
+ echo "INPUT ($(RML.DLL))" > $(RML_NO_VERSION.DLL)
+endif
+
+rml: $(RML.DLL) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ)
+
+#------------------------------------------------------
+# End of rules for making the RML server shared library
+#------------------------------------------------------
+
+#------------------------------------------------------
+# Define rules for making the RML unit tests
+#------------------------------------------------------
+
+add_debug=$(basename $(1))_debug$(suffix $(1))
+cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
+
+RML_TESTS = test_job_automaton.$(TEST_EXT) test_thread_monitor.$(TEST_EXT) test_rml_tbb.$(TEST_EXT) test_rml_omp.$(TEST_EXT) test_rml_mixed.$(TEST_EXT) test_rml_omp_c_linkage.$(TEST_EXT)
+
+test_rml_tbb.$(TEST_EXT): test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_tbb.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
+
+test_rml_omp.$(TEST_EXT): test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_omp.$(OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
+
+test_rml_mixed.$(TEST_EXT): test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_rml_mixed.$(OBJ) $(RML_TBB_CLIENT.OBJ) $(RML_OMP_CLIENT.OBJ) $(TBB_DEP_RML_TEST) $(LIBS) $(LINK_FLAGS)
+
+rml_omp_stub.$(OBJ): rml_omp_stub.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS) $(T_INCLUDES) $(PIC_KEY) $<
+
+test_rml_omp_c_linkage.$(TEST_EXT): test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ)
+ $(CONLY) $(C_FLAGS) $(OUTPUT_KEY)$@ test_rml_omp_c_linkage.$(OBJ) rml_omp_stub.$(OBJ) $(LIBS) $(LINK_FLAGS)
+
+test_%.$(TEST_EXT): test_%.$(OBJ) $(TBB_DEP_NON_RML_TEST)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(TBB_DEP_NON_RML_TEST) $(LIBS) $(LINK_FLAGS)
+
+### run_cmd is usually empty
+rml_test: $(call cross_suffix,$(RML.DLL)) $(TEST_PREREQUISITE) $(RML_TESTS)
+ $(run_cmd) ./test_job_automaton.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_thread_monitor.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_rml_tbb.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_rml_omp.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_rml_mixed.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_rml_omp_c_linkage.$(TEST_EXT) $(args)
+
+#------------------------------------------------------
+# End of rules for making the TBBMalloc unit tests
+#------------------------------------------------------
+
+# Include automatically generated dependences
+-include *.d
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbb b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbb
new file mode 100644
index 0000000000..2f49eabe30
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbb
@@ -0,0 +1,127 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+#------------------------------------------------------------------------------
+# Define rules for making the TBB shared library.
+#------------------------------------------------------------------------------
+
+tbb_root ?= "$(TBB30_INSTALL_DIR)"
+BUILDING_PHASE=1
+include $(tbb_root)/build/common.inc
+DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
+
+#------------------------------------------------------------
+# Define static pattern rules dealing with .cpp source files
+#------------------------------------------------------------
+$(warning CONFIG: cfg=$(cfg) arch=$(arch) compiler=$(compiler) os=$(tbb_os) runtime=$(runtime))
+
+default_tbb: $(TBB.DLL)
+.PHONY: default_tbb tbbvars clean
+.PRECIOUS: %.$(OBJ)
+
+VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/old $(tbb_root)/src/rml/client
+
+CPLUS_FLAGS += $(PIC_KEY) $(DEFINE_KEY)__TBB_BUILD=1
+
+# A template to switch off strict-ansi for certain compilation units
+# ifeq (1,$(TBB_NOSTRICT))
+# KNOWN_NOSTRICT =
+# endif
+
+# Object files (that were compiled from C++ code) that gmake up TBB
+TBB_CPLUS.OBJ = concurrent_hash_map.$(OBJ) \
+ concurrent_queue.$(OBJ) \
+ concurrent_vector.$(OBJ) \
+ dynamic_link.$(OBJ) \
+ itt_notify.$(OBJ) \
+ cache_aligned_allocator.$(OBJ) \
+ pipeline.$(OBJ) \
+ queuing_mutex.$(OBJ) \
+ queuing_rw_mutex.$(OBJ) \
+ reader_writer_lock.$(OBJ) \
+ spin_rw_mutex.$(OBJ) \
+ spin_mutex.$(OBJ) \
+ critical_section.$(OBJ) \
+ task.$(OBJ) \
+ tbb_misc.$(OBJ) \
+ mutex.$(OBJ) \
+ recursive_mutex.$(OBJ) \
+ condition_variable.$(OBJ) \
+ tbb_thread.$(OBJ) \
+ concurrent_monitor.$(OBJ) \
+ private_server.$(OBJ) \
+ rml_tbb.$(OBJ) \
+ task_group_context.$(OBJ) \
+ governor.$(OBJ) \
+ market.$(OBJ) \
+ arena.$(OBJ) \
+ scheduler.$(OBJ) \
+ observer_proxy.$(OBJ) \
+ tbb_statistics.$(OBJ) \
+ tbb_main.$(OBJ)
+
+# OLD/Legacy object files for backward binary compatibility
+ifeq (,$(findstring $(DEFINE_KEY)TBB_NO_LEGACY,$(CPLUS_FLAGS)))
+TBB_CPLUS_OLD.OBJ = \
+ concurrent_vector_v2.$(OBJ) \
+ concurrent_queue_v2.$(OBJ) \
+ spin_rw_mutex_v2.$(OBJ) \
+ task_v2.$(OBJ)
+endif
+
+# Object files that gmake up TBB (TBB_ASM.OBJ is platform-specific)
+TBB.OBJ = $(TBB_CPLUS.OBJ) $(TBB_CPLUS_OLD.OBJ) $(TBB_ASM.OBJ)
+
+# Suppress superfluous warnings for TBB compilation
+WARNING_KEY += $(WARNING_SUPPRESS)
+
+include $(tbb_root)/build/common_rules.inc
+
+ifneq (,$(TBB.DEF))
+tbb.def: $(TBB.DEF)
+ $(CMD) "$(CPLUS) $(PREPROC_ONLY) $(TBB.DEF) $(INCLUDES) $(CPLUS_FLAGS) >tbb.def 2>$(NUL) || exit 0"
+
+LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def
+$(TBB.DLL): tbb.def
+endif
+
+tbbvars.sh:
+ $(MAKE_TBBVARS)
+
+$(TBB.DLL): BUILDING_LIBRARY = $(TBB.DLL)
+$(TBB.DLL): $(TBB.OBJ) $(TBB.RES) tbbvars.sh $(TBB_NO_VERSION.DLL)
+ $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(TBB.DLL) $(TBB.OBJ) $(TBB.RES) $(LIB_LINK_LIBS) $(LIB_LINK_FLAGS)
+
+ifneq (,$(TBB_NO_VERSION.DLL))
+$(TBB_NO_VERSION.DLL):
+ echo "INPUT ($(TBB.DLL))" > $(TBB_NO_VERSION.DLL)
+endif
+
+#clean:
+# $(RM) *.$(OBJ) *.$(DLL) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d core core.*[0-9][0-9]
+
+# Include automatically generated dependences
+-include *.d
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbbmalloc b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbbmalloc
new file mode 100644
index 0000000000..19b85f5a6b
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.tbbmalloc
@@ -0,0 +1,200 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+# default target
+default_malloc: malloc malloc_test
+
+tbb_root ?= $(TBB30_INSTALL_DIR)
+BUILDING_PHASE=1
+TEST_RESOURCE = $(MALLOC.RES)
+include $(tbb_root)/build/common.inc
+DEBUG_SUFFIX=$(findstring _debug,_$(cfg))
+
+MALLOC_ROOT ?= $(tbb_root)/src/tbbmalloc
+MALLOC_SOURCE_ROOT ?= $(MALLOC_ROOT)
+
+VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/test
+VPATH += $(MALLOC_ROOT) $(MALLOC_SOURCE_ROOT)
+
+CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBBMALLOC_NO_IMPLICIT_LINKAGE=1)
+
+include $(tbb_root)/build/common_rules.inc
+
+#------------------------------------------------------
+# Define rules for making the TBBMalloc shared library.
+#------------------------------------------------------
+
+# Object files that make up TBBMalloc
+MALLOC_CPLUS.OBJ = tbbmalloc.$(OBJ) dynamic_link.$(OBJ)
+MALLOC_CUSTOM.OBJ += tbb_misc_malloc.$(OBJ)
+MALLOC_ASM.OBJ = $(TBB_ASM.OBJ)
+
+# MALLOC_CPLUS.OBJ is built in two steps due to Intel Compiler Tracker # C69574
+MALLOC_CPLUS.OBJ += frontend.$(OBJ) backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ)
+MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) $(MALLOC_CUSTOM.OBJ) itt_notify.$(OBJ)
+PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ)
+M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBB_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)
+
+itt_notify.$(OBJ): CPLUS_FLAGS += $(PIC_KEY)
+
+$(PROXY.OBJ): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(PIC_KEY) $(M_INCLUDES) $<
+
+$(MALLOC_CPLUS.OBJ): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(M_INCLUDES) $<
+
+tbb_misc_malloc.$(OBJ): tbb_misc.cpp version_string.tmp
+ $(CPLUS) $(COMPILE_ONLY) $(M_CPLUS_FLAGS) $(PIC_KEY) $(OUTPUTOBJ_KEY)$@ $(INCLUDE_KEY). $(INCLUDES) $<
+
+MALLOC_LINK_FLAGS = $(LIB_LINK_FLAGS)
+PROXY_LINK_FLAGS = $(LIB_LINK_FLAGS)
+
+ifneq (,$(MALLOC.DEF))
+tbbmalloc.def: $(MALLOC.DEF)
+ $(CMD) "$(CPLUS) $(PREPROC_ONLY) $(MALLOC.DEF) $(CPLUS_FLAGS) >tbbmalloc.def 2>$(NUL) || exit 0"
+
+MALLOC_LINK_FLAGS += $(EXPORT_KEY)tbbmalloc.def
+$(MALLOC.DLL): tbbmalloc.def
+endif
+
+$(MALLOC.DLL): BUILDING_LIBRARY = $(MALLOC.DLL)
+$(MALLOC.DLL): $(MALLOC.OBJ) $(MALLOC.RES) $(MALLOC_NO_VERSION.DLL)
+ $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOC.DLL) $(MALLOC.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(MALLOC_LINK_FLAGS)
+
+ifneq (,$(MALLOCPROXY.DEF))
+tbbmallocproxy.def: $(MALLOCPROXY.DEF)
+ $(CMD) "$(CPLUS) $(PREPROC_ONLY) $(MALLOCPROXY.DEF) $(CPLUS_FLAGS) >tbbmallocproxy.def 2>$(NUL) || exit 0"
+
+PROXY_LINK_FLAGS += $(EXPORT_KEY)tbbmallocproxy.def
+$(MALLOCPROXY.DLL): tbbmallocproxy.def
+endif
+
+ifneq (,$(MALLOCPROXY.DLL))
+$(MALLOCPROXY.DLL): BUILDING_LIBRARY = $(MALLOCPROXY.DLL)
+$(MALLOCPROXY.DLL): $(PROXY.OBJ) $(MALLOCPROXY_NO_VERSION.DLL) $(MALLOC.DLL) $(MALLOC.RES)
+ $(LIB_LINK_CMD) $(LIB_OUTPUT_KEY)$(MALLOCPROXY.DLL) $(PROXY.OBJ) $(MALLOC.RES) $(LIB_LINK_LIBS) $(LINK_MALLOC.LIB) $(PROXY_LINK_FLAGS)
+
+malloc: $(MALLOCPROXY.DLL)
+endif
+
+ifneq (,$(MALLOC_NO_VERSION.DLL))
+$(MALLOC_NO_VERSION.DLL):
+ echo "INPUT ($(MALLOC.DLL))" > $(MALLOC_NO_VERSION.DLL)
+endif
+
+ifneq (,$(MALLOCPROXY_NO_VERSION.DLL))
+$(MALLOCPROXY_NO_VERSION.DLL):
+ echo "INPUT ($(MALLOCPROXY.DLL))" > $(MALLOCPROXY_NO_VERSION.DLL)
+endif
+
+malloc: $(MALLOC.DLL) $(MALLOCPROXY.DLL)
+
+malloc_dll: $(MALLOC.DLL)
+
+malloc_proxy_dll: $(MALLOCPROXY.DLL)
+
+.PHONY: malloc malloc_dll malloc_proxy_dll
+
+#------------------------------------------------------
+# End of rules for making the TBBMalloc shared library
+#------------------------------------------------------
+
+#------------------------------------------------------
+# Define rules for making the TBBMalloc unit tests
+#------------------------------------------------------
+
+add_debug=$(basename $(1))_debug$(suffix $(1))
+cross_suffix=$(if $(crosstest),$(if $(DEBUG_SUFFIX),$(subst _debug,,$(1)),$(call add_debug,$(1))),$(1))
+
+MALLOC_MAIN_TESTS = test_ScalableAllocator.$(TEST_EXT) \
+ test_ScalableAllocator_STL.$(TEST_EXT) \
+ test_malloc_compliance.$(TEST_EXT) \
+ test_malloc_regression.$(TEST_EXT) \
+ test_malloc_init_shutdown.$(TEST_EXT)
+MALLOC_OVERLOAD_TESTS = test_malloc_overload.$(TEST_EXT) test_malloc_overload_proxy.$(TEST_EXT) test_malloc_atexit.$(TEST_EXT)
+
+MALLOC_LIB = $(call cross_suffix,$(MALLOC.LIB))
+MALLOC_PROXY_LIB = $(call cross_suffix,$(MALLOCPROXY.LIB))
+
+ifeq (windows.gcc,$(tbb_os).$(compiler))
+test_malloc_overload.$(TEST_EXT): LIBS += $(MALLOC_PROXY_LIB)
+endif
+
+test_malloc_overload.$(TEST_EXT): test_malloc_overload.cpp
+ $(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(LIBS) $(LINK_FLAGS)
+test_malloc_overload_proxy.$(TEST_EXT): test_malloc_overload.cpp $(MALLOC_PROXY_LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(subst /MT,/MD,$(M_CPLUS_FLAGS)) $(M_INCLUDES) $< $(LIBDL) $(MALLOC_PROXY_LIB) $(LIBS) $(LINK_FLAGS)
+
+test_malloc_whitebox.$(TEST_EXT): test_malloc_whitebox.cpp $(MALLOC_ASM.OBJ) tbb_misc_malloc.$(OBJ)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $^ $(LIBS) $(LIBDL) $(LINK_FLAGS)
+
+test_malloc_lib_unload.$(TEST_EXT): test_malloc_lib_unload.cpp
+ $(CPLUS) $(OUTPUT_KEY)$@ $(M_CPLUS_FLAGS) $(M_INCLUDES) $^ $(LIBS) $(LIBDL) $(LINK_FLAGS)
+
+$(MALLOC_MAIN_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_LIB) $(LIBS) $(LINK_FLAGS)
+
+ifeq (,$(NO_C_TESTS))
+MALLOC_C_TESTS = test_malloc_pure_c.$(TEST_EXT)
+
+$(MALLOC_C_TESTS): %.$(TEST_EXT): %.$(OBJ) $(MALLOC_LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $^ $(LIBS) $(LINK_FLAGS)
+endif
+
+# Rules for generating a test DLL
+%_dll.$(DLL): %_dll.$(OBJ)
+ $(LIB_LINK_CMD) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LIBS) $(DYLIB_KEY) $(LIB_LINK_FLAGS)
+
+test_malloc_atexit.$(TEST_EXT): test_malloc_atexit.$(OBJ) test_malloc_atexit_dll.$(DLL)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(MALLOC_PROXY_LIB) $(MALLOC_LIB) test_malloc_atexit_dll.$(LIBEXT) $(LIBS) $(LINK_FLAGS)
+
+MALLOC_TESTS = $(MALLOC_MAIN_TESTS) $(MALLOC_OVERLOAD_TESTS) $(MALLOC_C_TESTS) test_malloc_whitebox.$(TEST_EXT) test_malloc_lib_unload.$(TEST_EXT)
+# run_cmd is usually empty
+malloc_test: $(call cross_suffix,$(MALLOC.DLL)) $(TEST_PREREQUISITE) $(MALLOC_TESTS)
+ $(run_cmd) ./test_malloc_atexit.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_malloc_lib_unload.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_malloc_whitebox.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) $(TEST_LAUNCHER) -l $(call cross_suffix,$(MALLOCPROXY.DLL)) test_malloc_overload.$(TEST_EXT) $(args)
+ $(run_cmd) $(TEST_LAUNCHER) test_malloc_overload_proxy.$(TEST_EXT) $(args)
+ $(run_cmd) $(TEST_LAUNCHER) test_malloc_compliance.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_ScalableAllocator.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_ScalableAllocator_STL.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_malloc_regression.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_malloc_init_shutdown.$(TEST_EXT) $(args)
+ifeq (,$(NO_C_TESTS))
+ $(run_cmd) ./test_malloc_pure_c.$(TEST_EXT) $(args)
+endif
+
+#------------------------------------------------------
+# End of rules for making the TBBMalloc unit tests
+#------------------------------------------------------
+
+# Include automatically generated dependences
+-include *.d
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.test b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.test
new file mode 100644
index 0000000000..90f51a41d7
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/Makefile.test
@@ -0,0 +1,290 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+#------------------------------------------------------------------------------
+# Define rules for making the TBB tests.
+#------------------------------------------------------------------------------
+.PHONY: default test_tbb_plain test_tbb_old clean
+
+default: test_tbb_plain test_tbb_old
+
+tbb_root ?= $(TBB30_INSTALL_DIR)
+BUILDING_PHASE=1
+TEST_RESOURCE = $(TBB.RES)
+include $(tbb_root)/build/common.inc
+DEBUG_SUFFIX=$(findstring _debug,$(call cross_cfg,_$(cfg)))
+
+#------------------------------------------------------------
+# Define static pattern rules dealing with .cpp source files
+#------------------------------------------------------------
+
+VPATH = $(tbb_root)/src/tbb/$(ASSEMBLY_SOURCE) $(tbb_root)/src/tbb $(tbb_root)/src/rml/client $(tbb_root)/src/old $(tbb_root)/src/test $(tbb_root)/src/perf
+
+CPLUS_FLAGS += $(if $(crosstest),$(DEFINE_KEY)__TBB_NO_IMPLICIT_LINKAGE=1)
+
+include $(tbb_root)/build/common_rules.inc
+
+# Rule for generating executable test
+%.$(TEST_EXT): %.$(OBJ) $(TBB.LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LINK_TBB.LIB) $(LIBS) $(AUX_LIBS) $(LINK_FLAGS)
+
+# Rules for generating a test DLL
+%_dll.$(DLL): %_dll.$(OBJ) $(TBB.LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $< $(LINK_TBB.LIB) $(LIBS) $(LINK_FLAGS) $(DYLIB_KEY)
+.PRECIOUS: %_dll.$(OBJ) %_dll.$(DLL)
+
+# Rules for the tests, which use TBB in a dynamically loadable library
+test_model_plugin.$(TEST_EXT): test_model_plugin.$(OBJ) test_model_plugin_dll.$(DLL)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $< $(LIBDL) $(LIBS) $(LINK_FLAGS)
+
+# tbb_misc.$(OBJ) has to be specified here (instead of harness_inject_scheduler.h) because it carries dependency on version_string.tmp
+TASK_CPP_DEPENDENCIES = $(TBB_ASM.OBJ) tbb_misc.$(OBJ)
+ifeq (,$(codecov))
+ TASK_CPP_DEPENDENCIES += itt_notify.$(OBJ)
+endif
+
+# These executables don't depend on the TBB library, but include core .cpp files directly
+TASK_CPP_DIRECTLY_INCLUDED = test_eh_tasks.$(TEST_EXT) \
+ test_task_leaks.$(TEST_EXT) \
+ test_task_assertions.$(TEST_EXT) \
+ test_fast_random.$(TEST_EXT)
+
+# Necessary to locate version_string.tmp referenced from directly included tbb_misc.cpp
+INCLUDES += $(INCLUDE_KEY).
+
+$(TASK_CPP_DIRECTLY_INCLUDED): WARNING_KEY += $(WARNING_SUPPRESS)
+
+$(TASK_CPP_DIRECTLY_INCLUDED): %.$(TEST_EXT) : %.$(OBJ) $(TASK_CPP_DEPENDENCIES)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $^ $(LIBDL) $(LIBS) $(LINK_FLAGS)
+
+test_tbb_header2.$(OBJ): test_tbb_header.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $(DEFINE_KEY)__TBB_TEST_SECONDARY=1 $< $(OUTPUTOBJ_KEY)$@
+
+# Detecting "multiple definition" linker error using the test that covers the whole library
+test_tbb_header.$(TEST_EXT): test_tbb_header.$(OBJ) test_tbb_header2.$(OBJ) $(TBB.LIB)
+ $(CPLUS) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) test_tbb_header.$(OBJ) test_tbb_header2.$(OBJ) $(LINK_TBB.LIB) $(LIBS) $(LINK_FLAGS)
+
+# The main list of TBB tests
+TEST_TBB_PLAIN.EXE = test_assembly.$(TEST_EXT) \
+ test_aligned_space.$(TEST_EXT) \
+ test_atomic.$(TEST_EXT) \
+ test_blocked_range.$(TEST_EXT) \
+ test_blocked_range2d.$(TEST_EXT) \
+ test_blocked_range3d.$(TEST_EXT) \
+ test_concurrent_queue.$(TEST_EXT) \
+ test_concurrent_vector.$(TEST_EXT) \
+ test_concurrent_unordered.$(TEST_EXT) \
+ test_concurrent_hash_map.$(TEST_EXT) \
+ test_enumerable_thread_specific.$(TEST_EXT) \
+ test_handle_perror.$(TEST_EXT) \
+ test_halt.$(TEST_EXT) \
+ test_lambda.$(TEST_EXT) \
+ test_model_plugin.$(TEST_EXT) \
+ test_mutex.$(TEST_EXT) \
+ test_mutex_native_threads.$(TEST_EXT) \
+ test_rwm_upgrade_downgrade.$(TEST_EXT) \
+ test_cache_aligned_allocator_STL.$(TEST_EXT) \
+ test_cache_aligned_allocator.$(TEST_EXT) \
+ test_parallel_for.$(TEST_EXT) \
+ test_parallel_reduce.$(TEST_EXT) \
+ test_parallel_sort.$(TEST_EXT) \
+ test_parallel_scan.$(TEST_EXT) \
+ test_parallel_while.$(TEST_EXT) \
+ test_parallel_do.$(TEST_EXT) \
+ test_pipeline.$(TEST_EXT) \
+ test_pipeline_with_tbf.$(TEST_EXT) \
+ test_parallel_pipeline.$(TEST_EXT) \
+ test_task_scheduler_init.$(TEST_EXT) \
+ test_task_scheduler_observer.$(TEST_EXT) \
+ test_task.$(TEST_EXT) \
+ test_tbb_thread.$(TEST_EXT) \
+ test_std_thread.$(TEST_EXT) \
+ test_tick_count.$(TEST_EXT) \
+ test_inits_loop.$(TEST_EXT) \
+ test_yield.$(TEST_EXT) \
+ test_eh_algorithms.$(TEST_EXT) \
+ test_parallel_invoke.$(TEST_EXT) \
+ test_task_group.$(TEST_EXT) \
+ test_ittnotify.$(TEST_EXT) \
+ test_parallel_for_each.$(TEST_EXT) \
+ test_tbb_header.$(TEST_EXT) \
+ test_combinable.$(TEST_EXT) \
+ test_task_auto_init.$(TEST_EXT) \
+ test_concurrent_monitor.$(TEST_EXT) \
+ test_critical_section.$(TEST_EXT) \
+ test_semaphore.$(TEST_EXT) \
+ test_reader_writer_lock.$(TEST_EXT) \
+ test_tbb_condition_variable.$(TEST_EXT) \
+ test_intrusive_list.$(TEST_EXT) \
+ test_cilk_interop.$(TEST_EXT) \
+ test_tbb_version.$(TEST_EXT) # insert new files right above
+
+ifdef OPENMP_FLAG
+ TEST_TBB_PLAIN.EXE += test_tbb_openmp
+test_openmp.$(TEST_EXT): test_openmp.cpp
+ $(CPLUS) $(OPENMP_FLAG) $(OUTPUT_KEY)$@ $(CPLUS_FLAGS) $(INCLUDES) $< $(LIBS) $(LINK_TBB.LIB) $(LINK_FLAGS)
+.PHONY: test_tbb_openmp
+test_tbb_openmp: $(TEST_PREREQUISITE) test_openmp.$(TEST_EXT)
+ $(run_cmd) ./test_openmp.$(TEST_EXT) 1:4
+
+endif
+
+$(TEST_TBB_PLAIN.EXE): WARNING_KEY += $(TEST_WARNING_KEY)
+
+# Run tests that are in TASK_CPP_DIRECTLY_INCLUDED and TEST_TBB_PLAIN.EXE
+# The test are ordered so that simpler components are tested first.
+# If a component Y uses component X, then tests for Y should come after tests for X.
+# Note that usually run_cmd is empty, and tests run directly
+test_tbb_plain: $(TEST_PREREQUISITE) $(TASK_CPP_DIRECTLY_INCLUDED) $(TEST_TBB_PLAIN.EXE)
+ $(run_cmd) ./test_tbb_version.$(TEST_EXT) $(args)
+ # Checking TBB version first to make sure the following testing has anything in it
+ $(run_cmd) ./test_assembly.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_atomic.$(TEST_EXT) $(args)
+ # Yes, 4:8 is intended on the next line.
+ $(run_cmd) ./test_yield.$(TEST_EXT) $(args) 4:8
+ $(run_cmd) ./test_handle_perror.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_task_auto_init.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_task_scheduler_init.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_task_scheduler_observer.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_task_assertions.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_task.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_task_leaks.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_cache_aligned_allocator.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_cache_aligned_allocator_STL.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_blocked_range.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_blocked_range2d.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_blocked_range3d.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_for.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_sort.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_aligned_space.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_parallel_reduce.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_scan.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_while.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_do.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_inits_loop.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_lambda.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_mutex.$(TEST_EXT) $(args) 1:3
+ $(run_cmd) ./test_mutex_native_threads.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_rwm_upgrade_downgrade.$(TEST_EXT) $(args) 4
+ # Yes, 4:8 is intended on the next line.
+ $(run_cmd) ./test_halt.$(TEST_EXT) $(args) 4:8
+ $(run_cmd) ./test_pipeline.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_pipeline_with_tbf.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_parallel_pipeline.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_tick_count.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_queue.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_vector.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_unordered.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_concurrent_hash_map.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_enumerable_thread_specific.$(TEST_EXT) $(args) 0:4
+ $(run_cmd) ./test_combinable.$(TEST_EXT) $(args) 0:4
+ # $(run_cmd) ./test_model_plugin.$(TEST_EXT) $(args) 4
+ $(run_cmd) ./test_eh_tasks.$(TEST_EXT) $(args) 2:4
+ $(run_cmd) ./test_eh_algorithms.$(TEST_EXT) $(args) 2:4
+ $(run_cmd) ./test_tbb_thread.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_std_thread.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_parallel_invoke.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_task_group.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_ittnotify.$(TEST_EXT) $(args) 2:2
+ $(run_cmd) ./test_parallel_for_each.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_tbb_header.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_concurrent_monitor.$(TEST_EXT) $(args) 6:8
+ $(run_cmd) ./test_critical_section.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_semaphore.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_reader_writer_lock.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_tbb_condition_variable.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_intrusive_list.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_cilk_interop.$(TEST_EXT) $(args)
+ $(run_cmd) ./test_fast_random.$(TEST_EXT) $(args) 1:16
+
+CPLUS_FLAGS_DEPRECATED = $(DEFINE_KEY)TBB_DEPRECATED=1 $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(WARNING_SUPPRESS)
+
+TEST_TBB_OLD.OBJ = test_concurrent_vector_v2.$(OBJ) test_concurrent_queue_v2.$(OBJ) test_mutex_v2.$(OBJ)
+
+TEST_TBB_DEPRECATED.OBJ = test_concurrent_queue_deprecated.$(OBJ) \
+ test_concurrent_vector_deprecated.$(OBJ) \
+
+
+# For deprecated files, we don't mind warnings etc., thus compilation rules are most relaxed
+$(TEST_TBB_OLD.OBJ): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS_DEPRECATED) $(INCLUDES) $<
+
+%_deprecated.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS_DEPRECATED) $(INCLUDES) $<
+
+TEST_TBB_OLD.EXE = $(subst .$(OBJ),.$(TEST_EXT),$(TEST_TBB_OLD.OBJ) $(TEST_TBB_DEPRECATED.OBJ))
+
+ifeq (,$(NO_LEGACY_TESTS))
+test_tbb_old: $(TEST_PREREQUISITE) $(TEST_TBB_OLD.EXE)
+ $(run_cmd) ./test_concurrent_vector_v2.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_vector_deprecated.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_queue_v2.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_concurrent_queue_deprecated.$(TEST_EXT) $(args) 1:4
+ $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 1
+ $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 2
+ $(run_cmd) ./test_mutex_v2.$(TEST_EXT) $(args) 4
+else
+test_tbb_old:
+ @echo Legacy tests skipped
+endif
+
+ifneq (,$(codecov))
+codecov_gen:
+ profmerge
+ codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt
+endif
+
+test_% debug_%: test_%.$(TEST_EXT) $(TEST_PREREQUISITE)
+ifeq (,$(repeat))
+ $(run_cmd) ./$< $(args)
+else
+ifeq (windows,$(tbb_os))
+ for /L %%i in (1,1,$(repeat)) do echo %%i of $(repeat): && $(run_cmd) $< $(args)
+else
+ for ((i=1;i<=$(repeat);++i)); do echo $$i of $(repeat): && $(run_cmd) ./$< $(args); done
+endif
+endif # repeat
+ifneq (,$(codecov))
+ profmerge
+ codecov $(if $(findstring -,$(codecov)),$(codecov),) -demang -comp $(tbb_root)/build/codecov.txt
+endif
+
+time_%: time_%.$(TEST_EXT) $(TEST_PREREQUISITE)
+ $(run_cmd) ./$< $(args)
+
+
+perf_%: AUX_LIBS = perf_dll.$(LIBEXT)
+perf_%: perf_dll.$(DLL) perf_%.$(TEST_EXT)
+ $(run_cmd) ./$@.$(TEST_EXT) $(args)
+
+clean_%:
+ $(RM) $*.$(OBJ) $*.exe $*.$(DLL) $*.$(LIBEXT) $*.res $*.map $*.ilk $*.pdb $*.exp $*.*manifest $*.tmp $*.d
+
+clean:
+ $(RM) *.$(OBJ) *.exe *.$(DLL) *.$(LIBEXT) *.res *.map *.ilk *.pdb *.exp *.manifest *.tmp *.d pgopti.* *.dyn core core.*[0-9][0-9]
+
+# Include automatically generated dependences
+-include *.d
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.gcc.inc b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.gcc.inc
new file mode 100644
index 0000000000..83e612e17b
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.gcc.inc
@@ -0,0 +1,100 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+COMPILE_ONLY = -c -MMD
+PREPROC_ONLY = -E -x c
+INCLUDE_KEY = -I
+DEFINE_KEY = -D
+OUTPUT_KEY = -o #
+OUTPUTOBJ_KEY = -o #
+PIC_KEY = -fPIC
+WARNING_AS_ERROR_KEY = -Werror
+WARNING_KEY = -Wall
+DYLIB_KEY = -shared
+LIBDL = -ldl
+
+TBB_NOSTRICT = 1
+
+CPLUS = g++
+CONLY = gcc
+LIB_LINK_FLAGS = -shared
+LIBS = -lpthread -lrt -ldl
+C_FLAGS = $(CPLUS_FLAGS) -x c
+
+ifeq ($(cfg), release)
+ CPLUS_FLAGS = -O2 -DUSE_PTHREAD
+endif
+ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD
+endif
+
+ASM=
+ASM_FLAGS=
+
+TBB_ASM.OBJ=
+
+ifeq (ia64,$(arch))
+# Position-independent code (PIC) is a must for IA-64
+ CPLUS_FLAGS += $(PIC_KEY)
+endif
+
+ifeq (intel64,$(arch))
+ CPLUS_FLAGS += -m64
+ LIB_LINK_FLAGS += -m64
+endif
+
+ifeq (ia32,$(arch))
+ CPLUS_FLAGS += -m32
+ LIB_LINK_FLAGS += -m32
+endif
+
+# for some gcc versions on Solaris, -m64 may imply V9, but perhaps not everywhere (TODO: verify)
+ifeq (sparc,$(arch))
+ CPLUS_FLAGS += -mcpu=v9 -m64
+ LIB_LINK_FLAGS += -mcpu=v9 -m64
+endif
+
+#------------------------------------------------------------------------------
+# Setting assembler data.
+#------------------------------------------------------------------------------
+ASSEMBLY_SOURCE=$(arch)-gas
+ifeq (ia64,$(arch))
+ ASM=ias
+ TBB_ASM.OBJ = atomic_support.o lock_byte.o log2.o pause.o
+endif
+#------------------------------------------------------------------------------
+# End of setting assembler data.
+#------------------------------------------------------------------------------
+
+#------------------------------------------------------------------------------
+# Setting tbbmalloc data.
+#------------------------------------------------------------------------------
+
+M_CPLUS_FLAGS = $(CPLUS_FLAGS) -fno-rtti -fno-exceptions -fno-schedule-insns2
+
+#------------------------------------------------------------------------------
+# End of setting tbbmalloc data.
+#------------------------------------------------------------------------------
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.inc b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.inc
new file mode 100644
index 0000000000..60cc44f3c3
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.inc
@@ -0,0 +1,91 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+ifndef arch
+ arch:=$(shell uname -p)
+ ifeq ($(arch),i386)
+ ifeq ($(shell isainfo -b),64)
+ arch:=intel64
+ else
+ arch:=ia32
+ endif
+ endif
+ export arch
+# For non-IA systems running Sun OS, 'arch' will contain whatever is printed by uname -p.
+# In particular, for SPARC architecture it will contain "sparc".
+endif
+
+ifndef runtime
+ gcc_version:=$(shell gcc -v 2>&1 | grep 'gcc version' | sed -e 's/^gcc version //' | sed -e 's/ .*$$//')
+ os_version:=$(shell uname -r)
+ os_kernel_version:=$(shell uname -r | sed -e 's/-.*$$//')
+ export runtime:=cc$(gcc_version)_kernel$(os_kernel_version)
+endif
+
+ifeq ($(arch),sparc)
+ native_compiler := gcc
+ export compiler ?= gcc
+else
+ native_compiler := suncc
+ export compiler ?= suncc
+endif
+# debugger ?= gdb
+
+CMD=$(SHELL) -c
+CWD=$(shell pwd)
+RM?=rm -f
+RD?=rmdir
+MD?=mkdir -p
+NUL= /dev/null
+SLASH=/
+MAKE_VERSIONS=bash $(tbb_root)/build/version_info_sunos.sh $(CPLUS) $(CPLUS_FLAGS) $(INCLUDES) >version_string.tmp
+MAKE_TBBVARS=bash $(tbb_root)/build/generate_tbbvars.sh
+
+ifdef LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH := .:$(LD_LIBRARY_PATH)
+else
+ export LD_LIBRARY_PATH := .
+endif
+
+####### Build settings ########################################################
+
+OBJ = o
+DLL = so
+LIBEXT=so
+
+TBB.DEF =
+TBB.DLL = libtbb$(DEBUG_SUFFIX).$(DLL)
+TBB.LIB = $(TBB.DLL)
+LINK_TBB.LIB = $(TBB.LIB)
+
+MALLOC.DLL = libtbbmalloc$(DEBUG_SUFFIX).$(DLL)
+MALLOC.LIB = $(MALLOC.DLL)
+
+MALLOCPROXY.DLL = libtbbmalloc_proxy$(DEBUG_SUFFIX).$(DLL)
+
+TBB_NOSTRICT=1
+
+TEST_LAUNCHER=sh $(tbb_root)/build/test_launcher.sh
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.suncc.inc b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.suncc.inc
new file mode 100644
index 0000000000..dab47f1cba
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/SunOS.suncc.inc
@@ -0,0 +1,98 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+COMPILE_ONLY = -c -xMMD -errtags
+PREPROC_ONLY = -E -xMMD
+INCLUDE_KEY = -I
+DEFINE_KEY = -D
+OUTPUT_KEY = -o #
+OUTPUTOBJ_KEY = -o #
+PIC_KEY = -KPIC
+DYLIB_KEY = -G
+LIBDL = -ldl
+# WARNING_AS_ERROR_KEY = -errwarn=%all
+WARNING_AS_ERROR_KEY = Warning as error
+WARNING_SUPPRESS = -erroff=unassigned,attrskipunsup,badargtype2w,badbinaryopw,wbadasg,wvarhidemem
+tbb_strict=0
+
+TBB_NOSTRICT = 1
+
+CPLUS = CC
+CONLY = cc
+LIB_LINK_FLAGS = -G -R . -M$(tbb_root)/build/suncc.map.pause
+LINK_FLAGS += -M$(tbb_root)/build/suncc.map.pause
+LIBS = -lpthread -lrt -R .
+C_FLAGS = $(CPLUS_FLAGS)
+
+ifeq ($(cfg), release)
+ CPLUS_FLAGS = -mt -xO2 -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS)
+endif
+ifeq ($(cfg), debug)
+ CPLUS_FLAGS = -mt -DTBB_USE_DEBUG -g -library=stlport4 -DUSE_PTHREAD $(WARNING_SUPPRESS)
+endif
+
+ASM=
+ASM_FLAGS=
+
+TBB_ASM.OBJ=
+
+ifeq (intel64,$(arch))
+ CPLUS_FLAGS += -m64
+ ASM_FLAGS += -m64
+ LIB_LINK_FLAGS += -m64
+endif
+
+ifeq (ia32,$(arch))
+ CPLUS_FLAGS += -m32
+ LIB_LINK_FLAGS += -m32
+endif
+
+# TODO: verify whether -m64 implies V9 on relevant Sun Studio versions
+# (those that handle gcc assembler syntax)
+ifeq (sparc,$(arch))
+ CPLUS_FLAGS += -m64
+ LIB_LINK_FLAGS += -m64
+endif
+
+export TBB_CUSTOM_VARS_SH=export CXXFLAGS="-I$${TBB30_INSTALL_DIR}/include -library=stlport4 $(CXXFLAGS) -M$${TBB30_INSTALL_DIR}/build/suncc.map.pause"
+export TBB_CUSTOM_VARS_CSH=setenv CXXFLAGS "-I$${TBB30_INSTALL_DIR}/include -library=stlport4 $(CXXFLAGS) -M$${TBB30_INSTALL_DIR}/build/suncc.map.pause"
+
+#------------------------------------------------------------------------------
+# Setting assembler data.
+#------------------------------------------------------------------------------
+ASSEMBLY_SOURCE=$(arch)-fbe
+#------------------------------------------------------------------------------
+# End of setting assembler data.
+#------------------------------------------------------------------------------
+
+#------------------------------------------------------------------------------
+# Setting tbbmalloc data.
+#------------------------------------------------------------------------------
+M_INCLUDES = $(INCLUDES) -I$(MALLOC_ROOT) -I$(MALLOC_SOURCE_ROOT)
+M_CPLUS_FLAGS = $(CPLUS_FLAGS)
+#------------------------------------------------------------------------------
+# End of setting tbbmalloc data.
+#------------------------------------------------------------------------------
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/codecov.txt b/deal.II/contrib/tbb/tbb30_104oss/build/codecov.txt
new file mode 100644
index 0000000000..e22f8059a2
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/codecov.txt
@@ -0,0 +1,7 @@
+src/tbb
+src/tbbmalloc
+include/tbb
+src/rml/server
+src/rml/client
+src/rml/include
+source/malloc
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/common.inc b/deal.II/contrib/tbb/tbb30_104oss/build/common.inc
new file mode 100644
index 0000000000..c9e6b233c8
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/common.inc
@@ -0,0 +1,108 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+ifndef tbb_os
+
+ # Windows sets environment variable OS; for other systems, ask uname
+ ifeq ($(OS),)
+ OS:=$(shell uname)
+ ifeq ($(OS),)
+ $(error "Cannot detect operating system")
+ endif
+ export tbb_os=$(OS)
+ endif
+
+ ifeq ($(OS), Windows_NT)
+ export tbb_os=windows
+ endif
+ ifeq ($(OS), Linux)
+ export tbb_os=linux
+ endif
+ ifeq ($(OS), Darwin)
+ export tbb_os=macos
+ endif
+
+endif # !tbb_os
+
+ifeq ($(wildcard $(tbb_root)/build/$(tbb_os).inc),)
+ $(error "$(tbb_os)" is not supported. Add build/$(tbb_os).inc file with os-specific settings )
+endif
+
+# detect arch and runtime versions, provide common os-specific definitions
+include $(tbb_root)/build/$(tbb_os).inc
+
+ifeq ($(arch),)
+ $(error Architecture not detected)
+endif
+ifeq ($(runtime),)
+ $(error Runtime version not detected)
+endif
+ifeq ($(wildcard $(tbb_root)/build/$(tbb_os).$(compiler).inc),)
+ $(error Compiler "$(compiler)" is not supported on $(tbb_os). Add build/$(tbb_os).$(compiler).inc file with compiler-specific settings )
+endif
+
+ifdef target
+ ifeq ($(wildcard $(tbb_root)/build/$(target).inc),)
+ $(error "$(target)" is not supported. Add build/$(target).inc file)
+ endif
+ include $(tbb_root)/build/$(target).inc
+endif
+
+# Support for running debug tests to release library and vice versa
+flip_cfg=$(subst _flipcfg,_release,$(subst _release,_debug,$(subst _debug,_flipcfg,$(1))))
+cross_cfg = $(if $(crosstest),$(call flip_cfg,$(1)),$(1))
+
+ifdef BUILDING_PHASE
+ # Setting default configuration to release
+ cfg?=release
+ # No lambas or other C++0x extensions by default for compilers that implement them as experimental features
+ lambdas ?= 0
+ cpp0x ?= 0
+ # include compiler-specific build configurations
+ -include $(tbb_root)/build/$(tbb_os).$(compiler).inc
+ ifdef extra_inc
+ -include $(tbb_root)/build/$(extra_inc)
+ endif
+endif
+ifneq ($(BUILDING_PHASE),1)
+ # definitions for top-level Makefiles
+ origin_build_dir:=$(origin tbb_build_dir)
+ tbb_build_dir?=$(tbb_root)$(SLASH)build
+ tbb_build_prefix?=$(tbb_os)_$(arch)_$(compiler)_$(runtime)
+ work_dir=$(tbb_build_dir)$(SLASH)$(tbb_build_prefix)
+ ifneq ($(BUILDING_PHASE),0)
+ work_dir:=$(work_dir)
+ # assign new value for tbb_root if path is not absolute (the filter keeps only /* paths)
+ ifeq ($(filter /% $(SLASH)%, $(subst :, ,$(tbb_root)) ),)
+ ifeq ($(origin_build_dir),undefined)
+ override tbb_root:=../..
+ else
+ override tbb_root:=$(CWD)/$(tbb_root)
+ endif
+ endif
+ export tbb_root
+ endif # BUILDING_PHASE != 0
+endif # BUILDING_PHASE != 1
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/common_rules.inc b/deal.II/contrib/tbb/tbb30_104oss/build/common_rules.inc
new file mode 100644
index 0000000000..95dbad2071
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/common_rules.inc
@@ -0,0 +1,126 @@
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+ifeq ($(tbb_strict),1)
+ ifeq ($(WARNING_AS_ERROR_KEY),)
+ $(error WARNING_AS_ERROR_KEY is empty)
+ endif
+ # Do not remove line below!
+ WARNING_KEY += $(WARNING_AS_ERROR_KEY)
+endif
+
+ifndef TEST_EXT
+ TEST_EXT = exe
+endif
+
+.PRECIOUS: %.$(OBJ) %.$(TEST_EXT) %.res
+
+INCLUDES += $(INCLUDE_KEY)$(tbb_root)/src $(INCLUDE_KEY)$(tbb_root)/src/rml/include $(INCLUDE_KEY)$(tbb_root)/include
+
+CPLUS_FLAGS += $(WARNING_KEY) $(CXXFLAGS)
+LINK_FLAGS += $(LDFLAGS)
+LIB_LINK_FLAGS += $(LDFLAGS)
+CPLUS_FLAGS_NOSTRICT = $(subst -strict-ansi,-ansi,$(CPLUS_FLAGS))
+
+LIB_LINK_CMD ?= $(CPLUS) $(PIC_KEY)
+ifeq ($(origin LIB_OUTPUT_KEY), undefined)
+ LIB_OUTPUT_KEY = $(OUTPUT_KEY)
+endif
+ifeq ($(origin LIB_LINK_LIBS), undefined)
+ LIB_LINK_LIBS = $(LIBDL) $(LIBS)
+endif
+
+CONLY ?= $(CPLUS)
+
+# The most generic rules
+%.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
+
+%.$(OBJ): %.c
+ $(CONLY) $(COMPILE_ONLY) $(C_FLAGS) $(INCLUDES) $<
+
+%.$(OBJ): %.asm
+ $(ASM) $(ASM_FLAGS) $<
+
+%.$(OBJ): %.s
+ cpp <$< | grep -v '^#' >$*.tmp
+ $(ASM) $(ASM_FLAGS) -o $@ $*.tmp
+ rm $*.tmp
+
+# Rule for generating .E file if needed for visual inspection
+%.E: %.cpp
+ $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $(PREPROC_ONLY) $< >$@
+
+# TODO Rule for generating .asm file if needed for visual inspection
+%.asm: %.cpp
+ $(CPLUS) /c /Fa $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
+
+# TODO Rule for generating .s file if needed for visual inspection
+%.s: %.cpp
+ $(CPLUS) -S $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
+
+# Customizations
+
+ifeq (1,$(TBB_NOSTRICT))
+# GNU 3.2.3 headers have a ISO syntax that is rejected by Intel compiler in -strict-ansi mode.
+# The Mac uses gcc, so the list is empty for that platform.
+# The files below need the -strict-ansi flag downgraded to -ansi to compile
+
+$(KNOWN_NOSTRICT): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS_NOSTRICT) $(CXX_ONLY_FLAGS) $(CXX_WARN_SUPPRESS) $(INCLUDES) $<
+endif
+
+$(KNOWN_WARNINGS): %.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(subst $(WARNING_KEY),,$(CPLUS_FLAGS)) $(CXX_ONLY_FLAGS) $(INCLUDES) $<
+
+tbb_misc.$(OBJ): tbb_misc.cpp version_string.tmp
+ $(CPLUS) $(COMPILE_ONLY) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDE_KEY). $(INCLUDES) $<
+
+tbb_misc.E: tbb_misc.cpp version_string.tmp
+ $(CPLUS) $(CPLUS_FLAGS) $(CXX_ONLY_FLAGS) $(INCLUDE_KEY). $(INCLUDES) $(PREPROC_ONLY) $< >$@
+
+%.res: %.rc version_string.tmp $(TBB.MANIFEST)
+ rc /Fo$@ $(INCLUDES) $(filter /D%,$(CPLUS_FLAGS)) $<
+
+ifneq (,$(TBB.MANIFEST))
+$(TBB.MANIFEST):
+ cmd /C "echo #include ^ >tbbmanifest.c"
+ cmd /C "echo int main(){return 0;} >>tbbmanifest.c"
+ cl /nologo $(C_FLAGS) tbbmanifest.c
+
+version_string.tmp: $(TBB.MANIFEST)
+ $(MAKE_VERSIONS)
+ cmd /C "echo #define TBB_MANIFEST 1 >> version_string.tmp"
+
+else
+version_string.tmp:
+ $(MAKE_VERSIONS)
+endif
+
+
+# Rules for generating a test DLL
+%_dll.$(OBJ): %.cpp
+ $(CPLUS) $(COMPILE_ONLY) $(OUTPUTOBJ_KEY)$@ $(CPLUS_FLAGS) $(PIC_KEY) $(DEFINE_KEY)_USRDLL $(INCLUDES) $<
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/detect.js b/deal.II/contrib/tbb/tbb30_104oss/build/detect.js
new file mode 100644
index 0000000000..8e90dc0ae9
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/detect.js
@@ -0,0 +1,129 @@
+// Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+//
+// This file is part of Threading Building Blocks.
+//
+// Threading Building Blocks is free software; you can redistribute it
+// and/or modify it under the terms of the GNU General Public License
+// version 2 as published by the Free Software Foundation.
+//
+// Threading Building Blocks is distributed in the hope that it will be
+// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Threading Building Blocks; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+//
+// As a special exception, you may use this file as part of a free software
+// library without restriction. Specifically, if other files instantiate
+// templates or use macros or inline functions from this file, or you compile
+// this file and link it with other files to produce an executable, this
+// file does not by itself cause the resulting executable to be covered by
+// the GNU General Public License. This exception does not however
+// invalidate any other reasons why the executable file might be covered by
+// the GNU General Public License.
+
+function doWork() {
+ var WshShell = WScript.CreateObject("WScript.Shell");
+
+ var fso = new ActiveXObject("Scripting.FileSystemObject");
+
+ var tmpExec;
+
+ if ( WScript.Arguments.Count() > 1 && WScript.Arguments(1) == "gcc" ) {
+ if ( WScript.Arguments(0) == "/arch" ) {
+ WScript.Echo( "ia32" );
+ }
+ else if ( WScript.Arguments(0) == "/runtime" ) {
+ WScript.Echo( "mingw" );
+ }
+ return;
+ }
+
+ //Compile binary
+ tmpExec = WshShell.Exec("cmd /c echo int main(){return 0;} >detect.c");
+ while ( tmpExec.Status == 0 ) {
+ WScript.Sleep(100);
+ }
+
+ tmpExec = WshShell.Exec("cl /MD detect.c /link /MAP");
+ while ( tmpExec.Status == 0 ) {
+ WScript.Sleep(100);
+ }
+
+ if ( WScript.Arguments(0) == "/arch" ) {
+ //read compiler banner
+ var clVersion = tmpExec.StdErr.ReadAll();
+
+ //detect target architecture
+ var intel64=/AMD64|EM64T|x64/mgi;
+ var ia64=/IA-64|Itanium/mgi;
+ var ia32=/80x86/mgi;
+ if ( clVersion.match(intel64) ) {
+ WScript.Echo( "intel64" );
+ } else if ( clVersion.match(ia64) ) {
+ WScript.Echo( "ia64" );
+ } else if ( clVersion.match(ia32) ) {
+ WScript.Echo( "ia32" );
+ } else {
+ WScript.Echo( "unknown" );
+ }
+ }
+
+ if ( WScript.Arguments(0) == "/runtime" ) {
+ //read map-file
+ var map = fso.OpenTextFile("detect.map", 1, 0);
+ var mapContext = map.readAll();
+ map.Close();
+
+ //detect runtime
+ var vc71=/MSVCR71\.DLL/mgi;
+ var vc80=/MSVCR80\.DLL/mgi;
+ var vc90=/MSVCR90\.DLL/mgi;
+ var vc100=/MSVCR100\.DLL/mgi;
+ var psdk=/MSVCRT\.DLL/mgi;
+ if ( mapContext.match(vc71) ) {
+ WScript.Echo( "vc7.1" );
+ } else if ( mapContext.match(vc80) ) {
+ WScript.Echo( "vc8" );
+ } else if ( mapContext.match(vc90) ) {
+ WScript.Echo( "vc9" );
+ } else if ( mapContext.match(vc100) ) {
+ WScript.Echo( "vc10" );
+ } else if ( mapContext.match(psdk) ) {
+ // Our current naming convention assumes vc7.1 for 64-bit Windows PSDK
+ WScript.Echo( "vc7.1" );
+ } else {
+ WScript.Echo( "unknown" );
+ }
+ }
+
+ // delete intermediate files
+ if ( fso.FileExists("detect.c") )
+ fso.DeleteFile ("detect.c", false);
+ if ( fso.FileExists("detect.obj") )
+ fso.DeleteFile ("detect.obj", false);
+ if ( fso.FileExists("detect.map") )
+ fso.DeleteFile ("detect.map", false);
+ if ( fso.FileExists("detect.exe") )
+ fso.DeleteFile ("detect.exe", false);
+ if ( fso.FileExists("detect.exe.manifest") )
+ fso.DeleteFile ("detect.exe.manifest", false);
+}
+
+if ( WScript.Arguments.Count() > 0 ) {
+
+ try {
+ doWork();
+ } catch( error )
+ {
+ WScript.Echo( "unknown" );
+ WScript.Quit( 0 );
+ }
+
+} else {
+
+ WScript.Echo( "/arch or /runtime should be set" );
+}
+
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.bat b/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.bat
new file mode 100644
index 0000000000..9fd3a51c43
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.bat
@@ -0,0 +1,74 @@
+@echo off
+REM
+REM Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+REM
+REM This file is part of Threading Building Blocks.
+REM
+REM Threading Building Blocks is free software; you can redistribute it
+REM and/or modify it under the terms of the GNU General Public License
+REM version 2 as published by the Free Software Foundation.
+REM
+REM Threading Building Blocks is distributed in the hope that it will be
+REM useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+REM of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+REM GNU General Public License for more details.
+REM
+REM You should have received a copy of the GNU General Public License
+REM along with Threading Building Blocks; if not, write to the Free Software
+REM Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+REM
+REM As a special exception, you may use this file as part of a free software
+REM library without restriction. Specifically, if other files instantiate
+REM templates or use macros or inline functions from this file, or you compile
+REM this file and link it with other files to produce an executable, this
+REM file does not by itself cause the resulting executable to be covered by
+REM the GNU General Public License. This exception does not however
+REM invalidate any other reasons why the executable file might be covered by
+REM the GNU General Public License.
+REM
+setlocal
+for %%D in ("%tbb_root%") do set actual_root=%%~fD
+set fslash_root=%actual_root:\=/%
+set bin_dir=%CD%
+set fslash_bin_dir=%bin_dir:\=/%
+set _INCLUDE=INCLUDE& set _LIB=LIB
+if not x%UNIXMODE%==x set _INCLUDE=CPATH& set _LIB=LIBRARY_PATH
+
+if exist tbbvars.bat goto skipbat
+echo Generating local tbbvars.bat
+echo @echo off>tbbvars.bat
+echo SET TBB30_INSTALL_DIR=%actual_root%>>tbbvars.bat
+echo SET TBB_ARCH_PLATFORM=%arch%\%runtime%>>tbbvars.bat
+echo SET TBB_TARGET_ARCH=%arch%>>tbbvars.bat
+echo SET %_INCLUDE%=%%TBB30_INSTALL_DIR%%\include;%%%_INCLUDE%%%>>tbbvars.bat
+echo SET %_LIB%=%bin_dir%;%%%_LIB%%%>>tbbvars.bat
+echo SET PATH=%bin_dir%;%%PATH%%>>tbbvars.bat
+if not x%UNIXMODE%==x echo SET LD_LIBRARY_PATH=%bin_dir%;%%LD_LIBRARY_PATH%%>>tbbvars.bat
+:skipbat
+
+if exist tbbvars.sh goto skipsh
+echo Generating local tbbvars.sh
+echo #!/bin/sh>tbbvars.sh
+echo export TBB30_INSTALL_DIR="%fslash_root%">>tbbvars.sh
+echo export TBB_ARCH_PLATFORM="%arch%\%runtime%">>tbbvars.sh
+echo export TBB_TARGET_ARCH="%arch%">>tbbvars.sh
+echo export %_INCLUDE%="${TBB30_INSTALL_DIR}/include;$%_INCLUDE%">>tbbvars.sh
+echo export %_LIB%="%fslash_bin_dir%;$%_LIB%">>tbbvars.sh
+echo export PATH="%fslash_bin_dir%;$PATH">>tbbvars.sh
+if not x%UNIXMODE%==x echo export LD_LIBRARY_PATH="%fslash_bin_dir%;$LD_LIBRARY_PATH">>tbbvars.sh
+:skipsh
+
+if exist tbbvars.csh goto skipcsh
+echo Generating local tbbvars.csh
+echo #!/bin/csh>tbbvars.csh
+echo setenv TBB30_INSTALL_DIR "%actual_root%">>tbbvars.csh
+echo setenv TBB_ARCH_PLATFORM "%arch%\%runtime%">>tbbvars.csh
+echo setenv TBB_TARGET_ARCH "%arch%">>tbbvars.csh
+echo setenv %_INCLUDE% "${TBB30_INSTALL_DIR}\include;$%_INCLUDE%">>tbbvars.csh
+echo setenv %_LIB% "%bin_dir%;$%_LIB%">>tbbvars.csh
+echo setenv PATH "%bin_dir%;$PATH">>tbbvars.csh
+if not x%UNIXMODE%==x echo setenv LD_LIBRARY_PATH "%bin_dir%;$LD_LIBRARY_PATH">>tbbvars.csh
+:skipcsh
+
+endlocal
+exit
diff --git a/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.sh b/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.sh
new file mode 100644
index 0000000000..484719f172
--- /dev/null
+++ b/deal.II/contrib/tbb/tbb30_104oss/build/generate_tbbvars.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#
+# Copyright 2005-2010 Intel Corporation. All Rights Reserved.
+#
+# This file is part of Threading Building Blocks.
+#
+# Threading Building Blocks is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# Threading Building Blocks is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
+# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Threading Building Blocks; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# As a special exception, you may use this file as part of a free software
+# library without restriction. Specifically, if other files instantiate
+# templates or use macros or inline functions from this file, or you compile
+# this file and link it with other files to produce an executable, this
+# file does not by itself cause the resulting executable to be covered by
+# the GNU General Public License. This exception does not however
+# invalidate any other reasons why the executable file might be covered by
+# the GNU General Public License.
+
+# Script used to generate tbbvars.[c]sh scripts
+bin_dir="$PWD" #
+cd "$tbb_root" # keep this comments here
+tbb_root="$PWD" # to make it unsensible
+cd "$bin_dir" # to EOL encoding
+[ "`uname`" = "Darwin" ] && dll_path="DYLD_LIBRARY_PATH" || dll_path="LD_LIBRARY_PATH" #
+[ -f ./tbbvars.sh ] || cat >./tbbvars.sh <./tbbvars.csh <
+
+
+Overview
+This directory contains the internal Makefile infrastructure for Threading Building Blocks.
+
+
+See below for how to build TBB and how to port TBB
+to a new platform, operating system or architecture.
+
+
+Files
+The files here are not intended to be used directly. See below for usage.
+
+- Makefile.tbb
+
- Main Makefile to build the TBB library.
+ Invoked via 'make tbb' from top-level Makefile.
+
- Makefile.tbbmalloc
+
- Main Makefile to build the TBB scalable memory allocator library as well as its tests.
+ Invoked via 'make tbbmalloc' from top-level Makefile.
+
- Makefile.test
+
- Main Makefile to build and run the tests for the TBB library.
+ Invoked via 'make test' from top-level Makefile.
+
- common.inc
+
- Main common included Makefile that includes OS-specific and compiler-specific Makefiles.
+
- <os>.inc
+
- OS-specific Makefile for a particular <os>.
+
- <os>.<compiler>.inc
+
- Compiler-specific Makefile for a particular <os> / <compiler> combination.
+
- *.sh
+
- Infrastructure utilities for Linux*, Mac OS* X, and UNIX*-related systems.
+
- *.js, *.bat
+
- Infrastructure utilities for Windows* systems.
+
+
+To Build
+
+To port TBB to a new platform, operating system or architecture, see the porting directions below.
+
+
+Software prerequisites:
+
+- C++ compiler for the platform, operating system and architecture of interest.
+ Either the native compiler for your system, or, optionally, the appropriate Intel® C++ compiler, may be used.
+
- GNU make utility. On Windows*, if a UNIX* emulator is used to run GNU make,
+ it should be able to run Windows* utilities and commands. On Linux*, Mac OS* X, etc.,
+ shell commands issued by GNU make should execute in a Bourne or BASH compatible shell.
+
+
+
+TBB libraries can be built by performing the following steps.
+On systems that support only one ABI (e.g., 32-bit), these steps build the libraries for that ABI.
+On systems that support both 64-bit and 32-bit libraries, these steps build the 64-bit libraries
+(Linux*, Mac OS* X, and related systems) or whichever ABI is selected in the development environment (Windows* systems).
+
+
+- Change to the top-level directory of the installed software.
+
- If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH
+ (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
+
- Invoke GNU make using no arguments, for example, 'gmake'.
+
+
+
+To build TBB libraries for other than the default ABI (e.g., to build 32-bit libraries on Linux*, Mac OS* X,
+or related systems that support both 64-bit and 32-bit libraries), perform the following steps.
+
+
+- Change to the top-level directory of the installed software.
+
- If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH
+ (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
+
- Invoke GNU make as follows, 'gmake arch=ia32'.
+
+
+The default make target will build the release and debug versions of the TBB library.
+Other targets are available in the top-level Makefile. You might find the following targets useful:
+
+- 'make test' will build and run TBB unit-tests;
+
- 'make examples' will build and run TBB examples;
+
- 'make all' will do all of the above.
+
+See also the list of other targets below.
+
+
+
+By default, the libraries will be built in sub-directories within the build/ directory.
+The sub-directories are named according to the operating system, architecture, compiler and software environment used
+(the sub-directory names also distinguish release vs. debug libraries). On Linux*, the software environment comprises
+the GCC, libc and kernel version used. On Mac OS* X, the software environment comprises the GCC and OS version used.
+On Windows, the software environment comprises the Microsoft* Visual Studio* version used.
+See below for how to change the default build directory.
+
+
+
+To perform different build and/or test operations, use the following steps.
+
+
+- Change to the top-level directory of the installed software.
+
- If using the Intel® C++ compiler, make sure the appropriate compiler is available in your PATH
+ (e.g., by sourcing the appropriate iccvars script for the compiler to be used).
+
- Invoke GNU make by using one or more of the following commands.
+
+ - make
+
- Default build. Equivalent to 'make tbb tbbmalloc'.
+
- make all
+
- Equivalent to 'make tbb tbbmalloc test examples'.
+
- cd src;make release
+
- Build and test release libraries only.
+
- cd src;make debug
+
- Build and test debug libraries only.
+
- make tbb
+
- Make TBB release and debug libraries.
+
- make tbbmalloc
+
- Make TBB scalable memory allocator libraries.
+
- make test
+
- Compile and run unit-tests
+
- make examples
+
- Build libraries and run all examples, like doing 'make debug clean release' from
+ the general example Makefile.
+
- make compiler={icl, icc} [(above options or targets)]
+
- Build and run as above, but use Intel® compilers instead of default, native compilers
+ (e.g., icl instead of cl.exe on Windows* systems, or icc instead of g++ on Linux* or Mac OS* X systems).
+
- make arch={ia32, intel64, ia64} [(above options or targets)]
+
- Build and run as above, but build libraries for the selected ABI.
+ Might be useful for cross-compilation; ensure proper environment is set before running this command.
+
- make tbb_root={(TBB directory)} [(above options or targets)]
+
- Build and run as above; for use when invoking 'make' from a directory other than
+ the top-level directory.
+
- make tbb_build_dir={(build directory)} [(above options or targets)]
+
- Build and run as above, but place the built libraries in the specified directory, rather than in the default
+ sub-directory within the build/ directory. This command might have troubles with the build in case the sources
+ installed to the directory with spaces in the path.
+
- make tbb_build_prefix={(build sub-directory)} [(above options or targets)]
+
- Build and run as above, but place the built libraries in the specified sub-directory within the build/ directory,
+ rather than using the default sub-directory name.
+
- make [(above options)] clean
+
- Remove any executables or intermediate files produced by the above commands.
+ Includes build directories, object files, libraries and test executables.
+
+
+
+To Port
+
+This section provides information on how to port TBB to a new platform, operating system or architecture.
+A subset or a superset of these steps may be required for porting to a given platform.
+
+
+To port the TBB source code:
+
+- If porting to a new architecture, create a file that describes the architecture-specific details for that architecture.
+
+ - Create a <os>_<architecture>.h file in the include/tbb/machine directory
+ that describes these details.
+
+ - The <os>_<architecture>.h is named after the operating system and architecture as recognized by
+ include/tbb/tbb_machine.h and the Makefile infrastructure.
+
- This file defines the implementations of synchronization operations, and also the
+ scheduler yield function, for the operating system and architecture.
+
- Several examples of <os>_<architecture>.h files can be found in the
+ include/tbb/machine directory.
+
+ - A minimal implementation defines the 4-byte and 8-byte compare-and-swap operations,
+ and the scheduler yield function. See include/tbb/machine/mac_ppc.h
+ for an example of a minimal implementation.
+
- More complex implementation examples can also be found in the
+ include/tbb/machine directory
+ that implement all the individual variants of synchronization operations that TBB uses.
+ Such implementations are more verbose but may achieve better performance on a given architecture.
+
- In a given implementation, any synchronization operation that is not defined is implemented, by default,
+ in terms of 4-byte or 8-byte compare-and-swap. More operations can thus be added incrementally to increase
+ the performance of an implementation.
+
- In most cases, synchronization operations are implemented as inline assembly code; examples also exist,
+ (e.g., for Intel® Itanium® processors) that use out-of-line assembly code in *.s or *.asm files
+ (see the assembly code sub-directories in the src/tbb directory).
+
+
+ - Modify include/tbb/tbb_machine.h, if needed, to invoke the appropriate
+ <os>_<architecture>.h file in the include/tbb/machine directory.
+
+ - Add an implementation of DetectNumberOfWorkers() in src/tbb/tbb_misc.h,
+ if needed, that returns the number of cores found on the system. This is used to determine the default
+ number of threads for the TBB task scheduler.
+
- Either properly define FillDynamicLinks for use in
+ src/tbb/cache_aligned_allocator.cpp,
+ or hardcode the allocator to be used.
+
- Additional types might be required in the union defined in
+ include/tbb/aligned_space.h
+ to ensure proper alignment on your platform.
+
- Changes may be required in include/tbb/tick_count.h
+ for systems that do not provide gettimeofday.
+
+
+To port the Makefile infrastructure:
+Modify the appropriate files in the Makefile infrastructure to add a new platform, operating system or architecture as needed.
+See the Makefile infrastructure files for examples.
+
+- The top-level Makefile includes common.inc to determine the operating system.
+
+ - To add a new operating system, add the appropriate test to common.inc,
+ and create the needed <os>.inc and <os>.<compiler>.inc files (see below).
+
+ - The <os>.inc file makes OS-specific settings for a particular <os>.
+
+ - For example, linux.inc makes settings specific to Linux* systems.
+
- This file performs OS-dependent tests to determine the specific platform and/or architecture,
+ and sets other platform-dependent values.
+
- Add a new <os>.inc file for each new operating system added.
+
+ - The <os>.<compiler>.inc file makes compiler-specific settings for a particular
+ <os> / <compiler> combination.
+
+ - For example, linux.gcc.inc makes specific settings for using GCC on Linux* systems,
+ and linux.icc.inc makes specific settings for using the Intel® C++ compiler on Linux* systems.
+
- This file sets particular compiler, assembler and linker options required when using a particular
+ <os> / <compiler> combination.
+
- Add a new <os>.<compiler>.inc file for each new <os> / <compiler> combination added.
+
+
+
+
+Up to parent directory
+
+Copyright © 2005-2010 Intel Corporation. All Rights Reserved.
+
+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.
+
+* Other names and brands may be claimed as the property of others.
+
+