Difference between revisions of "Configure"
(all links done! YAY!) |
m |
||
Line 7: | Line 7: | ||
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. | 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 | + | You can set lots of parameters in it to adapt it to your system and to tweak its features. |
− | '''NOTE:''' This article is focused in [[aMule]]'s ''configure''. Other ''configure'' scripts work in a similar way, but their options will differ. This article might be | + | '''NOTE:''' This article is focused in [[aMule]]'s ''configure''. Other ''configure'' scripts work in a similar way, but their options will differ. This article might be useful for them as well, but have in mind that they might have options not listed here and lack some listed here too. |
== Main usage == | == Main usage == | ||
− | + | Its usage is ''./configure [OPTION]... [VARIABLE=VALUE]...'' | |
So, as you can see, you can define its behaviour both through [[#Options|options]] and through [[#Variables|variables]] | So, as you can see, you can define its behaviour both through [[#Options|options]] and through [[#Variables|variables]] | ||
Line 21: | Line 21: | ||
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. | 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. | ||
− | Please note that ''configure'' will (in most cases) not complain if you enter | + | Please note that ''configure'' will (in most cases) not complain if you enter an invalid option or variable. So make sure you enter the options correctly (no typos) or they will have no effect and configure won't behave in the way you expected. |
=== Main options === | === Main options === | ||
− | + | These options should exist in any ''configure'' script around the world. They won't run the ''configure'' script to configure your application's compilation, but only output information you might need. | |
{| border=1 | {| border=1 | ||
Line 36: | Line 36: | ||
=== Non-compilation common options === | === Non-compilation common options === | ||
− | + | These options should also exist on any ''configure'' script around the world. They will set some non-compilation related preferences. | |
{| border=1 | {| border=1 | ||
Line 46: | Line 46: | ||
|''-C'' or ''--config-cache || Same as ''--cache-file=config.cache'' | |''-C'' or ''--config-cache || Same as ''--cache-file=config.cache'' | ||
|- | |- | ||
− | |''-n'' or ''--no-create || Just run ''configure'', but do not create any | + | |''-n'' or ''--no-create || Just run ''configure'', but do not create any files |
|- | |- | ||
|''--srcdir=DIR'' || Look for the sources in '''DIR'''. By default, the ''configure'' dir or its parent (''../'') | |''--srcdir=DIR'' || Look for the sources in '''DIR'''. By default, the ''configure'' dir or its parent (''../'') | ||
Line 53: | Line 53: | ||
=== Common options === | === Common options === | ||
− | + | These options should also exist on any ''configure'' script around the world. This time, these ones will affect the compilation of the application, so be careful when using them. You should take a close look at the application's ''README'' document (if available) if you want to use any of them (and even if you don't, still take a look at it, since you might '''have''' to use some). | |
{| border=1 | {| border=1 | ||
Line 127: | Line 127: | ||
=== Very-common options === | === Very-common options === | ||
− | In most ''configure'' scripts you will also be able to use | + | In most ''configure'' scripts you will also be able to use these options. |
{| border=1 | {| border=1 | ||
Line 145: | Line 145: | ||
=== [[aMule]] options === | === [[aMule]] options === | ||
− | The following options are specific to [[aMule]]'s ''configure'' script. They will allow you to enable and disable them, so you should really take a look at them or you might sadly find out you lack things you would like to have in | + | The following options are specific to [[aMule]]'s ''configure'' script. They will allow you to enable and disable them, so you should really take a look at them or you might sadly find out you lack things you would like to have in your [[aMule]] system ;-) |
{| border=1 | {| border=1 | ||
Line 152: | Line 152: | ||
| ''--enable-maintainer-mode'' || Activate some extra instructions only useful for developers (and totaly non-recommended to normal users) | | ''--enable-maintainer-mode'' || Activate some extra instructions only useful for developers (and totaly non-recommended to normal users) | ||
|- | |- | ||
− | | ''--disable-dependency-tracking'' || Makes the application compile faster | + | | ''--disable-dependency-tracking'' || Makes the application compile faster, but causes problems if you change the source code and try to compile again. Dependency tracking allows the make process to know which things to rebuild when something changes. If you do not plan to compile the application again with those same sources, you can safely use this option |
|- | |- | ||
− | | ''--enable-dependency-tracking'' || Keep | + | | ''--enable-dependency-tracking'' || Keep track of the dependencies so that on next build, only changed files will be recompiled. It slows down the compilation a little. This is the default |
|- | |- | ||
− | | ''--enable-ccache'' || Enable [http://ccache.samba.org ccache]. This will make following compilations faster since only the non-modified bits of code will be | + | | ''--enable-ccache'' || Enable [http://ccache.samba.org ccache]. This will make following compilations faster since only the non-modified bits of code will be recompiled. If you don't plan to compile [[aMule]] very often, don't enable this, since it takes longer to compile on the first compilation and it requires lots of disk space |
|- | |- | ||
| ''--enable-profile'' || Enable code profiling (which allows to see how much time and resources are spent on each part of the code, though it will make [[aMule]] run much slower, so, in most cases, don't use it). The output file is ''gmon.out'' and can be viewed with ''gprof''. For more information, ''man [http://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html gprof]'' and ''man [http://gcc.gnu.org gcc]'' (in the man pages of ''[http://gcc.gnu.org gcc]'', search for the command line option ''-pg'') | | ''--enable-profile'' || Enable code profiling (which allows to see how much time and resources are spent on each part of the code, though it will make [[aMule]] run much slower, so, in most cases, don't use it). The output file is ''gmon.out'' and can be viewed with ''gprof''. For more information, ''man [http://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html gprof]'' and ''man [http://gcc.gnu.org gcc]'' (in the man pages of ''[http://gcc.gnu.org gcc]'', search for the command line option ''-pg'') | ||
Line 169: | Line 169: | ||
| ''--enable-optimise'' || Same as ''--enable-optimize'', but is deprecated (it is still there for backwards compatibility only) | | ''--enable-optimise'' || Same as ''--enable-optimize'', but is deprecated (it is still there for backwards compatibility only) | ||
|- | |- | ||
− | | ''--disable-rpath'' || Do not write the libraries' path into the | + | | ''--disable-rpath'' || Do not write the libraries' path into the binary. Useful only if you plan to move the binary to other systems or if you move your libraries often. Only use it if you know what you're doing, since it will make [[aMule]] run slower |
|- | |- | ||
− | | ''--enable-static'' || Creates statically linked executables, which means that they will need no libraries since any needed library will be included | + | | ''--enable-static'' || Creates statically linked executables, which means that they will need no libraries since any needed library will be included in the executable file. The executable might run faster, and will be easily portable between systems using the same platform, but will be incredibly bigger in size |
|} | |} | ||
Line 189: | Line 189: | ||
| ''--disable-systray'' || Do not include a SysTray into the [[aMule]] build. Only [[wxWidgets]] 2.4.2 users with no [http://www.gtk.org GTK] should use it. Others should disable SysTray in [[aMule]]'s preferences | | ''--disable-systray'' || Do not include a SysTray into the [[aMule]] build. Only [[wxWidgets]] 2.4.2 users with no [http://www.gtk.org GTK] should use it. Others should disable SysTray in [[aMule]]'s preferences | ||
|- | |- | ||
− | | ''--enable-utf8-systray'' || Use[http://www.unicode.org UTF-8] encoded strings in [[aMule]]'s SysTray | + | | ''--enable-utf8-systray'' || Use [http://www.unicode.org UTF-8] encoded strings in [[aMule]]'s SysTray |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ [[aMule]] | + | |+ [[aMule]] binaries selection |
| ''--disable-monolithic'' || disable building of the [[aMule|monolithic aMule]] app. This is normally not recommended, unless you really know what you are doing (e.g. to compile only the [[aMuled|daemon]]) | | ''--disable-monolithic'' || disable building of the [[aMule|monolithic aMule]] app. This is normally not recommended, unless you really know what you are doing (e.g. to compile only the [[aMuled|daemon]]) | ||
|- | |- | ||
Line 228: | Line 228: | ||
This options are specific to [[aMule]]'s configure script, but they are not directly related to [[aMule]]. They just tell were some libraries or headers are located in your system, so that [[aMule]] can find them when compiling. Use them if you have those files in non-standard paths or when you know what you are doing. | This options are specific to [[aMule]]'s configure script, but they are not directly related to [[aMule]]. They just tell were some libraries or headers are located in your system, so that [[aMule]] can find them when compiling. Use them if you have those files in non-standard paths or when you know what you are doing. | ||
− | To better understand | + | To better understand these options, take a look at the [[#Common options|common options]] chapter in this article. |
{| border=1 | {| border=1 | ||
Line 315: | Line 315: | ||
== Variables == | == 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 | + | 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 [[#Usage types|usage types]] available. |
=== Usage types === | === Usage types === | ||
− | You can either use [[# | + | You can either use [[#Environment variables|environment variables]] or you can [[#Configure variables|enter variables directly into the ''configure'' command]]. |
− | ==== | + | ==== Environment variables ==== |
− | If you plan to use | + | If you plan to use environment variables, you will affect the behaviour of ''configure'' and any other program you run in that same shell until you end your session. You must set them '''before''' running configure. To set them, run |
export ''VAR=VALUE''' | export ''VAR=VALUE''' | ||
Line 331: | Line 331: | ||
==== Configure variables ==== | ==== Configure variables ==== | ||
− | If you don't want to use | + | If you don't want to use environment variables, you can pass them into the ''configure'' command, this way: |
configure VAR=VALUE | configure VAR=VALUE | ||
Line 339: | Line 339: | ||
=== Variables and what they mean === | === Variables and what they mean === | ||
− | Do '''NOT''' touch | + | Do '''NOT''' touch these variables if you don't know what you are doing! |
− | This are some of the most commonly used | + | This are some of the most commonly used variables for ''configure'': |
{| border=1 | {| border=1 | ||
− | |+ | + | |+ Variables |
| ''CC'' || [http://en.wikipedia.org/wiki/C_programming_language C] compiler command to use | | ''CC'' || [http://en.wikipedia.org/wiki/C_programming_language C] compiler command to use | ||
|- | |- | ||
Line 366: | Line 366: | ||
This article is mainly an explanation (dummy-proof) of the output of ''configure --help''. | This article is mainly an explanation (dummy-proof) of the output of ''configure --help''. | ||
− | Anyway, it could (rarely) be out of date. So, if | + | Anyway, it could (rarely) be out of date. So, if there's something you want to do with ''configure'' that is not listed here, run ''configure --help'' and see if it is listed there. |
Of course, you can always take a look at the [http://www.airs.com/ian/configure GNU configure page]. | Of course, you can always take a look at the [http://www.airs.com/ian/configure GNU configure page]. | ||
| | | | ||
|} | |} |
Revision as of 10:47, 29 March 2005
Introductionconfigure 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 its features. NOTE: This article is focused in aMule's configure. Other configure scripts work in a similar way, but their options will differ. This article might be useful for them as well, but have in mind that they might have options not listed here and lack some listed here too. Main usageIts usage is ./configure [OPTION]... [VARIABLE=VALUE]... So, as you can see, you can define its behaviour both through options and through variables OptionsYou 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. Please note that configure will (in most cases) not complain if you enter an invalid option or variable. So make sure you enter the options correctly (no typos) or they will have no effect and configure won't behave in the way you expected. Main optionsThese options should exist in any configure script around the world. They won't run the configure script to configure your application's compilation, but only output information you might need.
Non-compilation common optionsThese options should also exist on any configure script around the world. They will set some non-compilation related preferences.
Common optionsThese options should also exist on any configure script around the world. This time, these ones will affect the compilation of the application, so be careful when using them. You should take a close look at the application's README document (if available) if you want to use any of them (and even if you don't, still take a look at it, since you might have to use some).
Very-common optionsIn most configure scripts you will also be able to use these options.
aMule optionsThe following options are specific to aMule's configure script. They will allow you to enable and disable them, so you should really take a look at them or you might sadly find out you lack things you would like to have in your aMule system ;-)
aMule compilation settingsThis options are specific to aMule's configure script, but they are not directly related to aMule. They just tell were some libraries or headers are located in your system, so that aMule can find them when compiling. Use them if you have those files in non-standard paths or when you know what you are doing. To better understand these options, take a look at the common options chapter in this article.
VariablesBefore you take a look at the variables and what they mean, you must take a look at the two variable usage types available. Usage typesYou can either use environment variables or you can enter variables directly into the configure command. Environment variablesIf you plan to use environment variables, you will affect the behaviour of configure and any other program you run in that same shell until 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 variablesIf you don't want to use environment 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 meanDo NOT touch these variables if you don't know what you are doing! This are some of the most commonly used variables for configure:
More informationThis article is mainly an explanation (dummy-proof) of the output of configure --help. Anyway, it could (rarely) be out of date. So, if there's something you want to do with configure that is not listed here, run configure --help and see if it is listed there. Of course, you can always take a look at the GNU configure page. |