| <chapter id="install-harfbuzz"> | 
 |   <title>Install Harfbuzz</title> | 
 |   <section id="download"> | 
 |     <title id="download.title">Download</title> | 
 |     <para> | 
 |       For tarball releases of HarfBuzz, look | 
 |       <ulink url="http://www.freedesktop.org/software/harfbuzz/release/">here</ulink>. | 
 |       At the same place you will | 
 |       also find Win32 binary bundles that include libharfbuzz DLL, hb-view.exe, | 
 |       hb-shape.exe, and all dependencies. | 
 |     </para> | 
 |     <para> | 
 |       The canonical source tree is available | 
 |       <ulink url="http://cgit.freedesktop.org/harfbuzz/">here</ulink>. | 
 |       Also available on <ulink url="https://github.com/behdad/harfbuzz">github</ulink>. | 
 |     </para> | 
 |     <para> | 
 |       The API that comes with <filename class='headerfile'>hb.h</filename> will | 
 |       not change incompatibly. Other, peripheral, headers are more likely to go | 
 |       through minor modifications, but again, will do our best to never change | 
 |       API in an incompatible way. We will never break the ABI. | 
 |     </para> | 
 |     <para> | 
 |       If you are not sure whether Pango or HarfBuzz is right for you, read | 
 |       <ulink url="http://mces.blogspot.in/2009/11/pango-vs-harfbuzz.html">this</ulink>. | 
 |     </para> | 
 |   </section> | 
 |   <section id="building"> | 
 |     <title>Building</title> | 
 |     <para> | 
 |       On Linux, install the development packages for FreeType, Cairo, and GLib. | 
 |       For example, on Ubuntu / Debian, you would do: | 
 |       <programlisting> | 
 | <command>sudo apt-get install</command> <package>gcc g++ libfreetype6-dev libglib2.0-dev libcairo2-dev</package> | 
 |       </programlisting> | 
 |       whereas on Fedora, RHEL, CentOS, and other Red Hat based systems you would do: | 
 |       <programlisting> | 
 | <command>sudo yum install</command> <package>gcc gcc-c++ freetype-devel glib2-devel cairo-devel</package> | 
 |       </programlisting> | 
 |       or using MacPorts: | 
 |       <programlisting> | 
 | <command>sudo port install</command> <package>freetype glib2 cairo</package> | 
 |       </programlisting> | 
 |     </para> | 
 |     <para> | 
 |       If you are using a tarball, you can now proceed to running | 
 |       <command>configure</command> and <command>make</command> as with any | 
 |       other standard package. That should leave you with a shared library in | 
 |       <filename>src/</filename>, and a few utility programs including hb-view | 
 |       and hb-shape under <filename>util/</filename>. | 
 |     </para> | 
 |     <para> | 
 |       If you are bootstraping from git, you need a few more tools before you | 
 |       can run <filename>autogen.sh</filename> for the first time. Namely, | 
 |       pkg-config and <ulink url="http://www.complang.org/ragel/">ragel</ulink>. | 
 |       Again, on Ubuntu / Debian: | 
 |       <programlisting> | 
 | <command>sudo apt-get install</command> <package>autoconf automake libtool pkg-config ragel gtk-doc-tools</package> | 
 |       </programlisting> | 
 |       and on Fedora, RHEL, CentOS: | 
 |       <programlisting> | 
 | <command>sudo yum install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package> | 
 |       </programlisting> | 
 |       or using MacPorts: | 
 |       <programlisting> | 
 | <command>sudo port install</command> <package>autoconf automake libtool pkgconfig ragel gtk-doc</package> | 
 |       </programlisting> | 
 |     </para> | 
 |   </section> | 
 | </chapter> |