be8ac8d1279b6fb44868af74f62f903b5a8408c6
[platform/upstream/harfbuzz.git] / docs / usermanual-install-harfbuzz.xml
1 <chapter id="install-harfbuzz">
2   <title>Install Harfbuzz</title>
3   <section id="download">
4     <title id="download.title">Download</title>
5     <para>
6       For tarball releases of HarfBuzz, look
7       <ulink url="http://www.freedesktop.org/software/harfbuzz/release/">here</ulink>.
8       At the same place you will
9       also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe,
10       hb-shape.exe, and all dependencies.
11     </para>
12     <para>
13       The canonical source tree is available
14       <ulink url="http://cgit.freedesktop.org/harfbuzz/">here</ulink>.
15       Also available on <ulink url="https://github.com/behdad/harfbuzz">github</ulink>.
16     </para>
17     <para>
18       The API that comes with <filename class='headerfile'>hb.h</filename> will
19       not change incompatibly. Other, peripheral, headers are more likely to go
20       through minor modifications, but again, will do our best to never change
21       API in an incompatible way. We will never break the ABI.
22     </para>
23     <para>
24       If you are not sure whether Pango or HarfBuzz is right for you, read
25       <ulink url="http://mces.blogspot.in/2009/11/pango-vs-harfbuzz.html">this</ulink>.
26     </para>
27   </section>
28   <section id="building">
29     <title>Building</title>
30     <para>
31       On Linux, install the development packages for FreeType, Cairo, and GLib.
32       For example, on Ubuntu / Debian, you would do:
33       <programlisting>
34 <command>sudo apt-get install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package>
35       </programlisting>
36       whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do:
37       <programlisting>
38 <command>sudo yum install</command> <package>gcc gcc-c++ freetype-devel glib2-devel cairo-devel</package>
39       </programlisting>
40       or using MacPorts:
41       <programlisting>
42 <command>sudo port install</command> <package>freetype glib2 cairo</package>
43       </programlisting>
44     </para>
45     <para>
46       If you are using a tarball, you can now proceed to running
47       <command>configure</command> and <command>make</command> as with any
48       other standard package. That should leave you with a shared library in
49       <filename>src/</filename>, and a few utility programs including hb-view
50       and hb-shape under <filename>util/</filename>.
51     </para>
52     <para>
53       If you are bootstraping from git, you need a few more tools before you
54       can run <filename>autogen.sh</filename> for the first time. Namely,
55       pkg-config and <ulink url="http://www.complang.org/ragel/">ragel</ulink>.
56       Again, on Ubuntu / Debian:
57       <programlisting>
58 <command>sudo apt-get install</command> <package>autoconf automake libtool pkg-config ragel gtk-doc-tools</package>
59       </programlisting>
60       and on Fedora, RHEL, CentOS:
61       <programlisting>
62 <command>sudo yum install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
63       </programlisting>
64       or using MacPorts:
65       <programlisting>
66 <command>sudo port install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package>
67       </programlisting>
68     </para>
69   </section>
70 </chapter>