<sect1 id="configure">
  <title>Configuring Gnash</title>

  <para>
    &app;, like most GNU projects, allows a user to select various
    options before compiling its source code. These options include
    selecting from the available features, specifying custom paths for
    installation, and cross compiling support uses <ulink type="http"  
    url="http://www.gnu.org/software/autoconf/">GNU Autoconf</ulink>
    for configuration.
  </para>
  <para>
    If you opted to download the development snapshot
    of &app;, the <emphasis>configure</emphasis> script will
    not be included.  It can be created by running 
    <emphasis>autogen.sh</emphasis> from the source root directory:
    <programlisting>
      ./autogen.sh
    </programlisting>
    Note that there are some 
    <link linkend="dependencies">dependencies</link> for
    autogen.
  </para>
  <para>
    All the standard <command>configure</command> options
    are available.  In addition, &app; has two types of
    options: those that <link linkend="configfeatures">enable or disable 
    features</link>, and
    those that <link linkend="custompath">specify custom paths for 
    development packages</link>
    which are not found during the default search.  A complete
    list of <emphasis>all</emphasis> configuration options, including
    standard ones, can be seen by typing:
    <programlisting>
      ./configure --help | less
    </programlisting>
    Read further for a more detailed explanation of &app;-specific
    options.
  </para>
  <para>
    The syntax for running <emphasis>configure</emphasis> is as follows:
    <programlisting>
      configure <replaceable>&lt;options&gt;</replaceable>
    </programlisting>
    The example below shows the <command>configure</command> options
    which create the smallest working standalone version of &app;.  In
    this example, <command>configure</command> is being run from the
    source root directory:
  </para>
  
  <programlisting>
    ./configure --disable-debugger --disable-cygnal \
    --disable-plugin --enable-media=ffmpeg --enable-gui=sdl
  </programlisting>
 
  <para>
    By default, you shouldn't need to supply any options to
    configure. The configure script will attempt to determine what to
    build based on the development libraries you have installed. The
    default configuration for Gnash is both GTK and KDE GUIs, the AGG
    renderer, and Gstreamer for multimedia support, with no extensions
    built.
  </para>

  <para>
    Being highly portable, &app; has many configuration options
    available, and not all are supposed to work together. A common
    mistake when configuring &app; is to supply too many options,
    overdriving &app;'s ability to do the right thing.
  </para>

  &featureoptions;
  
  &custompath;
  
</sect1>
