[getdns-api] Capability and version checking

Paul Hoffman paul.hoffman at vpnc.org
Tue Jan 29 08:45:07 MST 2013


On Jan 28, 2013, at 7:47 PM, Phil Pennock <getdns-api-phil at spodhuis.org> wrote:

> On 2013-01-28 at 19:05 -0800, Paul Hoffman wrote:
>> On Jan 28, 2013, at 6:36 PM, Phil Pennock <getdns-api-phil at spodhuis.org> wrote:
>> 
>>> On 2013-01-28 at 17:36 -0800, Paul Hoffman wrote:
>>>> On Jan 28, 2013, at 5:08 PM, Phil Pennock <getdns-api-phil at spodhuis.org> wrote:
>>>>> I'm not seeing guaranteed compile-time constants for detecting
>>>>> compile-vs-runtime differences?
>>>> 
>>>> Please say more about these differences.
>>> 
>>> % exim -d --version
>>> Library version: SQLite: Compile: 3.7.14
>>>                        Runtime: 3.7.14.1
>>> 
>>> More generally, you're currently documenting an API, not an ABI.  A
>>> release change could move something to be a macro around a function with
>>> a different name and the API would be preserved.
>> 
>> Exactly right. See "implementation_string" in Section 3.5. Do you need
>> something more than that? If so, please specify.
> 
> Yes: something which doesn't involve the application _calling_ code to
> get the current version, but which permits the compiled application to
> contain an identifier which is static.
> 
> This is normally done with a CPP macro.

Would the following match what you are thinking?

#define GETDNS_COMPILATION_COMMENT The API implementation should fill in something here, and change it each time the API is compiled.

--Paul Hoffman


More information about the getdns-api mailing list