Revert "[Tizen] [GPOS] Avoid O(n^2) behavior in mark-attachment"
[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 meson pkg-config ragel gtk-doc-tools 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 dnf install meson pkgconfig gtk-doc gcc gcc-c++ freetype-devel glib2-devel cairo-dev
9
10 and on ArchLinux and Manjaro:
11
12     sudo pacman -Suy meson pkg-config ragel gcc freetype2 glib2 cairo
13
14 then use meson to build the project like `meson build && meson test -Cbuild`.
15
16 On macOS, `brew install pkg-config ragel gtk-doc freetype glib cairo meson` then use
17 meson like above.
18
19 On Windows, meson can build the project like above if a working MSVC's cl.exe (`vcvarsall.bat`)
20 or gcc/clang is already on your path, and if you use something like `meson build --wrap-mode=default`
21 it fetches and compiles most of the dependencies also.
22
23 Our CI configurations is also a good source of learning how to build HarfBuzz.
24
25 There is also amalgam source provided with HarfBuzz which reduces whole process of building
26 HarfBuzz like `g++ src/harfbuzz.cc -fno-exceptions` but there is not guarantee provided
27 with buildability and reliability of features you get.