add meson build system
While I do like meson, I'm not yet prepared to maintain two build systems nor move away from autotools.
The main issues I'm facing with meson is cross compilation and symbol visibility. It's also not easy to use on older and embedded systems.
I'll leave this PR open, until meson matures sufficiently to supersede autotools.
A meson port is also available here now: https://gitlab.freedesktop.org/gstreamer/meson-ports/libltc (including CI).
Cross-compilation for embedded targets is not a problem (see CI).
I didn't think to check for an existing port, so didn't see this PR, sorry.
I have a slightly different test setup that doesn't rely on a shell for what it's worth.
The tests are failing for the MSVC build on Windows for me though, but I haven't investigated if those are issues with the test code or the library itself.
Symbol visibility is still not done correctly. auto-tools's export-symbols-regex '^(ltc_).*
You mean it's not done using a regexp? It works just fine using the .def file.
https://github.com/mesonbuild/meson/issues/65
Ok, that's unlikely to change, and symbol export is better done via a dedicated LTC_API define or such anyway tbh :)
(Happy to make a PR for that if you think that'd be acceptable.)
Using regular expressions seems primarily problematic since you'd have to generate a def file or linker script dynamically by analyzing the object files. Leaning on the linker itself for glob support is convenient here.
That being said, a similar feature for exporting all symbols is already requested at https://github.com/mesonbuild/meson/issues/2132 so I would say that supporting regular expressions isn't necessarily off the table either. :)
Regardless, it appears any related feature whatsoever is probably not quite... close... to being implemented and released, so just including the symbol list directly rather than calculating it in the middle of the build using libtool regexes, is probably the straightforward solution here.