Next: , Previous: , Up: Advanced configuration   [Contents]

3.1 Global configuration

Building a package loads the following configuration files:

Specifies the installation directory prefix. Created by the configure script from

Specifies general configuration variables

Defines the environment variables that are set during each build step.

Defines the list of mirror sites used to download the source tarballs. It is recommended to modify this to use local mirrors.

An optional file that you can create to load extra recipes to use on packages. This file must be created by the user (however, it is not an eroror if the file does not exist).

Much of the behavior of GSRC is defined by variables that can be customized. Generally speaking, you should override these variables in your file rather than in the gar.*.mk files. That way, you do not have to worry about updates to GSRC overwriting your changes.

Some of the more important configuration variables are:


If defined (the default), the environment variables C_INCLUDE_PATH, CPLUS_INCLUDE_PATH and LDFLAGS point to the include and lib subdirectories of the installation directory. This forces the use of any previously installed libraries in preference to the normal system libraries. To disable this feature, remove the definition BOOTSTRAP=1 in and rerun configure, or build with BOOTSTRAP undefined on the command-line:

$ make -C gnu/gnupg BOOTSTRAP=

Set in


Specifies any packages that should be skipped as dependencies (for example, if you prefer to use existing system packages instead). A space separated list. Set in


Specifies the directories used to cache downloaded source code archives (GARCHIVEDIR) and the archives of the installed packages (GARBALLDIR). Set in


Set this to -j N to allow N parallel processes in the build. Note that multiple dependencies are built one-by-one; only the commands within each build are performed in parallel. Set in


It’s easy to miss the messages printed by GSRC amongst all the output of the build process. Set this to “y” to enable colorized output of GSRC messages, which may make them more visible. Set it to anything else to disable color. In either case, four more variables are defined: MSG, MSG2, ERR, OK and OFF. The first four define strings to insert at the beginning of a normal message (MSG, MSG2), an error message (ERR), or a message indicating success (OK). The OFF code is inserted at the end of the message. When USE_COLOR is “y”, these variables contain ANSI escape sequences to change properties of the text (i.e. to set colors or text weight). Otherwise, they may contain textual indicators, such as “==> ” to begin a message. Some sensible default values for both cases are included. Set in


A typical build process produces a lot of textual output. In some cases, you may wish to redirect this output to somewhere other than your screen. In this case, you may set the variable REDIRECT_OUTPUT to any value other than “n”. To edit where the output will be redirected, set the OUTPUT variable. By default, if you set REDIRECT_OUTPUT, standard text output will be redirected to /dev/null, which means it is thrown away, while errors will be printed to the screen. You can instead, for example, redirect to log files of your choosing (see Redirections in Bash for more details on redirection). Set in

Next: , Previous: , Up: Advanced configuration   [Contents]