LilyPond Contributor's Guide: 4.4.2 Running ../configure

### 4.4.2 Running `../configure`

#### Configuration options

Note: make sure that you are in the ‘`build/`’ subdirectory of your source tree.

The `../configure` command (generated by `./autogen.sh`) provides many options for configuring `make`. To see them all, run:

>     ../configure --help

#### Checking build dependencies

Note: make sure that you are in the ‘`build/`’ subdirectory of your source tree.

When `../configure` is run without any arguments, it will check to make sure your system has everything required for compilation:

>     ../configure

If any build dependency is missing, `../configure` will return with:

>     ERROR: Please install required programs:  foo

The following message is issued if you are missing programs that are only needed for building the documentation:

>     WARNING: Please consider installing optional programs:  bar

If you intend to build the documentation locally, you will need to install or update these programs accordingly.

Note: `../configure` may fail to issue warnings for certain documentation build requirements that are not met. If you experience problems when building the documentation, you may need to do a manual check of Requirements for building documentation.

#### Configuring target directories

Note: make sure that you are in the ‘`build/`’ subdirectory of your source tree.

If you intend to use your local build to install a local copy of the program, you will probably want to configure the installation directory. Here are the relevant lines taken from the output of `../configure --help`:

> By default, ‘`make install`’ will install all the files in ‘`/usr/local/bin`’, ‘`/usr/local/lib`’ etc. You can specify an installation prefix other than ‘`/usr/local`’ using ‘`--prefix`’, for instance ‘`--prefix=$HOME`’.

A typical installation prefix is ‘`$HOME/usr`’:

>     ../configure --prefix=$HOME/usr

Note that if you plan to install a local build on a system where you do not have root privileges, you will need to do something like this anyway—`make install` will only succeed if the installation prefix points to a directory where you have write permission (such as your home directory). The installation directory will be automatically created if necessary.

The location of the `lilypond` command installed by this process will be ‘`prefix/bin/lilypond`’; you may want to add ‘`prefix/bin/`’ to your `$PATH` if it is not already included.

It is also possible to specify separate installation directories for different types of program files. See the full output of `../configure --help` for more information.

If you encounter any problems, please see Problems.

#### LilyPond — Contributor’s Guide