Please use a symbols file for linking
Using a symbols file that hides internal symbols for linking in the library would be great to avoid 'grey areas' like #174 (closed). One way to do this would be s.th. like:
LIBMMGLIB_0 {
global:
mm_*;
local:
*;
};
(and then do s.th. like https://source.puri.sm/Librem5/libhandy/blob/master/src/meson.build#L185)
and prefixing internal symbols with _mm_
(so they don't match mm_
). Alternatively either global
or local
symbols could be listed explicitly. This also allows for marking newer symbols as such like e.g. libvirt does:
https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/libvirt_lxc.syms
(the symbols file is split across several files there).