| On Linux, install the development packages for FreeType, |
| Cairo, and GLib. For example, on Ubuntu / Debian, you would do: |
| |
| sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev |
| |
| whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: |
| |
| sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel |
| |
| on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg), |
| provided by Microsoft, for building HarfBuzz and other open-source libraries |
| but if you need to build harfbuzz from source, put ragel binary on your |
| PATH and follow appveyor CI's cmake |
| [build steps](https://github.com/harfbuzz/harfbuzz/blob/master/appveyor.yml). |
| |
| on macOS, using MacPorts: |
| |
| sudo port install freetype glib2 cairo |
| |
| or using Homebrew: |
| |
| brew install freetype glib cairo |
| |
| If you are using a tarball, you can now proceed to running configure and make |
| as with any other standard package. That should leave you with a shared |
| library in `src/`, and a few utility programs including `hb-view` and `hb-shape` |
| under `util/`. |
| |
| If you are bootstrapping from git, you need a few more tools before you can |
| run `autogen.sh` for the first time. Namely, `pkg-config` and `ragel`. |
| |
| Again, on Ubuntu / Debian: |
| |
| sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools |
| |
| and on Fedora, RHEL, CentOS: |
| |
| sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc |
| |
| on the Mac, using MacPorts: |
| |
| sudo port install autoconf automake libtool pkgconfig ragel gtk-doc |
| |
| or using Homebrew: |
| |
| brew install autoconf automake libtool pkgconfig ragel gtk-doc |
| |
| To build the Python bindings, you also need: |
| |
| brew install pygobject3 |