1On Linux, install the development packages for FreeType, 2Cairo, and GLib. For example, on Ubuntu / Debian, you would do: 3* sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev 4 5whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: 6* sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel 7 8on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg), 9provided by Microsoft, for building HarfBuzz and other open-source libraries 10but if you need to build harfbuzz from source, put ragel binary on your 11PATH and follow appveyor CI's cmake 12[build steps](https://github.com/harfbuzz/harfbuzz/blob/master/appveyor.yml). 13 14on macOS, using MacPorts: 15* sudo port install freetype glib2 cairo 16 17or using Homebrew: 18* brew install freetype glib cairo 19 20If you are using a tarball, you can now proceed to running configure and make 21as with any other standard package. That should leave you with a shared 22library in src/, and a few utility programs including hb-view and hb-shape 23under util/. 24If you are bootstraping from git, you need a few more tools before you can 25run autogen.sh for the first time. Namely, pkg-config and ragel. Again, 26on Ubuntu / Debian: 27* sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools 28 29and on Fedora, RHEL, CentOS: 30* sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc 31 32on the Mac, using MacPorts: 33* sudo port install autoconf automake libtool pkgconfig ragel gtk-doc 34 35or using Homebrew: 36* brew install autoconf automake libtool pkgconfig ragel gtk-doc 37 38To build the Python bindings, you also need: 39 40* brew install pygobject3 41