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