\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 @value{OS-linux}
@c %**end of header

@majorheading Guide to Building @value{HB-title} on @value{BG-platform}
@contents
@sp 1
@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 14.04, gcc 4.8, yasm 1.3.x
@item Fedora 20, gcc 4.8, yasm 1.3.x
@item gcc 4.7 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. GTK version 3.10+ is required to build the GTK UI. If you intend to disable building the GUI with @command{configure --disable-gtk} you will not need many of these packages installed:

Ubuntu 14.04 packages:
@itemize @bullet
@item git (cli/gui)
@item cmake (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 libmp3lame-dev (cli/gui)
@item libx264-dev (cli/gui)
@item intltool (gui)
@item libglib2.0-dev (gui)
@item libdbus-glib-1-dev (gui)
@item libgtk-3-dev (gui)
@item libgudev-1.0-dev (gui)
@item libwebkitgtk-3.0-dev (gui)
@item libnotify-dev (gui)
@item libgstreamer1.0-dev (gui)
@item libgstreamer-plugins-base1.0-dev (gui)
@item libappindicator-dev (gui)
@end itemize

To install these packages:
@example
sudo apt-get install git cmake 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 libmp3lame-dev libx264-dev intltool \
libglib2.0-dev libdbus-glib-1-dev libgtk-3-dev libgudev-1.0-dev \
libwebkitgtk-3.0-dev libnotify-dev libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev libappindicator-dev
@end example

Fedora 20 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 patch (cli/gui)
@item intltool (cli/gui)
@item libtool (cli/gui)
@item cmake (cli/gui)
@item gcc-c++ (cli/gui)
@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 lame-devel (cli/gui)
@item x264-devel (cli/gui)
@item dbus-glib-devel (gui)
@item libgudev1-devel (gui)
@item webkitgtk3-devel (gui)
@item libnotify-devel (gui)
@item gstreamer1-devel (gui)
@item gstreamer1-plugins-base-devel (gui)
@end itemize

To install these packages:
@example
sudo yum install patch intltool libtool cmake gcc-c++ yasm zlib-devel \
bzip2-devel libogg-devel libtheora-devel libvorbis-devel libsamplerate-devel \
libxml2-devel fribidi-devel freetype-devel fontconfig-devel libass-devel \
lame-devel x264-devel dbus-glib-devel libgudev1-devel webkitgtk3-devel \
libnotify-devel gstreamer1-devel gstreamer1-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
