On Thu, Nov 24, 2011 at 2:44 AM, Dirk Thomas wrote: >> I have one question regarding the version numbers: >> How can I check in my code (at compile time) which pluginlib version is >> available and conditionally use the new functionality? > > It looks like that this is not yet possible or have I missed something > obvious? > > The CMake macro "rosbuild_make_distribution" does nothing and the pluginlib > does not specific any version number in C++ code. > Using the ROS version is no alternative since > a) a program does not (necessarily) depend on roscpp and > b) both packages (roscpp and pluginlib) does not need to be updated at the > same time - so the ROS version is not related to the pluginlib version. > > Since many parts of ROS are currently refactored into separately usable > libraries I would propose that each of them should specify the version > number in a form that makes it available for compile time conditional > checks. > Yes. Going further, I'd suggest that the checks not stop at compile time: sonames on shared libraries and perhaps an ABI compatibility checking mechanism a-la http://people.willowgarage.com/straszheim/bydate/110816.abi_compatibility.html would be good to integrate. -t