@input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename Building.linux.info
@include base/article.texi
@include building/command.texi
@paragraphindent none

@set BG.platform linux
@c %**end of header

@majorheading Guide to Building @value{HB.title} on @value{OS.@value{BG.platform}}
@contents
@include building/chapter.introduction.texi

@c %**-------------------------------------------------------------------------
@anchor{prerequisites}
@chapter Prerequisites
The following are the recommended specifications for building on @value{OS.linux}; but is not necessarily the only configuration that is possible:

@itemize @bullet
@item Intel 32-bit or 64-bit kernel
@item Ubuntu 12.04, gcc 4.5, yasm 1.2.x
@item Fedora 17 and 18, gcc 4.5, yasm 1.2.x
@item gcc 4.5 or higher is reported to work
@end itemize

@include building/prerequisites.bundled.texi

@include building/prerequisites.common.texi

The @b{GTK UI} introduces some significant extra build requirements. If you intend to disable building the GUI with @command{configure --disable-gtk} you will not need many of these packages installed:

Ubuntu 12+ packages:
@itemize @bullet
@item subversion (cli/gui)
@item yasm (cli/gui)
@item build-essential (cli/gui)
@item autoconf (cli/gui)
@item libtool (cli/gui)
@item zlib1g-dev (cli/gui)
@item libbz2-dev (cli/gui)
@item libxml2-dev (cli/gui)
@item libogg-dev (cli/gui)
@item libtheora-dev (cli/gui)
@item libvorbis-dev (cli/gui)
@item libsamplerate-dev (cli/gui)
@item libfribidi-dev (cli/gui)
@item libfreetype6-dev (cli/gui)
@item libfontconfig1-dev (cli/gui)
@item libass-dev (cli/gui)
@item intltool (gui)
@item libglib2.0-dev (gui)
@item libdbus-glib-1-dev (gui)
@item libgtk2.0-dev (gui)
@item libgudev-1.0-dev (gui)
@item libwebkit-dev (gui)
@item libnotify-dev (gui)
@item libgstreamer0.10-dev (gui)
@item libgstreamer-plugins-base0.10-dev (gui)
@end itemize

Ubuntu 12+ packages:
@itemize @bullet
@item libappindicator-dev (gui)
@end itemize

To install these packages:
@example
sudo apt-get install subversion yasm build-essential autoconf libtool \
zlib1g-dev libbz2-dev libogg-dev libtheora-dev libvorbis-dev \
libsamplerate-dev libxml2-dev libfribidi-dev libfreetype6-dev \
libfontconfig1-dev libass-dev intltool libglib2.0-dev libdbus-glib-1-dev \
libgtk2.0-dev libgudev-1.0-dev libwebkit-dev libnotify-dev \
libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libappindicator-dev
@end example

Fedora 17+ package groups:
@itemize @bullet
@item Development Tools
@item Development Libraries
@item X Software Development (gui)
@item GNOME Software Development (gui)
@end itemize

To install these package groups:
@example
sudo yum groupinstall "Development Tools" "Development Libraries" \
"X Software Development" "GNOME Software Development"
@end example

Additional Fedora packages:
@itemize @bullet
@item yasm (cli/gui)
@item zlib-devel (cli/gui)
@item bzip2-devel (cli/gui)
@item libogg-devel (cli/gui)
@item libtheora-devel (cli/gui)
@item libvorbis-devel (cli/gui)
@item libsamplerate-devel (cli/gui)
@item libxml2-devel (cli/gui)
@item fribidi-devel (cli/gui)
@item freetype-devel (cli/gui)
@item fontconfig-devel (cli/gui)
@item libass-devel (cli/gui)
@item dbus-glib-devel (gui)
@item libgudev1-devel (gui)
@item webkitgtk-devel (gui)
@item libnotify-devel (gui)
@item gstreamer-devel (gui)
@item gstreamer-plugins-base-devel (gui)
@end itemize

To install these packages:
@example
sudo yum install yasm zlib-devel bzip2-devel libogg-devel libtheora-devel \
libvorbis-devel libsamplerate-devel libxml2-devel fribidi-devel \
freetype-devel fontconfig-devel libass-devel dbus-glib-devel \
libgudev1-devel webkitgtk-devel libnotify-devel \
gstreamer-devel gstreamer-plugins-base-devel
@end example

@c %**-------------------------------------------------------------------------
@include building/chapter.quickstart.texi

@anchor{overview}
@chapter Overview
@value{OS.linux} builds are performed from a @b{terminal}. There is no support for building from any IDEs.

@c %**-------------------------------------------------------------------------
@include building/chapter.via.terminal.texi
@include building/chapter.troubleshooting.texi
@include building/appendix.repo.texi
