- Are we allowed to distribute the TBB dll with our plugin package?
- If yes, what would be the recommendations pertaining to placing this dll on the client system?
- One mentioned reason why there are no staticly linked library for TBB is because of the need to have a singleton threads allocator and scheduler. If we package the TBB dll in our plugin package, isn't there a possibility that this might be broken?
- If yes, then are there any recommended approaches for solving this issue?
- Is TBB the right solution in this situation?
I'd like to clarify my third question above :
We are concerned that we cannot find informations or instructions for dealing with the potential of having multiple versions of the TBB libraries on the same client computer. From our searches (we are currently two persons trying to illucidate this issue) on Intel web site and on the Web in general, it does not seem to be a discussed issue.
Rereading the "static library" FAQ, I think I now understand that the singleton requirement is per application. So is it correct to conclude that when distributing the TBB libraries, I only need to save the TBB related dlls insome plugin dll private folder?
We want to make certain that the installation solution will avoid some other installer to overwrite our TBB library with an earlier (or otherwise incompatible) version. And that our own installation is not going to overwrite someone else's previously installed libraries. And although I mention "dll" explicitly, the same issue is concerning us for OSX too.
This forum might not be the proper place to post such questions. Can anyone point me to the right place or person where I can get answers to that type of questions?
This is a pretty critical issue to us. Any pointers would be greatly appreciated.
2020 Technologies Inc
We do not intend to modify TBB. We just want to make sure we can redistribute the binary libraries along with our plugin.
I dowloaded the 30 days evaluation version and from what I can read inthe "redist.txt" document, basically every files, source and binaries, in the TBB package can be redistributed. Do I understand this right?
But I would feel better if that was confirmed by someone at Intel. Anybody from Intel would like to confirm?
we do not give any legal advice on this forum. Based on common sense, it seems reasonable to assume that TBB DLLs are allowed for redistribution, because how would developers use TBB otherwise, given that there is no static libraries. And you found these files listed as redistributable in the documentation. However if you still have concerns, you should ask a lawyer.
For the rest of the questions, let me get back to you later. In essense, it's a DLL Hell issue, and any escape out of it would have either some constraints or some consequences.
You are right that the singleton requirement is per application. And you are right that keeping TBB DLLs next to the plugin DLL is the best thing to avoid conflicts with other apps and other plugins (provided that each plugin has its exclusive folder, which is not always the case).
Still, there is more to be said. I am collecting some details.