-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
symbols.xml version name format #593
Comments
we're still feeling our way out on these given that Bay12 keeps changing things too; the since i'm the one doing all new-release processing at the moment, i'm just going to say that my intentions for now are to use the DF version followed by a platform identifier (so far always |
I renamed it so it at least follows the same pattern as symbol tables before it. Evidently I should have waited another minute :) I'm fine with dropping the Out of curiosity, what do you need the ABI for? Are you developing something with the intent of targeting different compiler ABIs? I'm not sure there is a canonical name for the ABIs that DF happens to use. |
i just deleted that entry from the |
an additional complication to think about: now that some dfhack team members have access to Bay12 private betas, we may need to, from time to time, produce symbols stanzas for builds of DF that aren't generally published. it is not clear how we should deal with this. also Bay12 does not have a consistent way of naming builds. i now have, i think, six different versions of DF that are "between" 50.07 and 50.08 on my computer, some of which claim to be |
I'm reading structures data from an external application. I need to know the ABI so I can know how the structures are laid out. I'm working toward uncoupling platform and ABI. For example interacting with DF running in Wine means using the Linux platform with the MSVC ABI. I don't want support only one ABI per platfrom like Dwarf Therapist currently does. I don't think there are canonical names. Actually there are two kind of ABI I'm using: the one defining how the compiler lay out structures/classes (e.g. Itanium C++ ABI), and the standard library implementation. But I don't think they need to be separated: a std library build will imply a compiler ABI. I'm currently calling them msvc2010, msvc2015, gcc (for gcc + libstdc++) (and I guess I will soon need gcc_cxx11 or something). But I'm not attached to these names. msvc2015 could be msvc14x or whatever. It's nothing urgent yet. But I may need rely more on this in the future. Better to react when my stupid script breaks today, than when a more widely distributed application does in the future. |
my intention will be that edition identifiers for builds that are targeted to the Windows 64-bit ABI will have "win64" somewhere in their edition identifier. i can't say what will be in the edition string of any other editions because there aren't any recent DF editions that aren't Windows 64-bit. experience with past versions is not necessarily useful here; the version of gcc that was used to build the last linux builds of DF is now deprecated, and it stands to reason that Putnam (who is doing those builds, according to all reports) will almost certainly use a different compiler than was used for the last tranche, and thus may well end up being a different ABI, given that gcc's linux ABI changed about six months ago. and we have no idea what the mac builds might end up being like, for all we know they may end up doing both x64 and arm builds |
Latest versions names are:
v0.50.08-beta-1 win64 STEAM
v0.50.07-steam SDL win64
v0.50.07-classic SDL win64
v0.50.07-itch SDL win64
I need to guess the ABI from those names, but it becomes difficult if
win64
is moving around. I'd like to either have a standard version name format that I can parse or add more metadata to versions elements (I need the ABI, something likeabi="msvc2015_64"
would help me). What would you prefer? (even with explicit ABI, it would be nice to have consistent version names)The text was updated successfully, but these errors were encountered: