Le Sat, Feb 06, 2021 at 01:41:04PM -0800, Ryan Tandy a écrit : > What is the software that would like to use this? Is it (or would it > eventually be) in Debian?
The program I'm writing would be an IRC bot a-la twitch-plays-pokemon. I don't think it would be a good candidate for inclusion in Debian as I intend it to be a quick-and-dirty program for my specific needs. > What is libmgba's ABI policy? Currently we use libmgba as a "private" > library; only the frontends built from the same source link it, with tight > version constraints. I guess shipping a -dev package would require making > the library package public, and versioning it appropriately. It looks like > libmgba's SONAME is derived from its version (i.e. "libmgba.so.0.8") and > does not reflect libtool-style versioning? Does mgba's author commit to ABI > compatibility within the scope of a release branch? > > (If it is attached to the release version that way, I'd have thought it's > more conventional to name it e.g. "libmgba-0.8.so.0", but that's upstream's > decision of course...) > > In short, it's easy to ship some headers and a .so symlink, but I'm somewhat > more hesitant about making libmgba into a public library, when it's not > obvious to me that it's meant to be used that way, so I'd appreciate any > links to where I can read about upstream's intent. I have no idea of an ABI compatibility policy. I'm not sure there's one right now. However, the CMakeLists.txt already contains everything needed to install headers. So I guess there's an intent toward this usage even if the support (especially regarding ABI stability) isn't well thought out. All I can say for sure right now is that the ABI will likely break with version 0.9 because of a new field in the struct Table. What exactly would be needed from the author of libmgba to make it suitable as a public library? Would it be enough if they set a rule saying that the minor version would be bumped at least on every ABI break? Best regards, Celelibi