symbols-check: introduce new python script
authorEric Engestrom <eric.engestrom@intel.com>
Thu, 11 Oct 2018 12:08:42 +0000 (13:08 +0100)
committerEric Engestrom <eric@engestrom.ch>
Wed, 10 Jul 2019 11:27:51 +0000 (11:27 +0000)
commit176f350fcf1d3024482c0307d2ce9eec836ad487
tree3652d0ca78e15c454d630ba5d2b21a81331ed14f
parent62362a4abb6f068472d12f884f12ba9a2cb2ca0d
symbols-check: introduce new python script

I've re-written this in bash a couple times over the years, and then
I realised python is much more portable and already required by Mesa, so
we might as well make use of it.

I decided to still use the build system's NM instead of re-implementing
symbols extraction, to offload the complexity of keeping it compatible
with many systems (Linux, Unix, BSD, MacOS, etc.), especially when
cross-building.

This new script checks not only that nothing is exported when it
shouldn't be, but also that everything that should be exported is.
Sometimes, some symbols _can_ be exported but don't have to be, in which
case they can be prefixed with `(optional)`.

Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
bin/meson.build
bin/symbols-check.py [new file with mode: 0644]