1On Linux, install the development packages for FreeType, Cairo, and GLib. For 2example, on Ubuntu / Debian, you would do: 3 4$ sudo apt-get install meson pkg-config ragel gtk-doc-tools gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev 5 6whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: 7 8$ sudo dnf install meson pkgconfig gtk-doc gcc gcc-c++ freetype-devel glib2-devel cairo-devel 9 10and on ArchLinux and Manjaro: 11 12$ sudo pacman -Suy meson pkg-config ragel gcc freetype2 glib2 cairo 13 14then use meson to build the project like `meson build && meson test -Cbuild`. 15 16On macOS, `brew install pkg-config ragel gtk-doc freetype glib cairo meson` 17then use meson like above. 18 19On Windows, meson can build the project like above if a working MSVC's cl.exe 20(`vcvarsall.bat`) or gcc/clang is already on your path, and if you use 21something like `meson build --wrap-mode=default` it fetches and compiles most 22of the dependencies also. It is recommended to install CMake either manually 23or via the Visual Studio installer when building with MSVC, using meson. 24 25Our CI configurations is also a good source of learning how to build HarfBuzz. 26 27There is also amalgam source provided with HarfBuzz which reduces whole process 28of building HarfBuzz like `g++ src/harfbuzz.cc -fno-exceptions` but there is 29not guarantee provided with buildability and reliability of features you get. 30