1<sect1 id="configure">
2  <title>Configuring Gnash</title>
3
4  <para>
5    &app;, like most GNU projects, allows a user to select various
6    options before compiling its source code. These options include
7    selecting from the available features, specifying custom paths for
8    installation, and cross compiling support uses <ulink type="http"
9    url="http://www.gnu.org/software/autoconf/">GNU Autoconf</ulink>
10    for configuration.
11  </para>
12  <para>
13    If you opted to download the development snapshot
14    of &app;, the <emphasis>configure</emphasis> script will
15    not be included.  It can be created by running
16    <emphasis>autogen.sh</emphasis> from the source root directory:
17    <programlisting>
18      ./autogen.sh
19    </programlisting>
20    Note that there are some
21    <link linkend="dependencies">dependencies</link> for
22    autogen.
23  </para>
24  <para>
25    All the standard <command>configure</command> options
26    are available.  In addition, &app; has two types of
27    options: those that <link linkend="configfeatures">enable or disable
28    features</link>, and
29    those that <link linkend="custompath">specify custom paths for
30    development packages</link>
31    which are not found during the default search.  A complete
32    list of <emphasis>all</emphasis> configuration options, including
33    standard ones, can be seen by typing:
34    <programlisting>
35      ./configure --help | less
36    </programlisting>
37    Read further for a more detailed explanation of &app;-specific
38    options.
39  </para>
40  <para>
41    The syntax for running <emphasis>configure</emphasis> is as follows:
42    <programlisting>
43      configure <replaceable>&lt;options&gt;</replaceable>
44    </programlisting>
45    The example below shows the <command>configure</command> options
46    which create the smallest working standalone version of &app;.  In
47    this example, <command>configure</command> is being run from the
48    source root directory:
49  </para>
50
51  <programlisting>
52    ./configure --disable-debugger --disable-cygnal \
53    --disable-plugin --enable-media=ffmpeg --enable-gui=sdl
54  </programlisting>
55
56  <para>
57    By default, you shouldn't need to supply any options to
58    configure. The configure script will attempt to determine what to
59    build based on the development libraries you have installed. The
60    default configuration for Gnash is both GTK and KDE GUIs, the AGG
61    renderer, and Gstreamer for multimedia support, with no extensions
62    built.
63  </para>
64
65  <para>
66    Being highly portable, &app; has many configuration options
67    available, and not all are supposed to work together. A common
68    mistake when configuring &app; is to supply too many options,
69    overdriving &app;'s ability to do the right thing.
70  </para>
71
72  &featureoptions;
73
74  &custompath;
75
76</sect1>
77