1On Linux, install the development packages for FreeType, 2Cairo, and GLib. For example, 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-dev 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` then use 17meson like above. 18 19On Windows, meson can build the project like above if a working MSVC's cl.exe (`vcvarsall.bat`) 20or gcc/clang is already on your path, and if you use something like `meson build --wrap-mode=default` 21it fetches and compiles most of the dependencies also. 22 23Our CI configurations is also a good source of learning how to build HarfBuzz. 24 25There is also amalgam source provided with HarfBuzz which reduces whole process of building 26HarfBuzz like `g++ src/harfbuzz.cc -fno-exceptions` but there is not guarantee provided 27with buildability and reliability of features you get. 28