Mir
Tools to track ABI compatibility

We have created a few build targets to help us track ABI compatibility across different Mir versions and ensure we increase the ABI version properly. These target use the abi-compliance-checker tool to create and check the ABI dumps.

The targets are:

Sample usage

A common scenario is to check the ABI of the development version against the latest archive version. This is one way to perform the check:

Step 1: Produce the ABI dumps for the installed version

Start by download the source corresponding to the installed version:

$ apt-get source mir
$ cd mir-<version>

At this point we can select whether to build the libraries from scratch:

$ debian/rules override_dh_auto_configure

... or to reuse the pre-built libraries, assuming they are installed (we need their -dev packages too!):

$ MIR_ABI_DUMP_PREBUILT_LIBDIR=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH) debian/rules override_dh_auto_configure

Now we can create the ABI dumps:

$ cd <build-dir> && make abi-dump-base

This will create base ABI dump files which we can use in the next step.

Step 2: Check the ABI of the development version against the produced base ABI dumps

$ bzr branch lp:mir && cd mir 
$ MIR_ABI_CHECK_BASE_DIR=/path/to/base/abi/dumps debian/rules override_dh_auto_configure
$ cd <build-dir>
$ make abi-check

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Oct 8 16:20:16 UTC 2015