Behdad Esfahbod | e21921a | 2016-05-06 15:24:39 +0100 | [diff] [blame] | 1 | On Linux, install the development packages for FreeType, |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 2 | Cairo, and GLib. For example, on Ubuntu / Debian, you would do: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 3 | |
| 4 | sudo apt-get install gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 5 | |
| 6 | whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 7 | |
| 8 | sudo yum install gcc gcc-c++ freetype-devel glib2-devel cairo-devel |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 9 | |
ebraminio | dfeccd0 | 2017-10-12 12:11:47 +0330 | [diff] [blame] | 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 |
ebraminio | 7c6937e | 2017-11-20 14:49:22 -0500 | [diff] [blame] | 14 | [build steps](https://github.com/harfbuzz/harfbuzz/blob/master/appveyor.yml). |
ebraminio | dfeccd0 | 2017-10-12 12:11:47 +0330 | [diff] [blame] | 15 | |
| 16 | on macOS, using MacPorts: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 17 | |
| 18 | sudo port install freetype glib2 cairo |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 19 | |
Behdad Esfahbod | 5afebbd | 2016-01-07 22:53:59 +0000 | [diff] [blame] | 20 | or using Homebrew: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 21 | |
| 22 | brew install freetype glib cairo |
Behdad Esfahbod | 5afebbd | 2016-01-07 22:53:59 +0000 | [diff] [blame] | 23 | |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 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 |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 26 | library in `src/`, and a few utility programs including `hb-view` and `hb-shape` |
| 27 | under `util/`. |
| 28 | |
Seigo Nonaka | 6361ed0 | 2018-10-25 16:35:42 -0700 | [diff] [blame] | 29 | If you are bootstrapping from git, you need a few more tools before you can |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 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 |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 35 | |
| 36 | and on Fedora, RHEL, CentOS: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 37 | |
| 38 | sudo yum install autoconf automake libtool pkgconfig ragel gtk-doc |
Ebrahim Byagowi | 2fb95a0 | 2015-10-19 22:02:12 +0330 | [diff] [blame] | 39 | |
Behdad Esfahbod | 5afebbd | 2016-01-07 22:53:59 +0000 | [diff] [blame] | 40 | on the Mac, using MacPorts: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 41 | |
| 42 | sudo port install autoconf automake libtool pkgconfig ragel gtk-doc |
Behdad Esfahbod | 5afebbd | 2016-01-07 22:53:59 +0000 | [diff] [blame] | 43 | |
| 44 | or using Homebrew: |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 45 | |
| 46 | brew install autoconf automake libtool pkgconfig ragel gtk-doc |
Behdad Esfahbod | e21921a | 2016-05-06 15:24:39 +0100 | [diff] [blame] | 47 | |
| 48 | To build the Python bindings, you also need: |
| 49 | |
Bruce Mitchener | 4f6754a | 2018-01-03 00:15:18 +0700 | [diff] [blame] | 50 | brew install pygobject3 |