Hi, On 04/22/2012 03:16 PM, Pete Batard wrote: > On 2012.04.21 09:47, Hans de Goede wrote: >> While talking about syncing to Peter's tree, I've noticed that he has >> added 2 fields to our new libusb_version struct. Luckily we only return and >> never take a pointer to that struct so we can safely grow it. Thus I >> suggest >> that we also add those field to keep ABI compatibility with Peter's version >> of the get_version API. > > Except these fields duplicate what we already have in the nano (the goal > is to find out exactly from which commit a libusbx library was built), > and, worse: > 1. They cannot be used for standard Windows versioning of the DLL, as we > only have an extra field that must contain a [0-65535] number. > 2. They require invoking git during make, which of course means that if > you're building from MSVC or WDK, this whole versioning falls apart. > Also, if say you're using TortoiseGit on Windows to fetch the repo, and > compile in a MinGW environment where git is not available (since git > isn't installed by default there), you will fail to populate the last field. > > From where I stand, I can only see these addons as an half-assed > solution that will create more problems than it solves. The limitations > above are the precise reason we went for a nano in libusbx... Thus I > will have to vote on not carrying them out in libusbx.
I can understand you not being happy with these addons, but without them code compiled against Peter's version of get_version may crash, so I strongly prefer adding them (despite your concerns) and just setting them to some static string (the empty string or something else) on platforms / compiler environments where we cannot set them to something else. This way apps expecting them will: 1) Compile with libusbx 2) If compiled with libusb's version of get_version not crash IMHO in this case maintaining ABI compatibility trumps your concerns about these strings. Regards, Hans ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel