# Configuring Gnash

&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 GNU Autoconf for configuration.

If you opted to download the development snapshot of &app;, the configure script will not be included. It can be created by running autogen.sh from the source root directory:

          ./autogen.sh

Note that there are some dependencies for autogen.

All the standard `configure` options are available. In addition, &app; has two types of options: those that enable or disable features, and those that specify custom paths for development packages which are not found during the default search. A complete list of all configuration options, including standard ones, can be seen by typing:

          ./configure --help | less

Read further for a more detailed explanation of &app;-specific options.

The syntax for running configure is as follows:

          configure <options>

The example below shows the `configure` options which create the smallest working standalone version of &app;. In this example, `configure` is being run from the source root directory:

        ./configure --disable-debugger --disable-cygnal \
        --disable-plugin --enable-media=ffmpeg --enable-gui=sdl

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.

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.

&featureoptions; &custompath;