blob: 4c1c306450c88fcb171904784c5b89dcce22b8ee [file] [log] [blame] [view]
Behdad Esfahbode21921a2016-05-06 15:24:39 +01001On Linux, install the development packages for FreeType,
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +03302Cairo, and GLib. For example, on Ubuntu / Debian, you would do:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +07003
4 sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +03305
6whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +07007
8 sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +03309
ebraminiodfeccd02017-10-12 12:11:47 +033010on Windows, consider using [vcpkg](https://github.com/Microsoft/vcpkg),
11provided by Microsoft, for building HarfBuzz and other open-source libraries
12but if you need to build harfbuzz from source, put ragel binary on your
13PATH and follow appveyor CI's cmake
ebraminio7c6937e2017-11-20 14:49:22 -050014[build steps](https://github.com/harfbuzz/harfbuzz/blob/master/appveyor.yml).
ebraminiodfeccd02017-10-12 12:11:47 +033015
16on macOS, using MacPorts:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070017
18 sudo port install freetype glib2 cairo
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +033019
Behdad Esfahbod5afebbd2016-01-07 22:53:59 +000020or using Homebrew:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070021
22 brew install freetype glib cairo
Behdad Esfahbod5afebbd2016-01-07 22:53:59 +000023
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +033024If you are using a tarball, you can now proceed to running configure and make
25as with any other standard package. That should leave you with a shared
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070026library in `src/`, and a few utility programs including `hb-view` and `hb-shape`
27under `util/`.
28
Seigo Nonaka6361ed02018-10-25 16:35:42 -070029If you are bootstrapping from git, you need a few more tools before you can
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070030run `autogen.sh` for the first time. Namely, `pkg-config` and `ragel`.
31
32Again, on Ubuntu / Debian:
33
34 sudo apt-get install autoconf automake libtool pkg-config ragel gtk-doc-tools
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +033035
36and on Fedora, RHEL, CentOS:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070037
38 sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc
Ebrahim Byagowi2fb95a02015-10-19 22:02:12 +033039
Behdad Esfahbod5afebbd2016-01-07 22:53:59 +000040on the Mac, using MacPorts:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070041
42 sudo port install autoconf automake libtool pkgconfig ragel gtk-doc
Behdad Esfahbod5afebbd2016-01-07 22:53:59 +000043
44or using Homebrew:
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070045
46 brew install autoconf automake libtool pkgconfig ragel gtk-doc
Behdad Esfahbode21921a2016-05-06 15:24:39 +010047
48To build the Python bindings, you also need:
49
Bruce Mitchener4f6754a2018-01-03 00:15:18 +070050 brew install pygobject3