I am currently revising the versioning scheme for LLDB. At Apple, we currently are using version 1xx for versions from a branch meant for use with Mac OS X and 2xx for versions meant for use with iOS. Our 1xx version numbers are about to collide with 2xx, so we are changing the Apple version scheme as follows:
300 indicates the major version. This changes only rarely (we anticipate at most a few times a year).
.1 indicates the branch number. As noted above, we have different branches of LLDB for use in different scenarios.
.10 indicates the merge ID – roughly, we increment it when we merge to our release branches from trunk.
The API headers have macros reflecting the major version and the merge ID, as well as a macro containing the entire version as a string.
I have modified scripts/generate-vers.pl to generate proper versioning information. I have also modified lldb_private::GetVersion() to use the output from that information.
Please let me know if you encounter build trouble with these changes.