summaryrefslogtreecommitdiff
path: root/BUILD.md
blob: 4c1c306450c88fcb171904784c5b89dcce22b8ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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