If ragel 6.10 is not found, build it from source.
Seems to work, except that ragel uses exceptions and we configure
HarfBuzz build to not use exceptions, and I can’t find away to enable
exceptions only for the ragel subproject. I had to remove cpp_eh=none
from default options and try to disable exceptions in MSVC manually
(other compilers are already handled).
We don’t currently use it anywhere. It was used briefly for the
hb-fc-list tool, but this tool have not been built since 2015:
commit cd042fc8c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Thu Jun 18 10:55:13 2015 -0700
[util] Disable hb-fc-list for now
Until I figure out what to do about the API, and finalize
the tool.
When cairo comes from a subproject fallback it should still take
cairo-ft dependency, otherwise it miss freetype2 cflags.
Also update wrap file to use upstream repository now that meson support
has been merged.
This requires Meson >= 0.54.0 because cairo itself requires that version
and we use the new `fallback: 'cairo'` syntax without specifying a
variable name because cairo does not provide a variable name for
cairo-ft.
As a part of meson migration, this builds hb-shape dependencies
using meson subprojects and removes different unrelated mingw
files we've put on source root about things that aren't really our
concern. This also simplifies all the instructions we've put in
README.mingw.md and makes it easy to build the project on
distros that no mingw libraries (such i686-win32-{freetype,glib,...}
are packaged. The known catch is however lack of hb-view as its need
for build of cairo which apparently isn't that straightforward.