Hi
tkrzw has quite a bit of code that is implemented in header files that are supposed to be included by consuming projects. This causes some technical issues with weak symbols inside the consumer's translation units (or .obj files), that might fail to be deduplicated if the consuming project uses compiler settings different from those used by the tkrzw build system.
More importantly, however, parts of the code, especially non-virtual implementations, might end up being embedded into consuming applications by optimizers that eliminate the procedure calls, raising concerns considering licensing.
Hi
tkrzw has quite a bit of code that is implemented in header files that are supposed to be included by consuming projects. This causes some technical issues with weak symbols inside the consumer's translation units (or
.objfiles), that might fail to be deduplicated if the consuming project uses compiler settings different from those used by the tkrzw build system.More importantly, however, parts of the code, especially non-virtual implementations, might end up being embedded into consuming applications by optimizers that eliminate the procedure calls, raising concerns considering licensing.