[haiku-development] Re: ABI compliance checker

  • From: Andrey Ponomarenko <susanin@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 13 Aug 2009 18:17:06 +0400

Axel Dörfler wrote:
> Andrey Ponomarenko <susanin@xxxxxxxxx> wrote:
>   
>>     Colleagues, I'm software engineer from Institute for System
>> Programing of Russian Academy of Sciences and we are developing a 
>> free
>> lightweight tool for checking backward/forward binary compatibility 
>> of
>> shared C/C++ libraries in OS Linux. It checks interface signatures 
>> and
>> data type definitions in two library versions (headers and shared
>> objects) and searches ABI changes that may lead to incompatibility.
>> We have released 1.2 version of this tool and we'd like you to 
>> consider
>> its usefulness for your project.
>>     The wiki-page with the latest release of binary compatibility 
>> checker is
>> http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
>>     
>
> That sounds definitely like something useful, and it only needs a minor 
> change to the "perl" default path to make it run, it seems (haven't 
> really tested it, yet, though).
>   
Could you define more exactly this minor change?
> Just an idea: do you plan to add support for VCS like SVN or Git? It 
> would be nice to have it work on a repository automatically, so one 
> doesn't have to check out the versions manually - then a single 
> descriptor could be used to denote the repository and header locations, 
> while the command line arguments could then give the exact repository 
> location/revision (like a tag (or relative path) or really just the 
> revision)?.
> This would make it very easy to use, and it could then be added to the 
> standard build process.
>
> Bye,
>    Axel.
>
>
>
>   
ABI-compliance-checker needs shared objects along with header files to
check ABI changes. Without header files it is impossible to determine
public interfaces. Without shared objects it is impossible to determine
added/withdrawn interfaces. As far as I know svn, git and other VCS(SCM)
repositories keep only library sources. Public header files and shared
objects may be obtained only after building and installing sources (this
is a complex operation). So we do not see the way of integration with VCS.

Andrey Ponomarenko.

Other related posts: