Difference between revisions of "Configure"

From AMule Project FAQ
Jump to: navigation, search
Line 1: Line 1:
 +
== Introduction ==
 +
 
''configure'' configures [[aMule]] to adapt to many kinds of systems.
 
''configure'' configures [[aMule]] to adapt to many kinds of systems.
  
It's usage is ''./configure [OPTION]... [VAR=VALUE]...''
+
Its purpose is to make it easy to port it to many platforms and to compile it and use it in all platforms in the very same way.
 +
 
 +
You can set lots of parameters in it to adapt it to your system and to tweak it's features.
 +
 
 +
== Main usage ==
 +
 
 +
It's usage is ''./configure [OPTION]... [VARIABLE=VALUE]...''
 +
 
 +
So, as you can see, you can define its behaviour both through [[#Options]] and through [[#Variables|Variables]]
  
''VAR=VALUE'' stands for environment variables you want to specify (''VAR'' is the variable name and ''VALUE'' its value, obviously). For example, ''CC=gcc'' or ''CFLAGS="-O2''.
+
== Options ==
  
''OPTION'' is any (or several) of the options described in the tables bellow:
+
You can define one or more options. The available options in [[aMule]]'s configure are listed below. To better understand their meaning, they have been grouped into several tables with options which affect the behaviour of ''configure'' in a similar way.
  
 
{| border=1
 
{| border=1
Line 15: Line 25:
 
|''-q'' or ''--quiet'' or ''--silent'' || Do not print the `checking...' messages, only the final summed up ouput
 
|''-q'' or ''--quiet'' or ''--silent'' || Do not print the `checking...' messages, only the final summed up ouput
 
|-
 
|-
|''--cache-file=FILE || Store the checkings' ouputs in ''FILE'' in a script format, so you can reuse without the need to rerun ''configure'' (read the cached file for more information)
+
|''--cache-file=FILE || Store the checkings' ouputs in '''FILE''' in a script format, so you can reuse without the need to rerun ''configure'' (read the cached file for more information)
 
|-
 
|-
 
|''-C'' or ''--config-cache || Same as ''--cache-file=config.cache''
 
|''-C'' or ''--config-cache || Same as ''--cache-file=config.cache''
Line 21: Line 31:
 
|''-n'' or ''--no-create || Just run configure, but do not create any file
 
|''-n'' or ''--no-create || Just run configure, but do not create any file
 
|-
 
|-
|''--srcdir=DIR'' || Look for the sources in ''DIR'' [configure dir or `..']
+
|''--srcdir=DIR'' || Look for the sources in '''DIR'''. By default, the ''configure'' dir or its parent (''../'')
 
|}
 
|}
  
 
{| border=1
 
{| border=1
 
|+ Installation directories options
 
|+ Installation directories options
| ''--prefix=PREFIX'' || Set where to install architecture-independent files (data) in ''PREFIX''. By dafault, this is set to ''/usr/local''
+
| ''--prefix=PREFIX'' || Set where to install architecture-independent files (data) in '''PREFIX'''. By dafault, this is set to ''/usr/local''
 
|-
 
|-
| --exec-prefix=EPREFIX || Set where to install architecture-dependent files (mainly binaries) in ''EPREFIX''. By default, this is set to the same value as ''PREFIX''.
+
| --exec-prefix=EPREFIX || Set where to install architecture-dependent files (mainly binaries) in '''EPREFIX'''. By default, this is set to the same value as '''PREFIX'''.
 
|}
 
|}
  
 
+
{| border=1
 
+
<pre>
+
{|
+
 
|+ Advanced installation directories options
 
|+ Advanced installation directories options
 
| ''--bindir=DIR'' || Where to store user executables. By default, '''''EPREFIX'''/bin''
 
| ''--bindir=DIR'' || Where to store user executables. By default, '''''EPREFIX'''/bin''
Line 42: Line 49:
 
| ''--libexecdir=DIR'' || Where to store program executable. By default '''''EPREFIX'''/libexeec''
 
| ''--libexecdir=DIR'' || Where to store program executable. By default '''''EPREFIX'''/libexeec''
 
|-
 
|-
| ''--datadir=DIR'' || Where to store read-only architecture independent data. By default, '''''EPREFIX'''/share''/:q
+
| ''--datadir=DIR'' || Where to store read-only architecture independent data. By default, '''''EPREFIX'''/share''
 
+
 
|-
 
|-
 
| ''--sysconfdir=DIR'' || Where to install read-only single-machine data. By default, '''''PREFIX'''/etc''
 
| ''--sysconfdir=DIR'' || Where to install read-only single-machine data. By default, '''''PREFIX'''/etc''
Line 62: Line 68:
 
|}
 
|}
  
Program names:
+
{| border=1
  --program-prefix=PREFIX           prepend PREFIX to installed program names
+
|+ General rule to program dirs specification
  --program-suffix=SUFFIX           append SUFFIX to installed program names
+
| ''--PROGRAM-prefix=PREFIX'' || Prepend '''PREFIX''' to installed '''PROGRAM''' directories
  --program-transform-name=PROGRAM  run sed PROGRAM on installed program names
+
|-
 +
| ''--PROGRAM-suffix=SUFFIX'' || Append '''SUFFIX''' to installed '''PROGRAM''' directories
 +
|-
 +
| ''--PROGRAM-transform-name=SUBST'' || Run ''sed '''SUBST''''' on installed '''PROGRAM''' names
 +
|}
  
X features:
+
{| border=1
  --x-includes=DIR   X include files are in DIR
+
|+ X directory specifications
  --x-libraries=DIR   X library files are in DIR
+
| ''--x-includes=DIR'' || '''DIR''' contains X's include files
 +
|-
 +
| ''--x-libraries=DIR'' || '''DIR''' contains X's libraries
 +
|}
  
System types:
+
{| border=1
  --build=BUILD     configure for building on BUILD [guessed]
+
|+ System specifications
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+
| ''--build=BUILD'' || Configure for building on '''BUILD''' platform. By default, it guesses the platform it is being run on
  --target=TARGET   configure for building compilers for TARGET [HOST]
+
|-
 +
| ''--host=HOST'' || Cross-compile to build programs to run on '''HOST''' platforms. By default, same as '''BUILD'''
 +
|-
 +
| ''--target=TARGET'' || Configure for building compilers for '''TARGET''' platfroms. By default, same as '''HOST'''
 +
|}
  
Optional Features:
+
{| border=1
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+
|+ Optional features
  --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+
| --disable-FEATURE || do not include FEATURE (same as --enable-FEATURE=no)
  --enable-maintainer-mode enable make rules and dependencies not useful
+
|-
                          (and sometimes confusing) to the casual installer
+
| --enable-FEATURE[=ARG] || include FEATURE [ARG=yes]
  --disable-dependency-tracking speeds up one-time build
+
|-
  --enable-dependency-tracking   do not reject slow dependency extractors
+
| --enable-maintainer-mode || enable make rules and dependencies not useful (and sometimes confusing) to the casual installer
  --enable-debug         enable additional debugging output
+
|-
  --disable-debug         disable additional debugging output
+
| --disable-dependency-tracking || speeds up one-time build
  --enable-optimize       enable code optimizing
+
|-
  --enable-optimise       enable code optimizing (deprecated)
+
| --enable-dependency-tracking || do not reject slow dependency extractors
  --enable-profile       enable code profiling
+
|-
  --enable-static         produce a statically linked executable
+
| --enable-debug || enable additional debugging output
  --enable-embedded_crypto use embedded Crypto code (default)
+
|-
  --enable-amulecmd       compile aMule command line client
+
| --disable-debug || disable additional debugging output
  --enable-amulecmdgui   compile aMule command line client (GUI version)
+
|-
  --enable-amule-gui     compile aMule remote GUI (EXPERIMENTAL)
+
| --enable-optimize || enable code optimizing
  --enable-amule-daemon   compile aMule daemon version
+
|-
  --enable-webserver     compile aMule WebServer
+
| --enable-optimise || enable code optimizing (deprecated)
  --enable-webservergui   compile aMule WebServer GUI
+
|-
  --enable-cas           compile C aMule Statistics
+
| --enable-profile || enable code profiling
  --enable-wxcas         compile aMule GUI Statistics
+
|-
  --disable-ed2k         don't compile aMule ed2k links handler
+
| --enable-static || produce a statically linked executable
  --enable-alc           compile aMuleLinkCreator GUI version
+
|-
  --enable-alcc           compile aMuleLinkCreator for console
+
| --enable-embedded_crypto || use embedded Crypto code (default)
  --disable-gsocket       disable gsocket.c linking
+
|-
  --disable-gtk           disable pure GTK code in amule
+
| --enable-amulecmd || compile aMule command line client
  --enable-utf8-systray   use UTF-8 encoded strings in the systray
+
|-
  --disable-systray       disable SysTray compilation
+
| --enable-amulecmdgui || compile aMule command line client (GUI version)
  --disable-monolithic   disable building of the monolithic aMule app
+
|-
  --disable-gtktest       do not try to compile and run a test GTK+ program
+
| --enable-amule-gui || compile aMule remote GUI (EXPERIMENTAL)
  --disable-gtktest       do not try to compile and run a test GTK program
+
|-
  --disable-rpath         do not hardcode runtime library paths
+
| --enable-amule-daemon || compile aMule daemon version
  --disable-nls           do not use Native Language Support
+
|-
  --enable-ccache         enable ccache support for fast recompilation
+
| --enable-webserver || compile aMule WebServer
 +
|-
 +
| --enable-webservergui || compile aMule WebServer GUI
 +
|-
 +
| --enable-cas || compile C aMule Statistics
 +
|-
 +
| --enable-wxcas || compile aMule GUI Statistics
 +
|-
 +
| --disable-ed2k || don't compile aMule ed2k links handler
 +
|-
 +
| --enable-alc || compile aMuleLinkCreator GUI version
 +
|-
 +
| --enable-alcc || compile aMuleLinkCreator for console
 +
|-
 +
| --disable-gsocket || disable gsocket.c linking
 +
|-
 +
| --disable-gtk || disable pure GTK code in amule
 +
|-
 +
| --enable-utf8-systray || use UTF-8 encoded strings in the systray
 +
|-
 +
| --disable-systray || disable SysTray compilation
 +
|-
 +
| --disable-monolithic || disable building of the monolithic aMule app
 +
|-
 +
| --disable-gtktest || do not try to compile and run a test GTK+ program
 +
|-
 +
| --disable-gtktest || do not try to compile and run a test GTK program
 +
|-
 +
| --disable-rpath || do not hardcode runtime library paths
 +
|-
 +
| --disable-nls || do not use Native Language Support
 +
|-
 +
| --enable-ccache || enable ccache support for fast recompilation
 +
|}
  
Optional Packages:
+
{| border=1
  --with-PACKAGE[=ARG]   use PACKAGE [ARG=yes]
+
|+ Optional packages
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+
| --with-PACKAGE[=ARG] || use PACKAGE [ARG=yes]
  --with-zlib=PREFIX               use zlib in PREFIX
+
|-
  --with-curl-config=CONFIG       curl-config script to use (optional)
+
| --without-PACKAGE || do not use PACKAGE (same as --with-PACKAGE=no)
  --with-curl-prefix=PREFIX       prefix where curl is installed (optional) (un
+
|-
used)
+
| --with-zlib=PREFIX || use zlib in PREFIX
  --with-gdlib-prefix=PREFIX       prefix where gdlib is installed (optional)
+
|-
  --with-gdlib-exec-prefix=PREFIX exec prefix where gdlib  is installed (option
+
| --with-curl-config=CONFIG || curl-config script to use (optional)
al)
+
|-
  --with-gdlib-config=CONFIG       gdlib-config script to use (optional)
+
| --with-curl-prefix=PREFIX || prefix where curl is installed (optional) (unused)
  --with-libpng-prefix=PREFIX     prefix where libpng is installed
+
|-
  --with-libpng-exec-prefix=PREFIX exec prefix where libpng  is installed
+
| --with-gdlib-prefix=PREFIX || prefix where gdlib is installed (optional)
  --with-libpng-config=CONFIG     libpng-config script to use
+
|-
  --with-wx-prefix=PREFIX         prefix where wxWidgets is installed (optional
+
| --with-gdlib-exec-prefix=PREFIX || exec prefix where gdlib  is installed (optional)
)
+
|-
  --with-wx-exec-prefix=PREFIX     exec prefix where wxWidgets is installed (opt
+
| --with-gdlib-config=CONFIG || gdlib-config script to use (optional)
ional)
+
|-
  --with-wx-config=CONFIG         wx-config script to use (optional)
+
| --with-libpng-prefix=PREFIX || prefix where libpng is installed
  --with-wxbase-prefix=PREFIX     prefix where wxWidgets base is installed (opt
+
|-
ional)
+
| --with-libpng-exec-prefix=PREFIX || exec prefix where libpng  is installed
  --with-wxbase-exec-prefix=PREFIX exec prefix where wxWidgetsbase is installed
+
|-
(optional)
+
| --with-libpng-config=CONFIG || libpng-config script to use
  --with-wxbase-config=CONFIG     wxbase-config script to use (optional)
+
|-
  --with-gtk-prefix=PREFIX         prefix where GTK is installed (optional)
+
| --with-wx-prefix=PREFIX || prefix where wxWidgets is installed (optional)
  --with-gtk-exec-prefix=PREFIX   exec prefix where GTK is installed (optional)
+
|-
  --with-crypto-prefix=PREFIX     prefix where crypto++ is installed (optional)
+
| --with-wx-exec-prefix=PREFIX || exec prefix where wxWidgets is installed (optional)
  --with-x               use the X Window System
+
|-
  --with-gnu-ld           assume the C compiler uses GNU ld default=no
+
| --with-wx-config=CONFIG || wx-config script to use (optional)
  --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib
+
|-
  --without-libiconv-prefix     don't search for libiconv in includedir and libd
+
| --with-wxbase-prefix=PREFIX || prefix where wxWidgets base is installed (optional)
ir
+
|-
  --with-included-gettext use the GNU gettext library included here
+
| --with-wxbase-exec-prefix=PREFIX || exec prefix where wxWidgetsbase is installed (optional)
  --with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib
+
|-
  --without-libintl-prefix     don't search for libintl in includedir and libdir
+
| --with-wxbase-config=CONFIG || wxbase-config script to use (optional)
  --with-ccache-prefix=PREFIX     prefix where ccache is installed (optional)
+
|-
 +
| --with-gtk-prefix=PREFIX || prefix where GTK is installed (optional)
 +
|-
 +
| --with-gtk-exec-prefix=PREFIX || exec prefix where GTK is installed (optional)
 +
|-
 +
| --with-crypto-prefix=PREFIX || prefix where crypto++ is installed (optional)
 +
|-
 +
| --with-x || use the X Window System
 +
|-
 +
| --with-gnu-ld || assume the C compiler uses GNU ld default=no
 +
|-
 +
| --with-libiconv-prefix=DIR || search for libiconv in DIR/include and DIR/lib
 +
|-
 +
| --without-libiconv-prefix || don't search for libiconv in includedir and libdir
 +
|-
 +
| --with-included-gettext || use the GNU gettext library included here
 +
|-
 +
| --with-libintl-prefix=DIR || search for libintl in DIR/include and DIR/lib
 +
|-
 +
| --without-libintl-prefix || don't search for libintl in includedir and libdir
 +
|-
 +
| --with-ccache-prefix=PREFIX || prefix where ccache is installed (optional)
 +
|}
 +
 
 +
== Variables ==
 +
 
 +
Before you take a look at the [[#Variables and what they mean|variables and what they mean]], you must take a look at the two variable's [[#Usage types|usage types]] available.
 +
 
 +
=== Usage types ===
 +
 
 +
You can either use [[#Environmental variables|environmental variables]] or you can [[#Configure variables|enter variables directly into the ''configure'' command]].
 +
 
 +
==== Environmental variables ====
 +
 
 +
If you plan to use environmental variables, you will affect the behaviour of ''configure'' and any other program you run in that same shell untill you end your session. You must set them '''before''' running configure. To set them, run
 +
 
 +
export ''VAR=VALUE'''
 +
 
 +
where ''VAR'' is the name of the environmental variable and ''VALUE'' is it's value.
 +
 
 +
==== Configure variables ====
 +
 
 +
If you don't want to use environmental variables, you can pass them into the ''configure'' command, this way:
 +
 
 +
configure VAR=VALUE
 +
 
 +
where ''VAR'' stands for the variable name and ''VALUE'' is its value.
 +
 
 +
=== Variables and what they mean ===
 +
 
 +
Do '''NOT''' touch this variables if you don't know what you are doing!
 +
 
 +
This are some of the most commonly used environmental for ''configure'':
 +
 
 +
{| border=1
 +
|+ Environmental variables
 +
| ''CC'' || C compiler command to use
 +
|-
 +
| ''CXX'' || C++ compiler command to use (e.g. ''g++'')
 +
|-
 +
| ''CPP'' || C preprocessor command to use
 +
|-
 +
| ''CFLAGS'' || C compiler flags
 +
|-
 +
| ''CXXCPP'' || C++ preprocessor command to use
 +
|-
 +
| ''CXXFLAGS' || C++ compiler flags
 +
|-
 +
| ''LDFLAGS'' || Linker flags. Usually used to specify additional library directories (e.g. ''LDFLAGS="-L/usr/lib"'')
 +
|-
 +
| ''CPPFLAGS'' || C/C++ preprocessor flags (e.g. ''CPPFLAGS="-I/usr/include"'')
 +
|}
  
Some influential environment variables:
+
== More information ==
  CXX        C++ compiler command
+
  CXXFLAGS    C++ compiler flags
+
  LDFLAGS    linker flags, e.g. -L<lib dir> if you have libraries in a
+
              nonstandard directory <lib dir>
+
  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
+
              headers in a nonstandard directory <include dir>
+
  CXXCPP      C++ preprocessor
+
  CC          C compiler command
+
  CFLAGS      C compiler flags
+
  CPP        C preprocessor
+
  
Use these variables to override the choices made by `configure' or to help
+
This article is mainly an explanation (dummy-proof) of the output of ''configure --help''.
it to find libraries and programs with nonstandard names/locations.
+
  
Report bugs to deltahf@amule.org.
+
Anyway, it could (rarely) be out of date. So, if tehre's something you want to do with ''configure'' that is not listed here, run ''configure --help'' and see if it is listed there.
</pre>
+

Revision as of 22:08, 28 March 2005

Introduction

configure configures aMule to adapt to many kinds of systems.

Its purpose is to make it easy to port it to many platforms and to compile it and use it in all platforms in the very same way.

You can set lots of parameters in it to adapt it to your system and to tweak it's features.

Main usage

It's usage is ./configure [OPTION]... [VARIABLE=VALUE]...

So, as you can see, you can define its behaviour both through #Options and through Variables

Options

You can define one or more options. The available options in aMule's configure are listed below. To better understand their meaning, they have been grouped into several tables with options which affect the behaviour of configure in a similar way.

Basic options
-h or --help This will display a help message summing up all configure options
-V or --version This will display the version information
-q or --quiet or --silent Do not print the `checking...' messages, only the final summed up ouput
--cache-file=FILE Store the checkings' ouputs in FILE in a script format, so you can reuse without the need to rerun configure (read the cached file for more information)
-C or --config-cache Same as --cache-file=config.cache
-n or --no-create Just run configure, but do not create any file
--srcdir=DIR Look for the sources in DIR. By default, the configure dir or its parent (../)
Installation directories options
--prefix=PREFIX Set where to install architecture-independent files (data) in PREFIX. By dafault, this is set to /usr/local
--exec-prefix=EPREFIX Set where to install architecture-dependent files (mainly binaries) in EPREFIX. By default, this is set to the same value as PREFIX.
Advanced installation directories options
--bindir=DIR Where to store user executables. By default, EPREFIX/bin
--sbindir=DIR Where to store system administrator executables. By default, EPREFIX/sbin
--libexecdir=DIR Where to store program executable. By default EPREFIX/libexeec
--datadir=DIR Where to store read-only architecture independent data. By default, EPREFIX/share
--sysconfdir=DIR Where to install read-only single-machine data. By default, PREFIX/etc
--sharedstatedir=DIR Directory with hangable architacture-independent data. By default PREFIX/com
--localstatedir=DIR Modifiable single-machine data. By default, PREFIX/var
--libdir=DIR Directory to search libs object code libraries. By default, EPREFIX/lib
--includedir=DIR Directory containing the C header files. By default, PREFIX/include
--oldincludedir=DIR Directory containing C header files for non-GCC. By default, /usr/include
--infodir=DIR Where to store info and documentation files. By default, EPREFIX/info
--mandir=DIR Where to store man pages. By default, EPREFIX/man
General rule to program dirs specification
--PROGRAM-prefix=PREFIX Prepend PREFIX to installed PROGRAM directories
--PROGRAM-suffix=SUFFIX Append SUFFIX to installed PROGRAM directories
--PROGRAM-transform-name=SUBST Run sed SUBST on installed PROGRAM names
X directory specifications
--x-includes=DIR DIR contains X's include files
--x-libraries=DIR DIR contains X's libraries
System specifications
--build=BUILD Configure for building on BUILD platform. By default, it guesses the platform it is being run on
--host=HOST Cross-compile to build programs to run on HOST platforms. By default, same as BUILD
--target=TARGET Configure for building compilers for TARGET platfroms. By default, same as HOST
Optional features
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer
--disable-dependency-tracking speeds up one-time build
--enable-dependency-tracking do not reject slow dependency extractors
--enable-debug enable additional debugging output
--disable-debug disable additional debugging output
--enable-optimize enable code optimizing
--enable-optimise enable code optimizing (deprecated)
--enable-profile enable code profiling
--enable-static produce a statically linked executable
--enable-embedded_crypto use embedded Crypto code (default)
--enable-amulecmd compile aMule command line client
--enable-amulecmdgui compile aMule command line client (GUI version)
--enable-amule-gui compile aMule remote GUI (EXPERIMENTAL)
--enable-amule-daemon compile aMule daemon version
--enable-webserver compile aMule WebServer
--enable-webservergui compile aMule WebServer GUI
--enable-cas compile C aMule Statistics
--enable-wxcas compile aMule GUI Statistics
--disable-ed2k don't compile aMule ed2k links handler
--enable-alc compile aMuleLinkCreator GUI version
--enable-alcc compile aMuleLinkCreator for console
--disable-gsocket disable gsocket.c linking
--disable-gtk disable pure GTK code in amule
--enable-utf8-systray use UTF-8 encoded strings in the systray
--disable-systray disable SysTray compilation
--disable-monolithic disable building of the monolithic aMule app
--disable-gtktest do not try to compile and run a test GTK+ program
--disable-gtktest do not try to compile and run a test GTK program
--disable-rpath do not hardcode runtime library paths
--disable-nls do not use Native Language Support
--enable-ccache enable ccache support for fast recompilation
Optional packages
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-zlib=PREFIX use zlib in PREFIX
--with-curl-config=CONFIG curl-config script to use (optional)
--with-curl-prefix=PREFIX prefix where curl is installed (optional) (unused)
--with-gdlib-prefix=PREFIX prefix where gdlib is installed (optional)
--with-gdlib-exec-prefix=PREFIX exec prefix where gdlib is installed (optional)
--with-gdlib-config=CONFIG gdlib-config script to use (optional)
--with-libpng-prefix=PREFIX prefix where libpng is installed
--with-libpng-exec-prefix=PREFIX exec prefix where libpng is installed
--with-libpng-config=CONFIG libpng-config script to use
--with-wx-prefix=PREFIX prefix where wxWidgets is installed (optional)
--with-wx-exec-prefix=PREFIX exec prefix where wxWidgets is installed (optional)
--with-wx-config=CONFIG wx-config script to use (optional)
--with-wxbase-prefix=PREFIX prefix where wxWidgets base is installed (optional)
--with-wxbase-exec-prefix=PREFIX exec prefix where wxWidgetsbase is installed (optional)
--with-wxbase-config=CONFIG wxbase-config script to use (optional)
--with-gtk-prefix=PREFIX prefix where GTK is installed (optional)
--with-gtk-exec-prefix=PREFIX exec prefix where GTK is installed (optional)
--with-crypto-prefix=PREFIX prefix where crypto++ is installed (optional)
--with-x use the X Window System
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-included-gettext use the GNU gettext library included here
--with-libintl-prefix=DIR search for libintl in DIR/include and DIR/lib
--without-libintl-prefix don't search for libintl in includedir and libdir
--with-ccache-prefix=PREFIX prefix where ccache is installed (optional)

Variables

Before you take a look at the variables and what they mean, you must take a look at the two variable's usage types available.

Usage types

You can either use environmental variables or you can enter variables directly into the configure command.

Environmental variables

If you plan to use environmental variables, you will affect the behaviour of configure and any other program you run in that same shell untill you end your session. You must set them before running configure. To set them, run

export VAR=VALUE'

where VAR is the name of the environmental variable and VALUE is it's value.

Configure variables

If you don't want to use environmental variables, you can pass them into the configure command, this way:

configure VAR=VALUE

where VAR stands for the variable name and VALUE is its value.

Variables and what they mean

Do NOT touch this variables if you don't know what you are doing!

This are some of the most commonly used environmental for configure:

Environmental variables
CC C compiler command to use
CXX C++ compiler command to use (e.g. g++)
CPP C preprocessor command to use
CFLAGS C compiler flags
CXXCPP C++ preprocessor command to use
CXXFLAGS' C++ compiler flags
LDFLAGS Linker flags. Usually used to specify additional library directories (e.g. LDFLAGS="-L/usr/lib")
CPPFLAGS C/C++ preprocessor flags (e.g. CPPFLAGS="-I/usr/include")

More information

This article is mainly an explanation (dummy-proof) of the output of configure --help.

Anyway, it could (rarely) be out of date. So, if tehre's something you want to do with configure that is not listed here, run configure --help and see if it is listed there.