This CI action should ensure that our .def files will not diverge in future (see e.g. #323). It compares the symbols and ordinals listed in each .def file, and reports an error if there are missing symbols or if an ordinal does not map to the same symbol in both files.
As an alternative to this CI action, I considered merging the .def files. However, cmake/portaudio.def.in is not a real .def def file, but an input file that is converted to a .def file by CMake's configure_file function. It seems unlikely that we can easily replace this .def.in file with a raw .def file without significant complexity.
This CI action should ensure that our
.def
files will not diverge in future (see e.g. #323). It compares the symbols and ordinals listed in each.def
file, and reports an error if there are missing symbols or if an ordinal does not map to the same symbol in both files.As an alternative to this CI action, I considered merging the
.def
files. However,cmake/portaudio.def.in
is not a real.def
def file, but an input file that is converted to a.def
file by CMake'sconfigure_file
function. It seems unlikely that we can easily replace this.def.in
file with a raw.def
file without significant complexity.Fixes #785