Difference between revisions of "Configure"
(all links done! YAY!) |
|||
Line 156: | Line 156: | ||
| ''--enable-dependency-tracking'' || Keep a 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-dependency-tracking'' || Keep a 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 | + | | ''--enable-ccache'' || Enable [http://ccache.samba.org ccache]. This will make following compilations faster since only the non-modified bits of code will be recompilated. 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 gprof'' and ''man gcc'' (in the man pages of ''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'') |
|} | |} | ||
{| border=1 | {| border=1 | ||
|+ Compilation tweaks | |+ Compilation tweaks | ||
− | | ''--disable-debug'' || Disables outputing information of the application execution. This information is useful to track bugs, so you might not want to use this option or you will not be able to report bugs | + | | ''--disable-debug'' || Disables outputing information of the application execution. This information is useful to track bugs, so you might not want to use this option or you will not be able to report bugs properly |
|- | |- | ||
| ''--enable-optimize'' || Optimizes the code to run (a little) faster. Using this option will not allow you to create useful bug reports so you might not want to enable it | | ''--enable-optimize'' || Optimizes the code to run (a little) faster. Using this option will not allow you to create useful bug reports so you might not want to enable it | ||
|- | |- | ||
− | | ''--enable-optimise'' || Same as ''--enable-optimize'', but is deprecated (it is still there | + | | ''--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 binnary. Useful only if you plan to move the binnary 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 | | ''--disable-rpath'' || Do not write the libraries' path into the binnary. Useful only if you plan to move the binnary 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 | ||
Line 180: | Line 180: | ||
| ''--disable-gsocket'' || Do not use [[aMule]]'s ''gsocket.c'' implementation. Do not use it unless you are '''very''' sure of what you are doing! (On [[wxWidgets]] 2.4, the default ''gsocket.c'' code gives [[Low ID]]s on restart) | | ''--disable-gsocket'' || Do not use [[aMule]]'s ''gsocket.c'' implementation. Do not use it unless you are '''very''' sure of what you are doing! (On [[wxWidgets]] 2.4, the default ''gsocket.c'' code gives [[Low ID]]s on restart) | ||
|- | |- | ||
− | | ''--disable-nls'' || Do not use Native Language Support. It will disable translations, so better don't use it | + | | ''--disable-nls'' || Do not use [http://www.vitavoom.com/postgresql-docs/nls.html Native Language Support]. It will disable translations, so better don't use it |
|} | |} | ||
{| border=1 | {| border=1 | ||
|+ Compilation hardcodings | |+ Compilation hardcodings | ||
− | | ''--disable-gtk'' || Disable using pure GTK code in [[aMule]] (pure GTK code is only used in little parts of code where no universal code could be used). Do not disable it unless you know what you're doing (since some features may not be compiled) | + | | ''--disable-gtk'' || Disable using pure [http://www.gtk.org GTK] code in [[aMule]] (pure [http://www.gtk.org GTK] code is only used in little parts of code where no universal code could be used). Do not disable it unless you know what you're doing (since some features may not be compiled) |
|- | |- | ||
− | | ''--disable-systray'' || Do not include a SysTray into the [[aMule]] build. Only [[wxWidgets]] 2.4.2 users with no 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 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]] binnaries selection | |+ [[aMule]] binnaries 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]]) |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-amule-daemon'' || Compile [[aMuled|aMule daemon]] |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-amulecmd'' || Compile the [[aMuleCMD|aMule command line client]] |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-amulecmdgui'' || Compile [[aMuleCMDDLG|aMule command line client (GUI version)]] |
|- | |- | ||
− | | ''--enable-webserver'' || Compile aMule's WebServer | + | | ''--enable-webserver'' || Compile [[aMuleWeb|aMule's WebServer]] |
|- | |- | ||
− | | ''--enable-webservergui'' || Compile aMule's WebServer (GUI version) | + | | ''--enable-webservergui'' || Compile [[aMuleWebDLG|aMule's WebServer (GUI version)]] |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-amule-gui'' || Compile [[aMuleGUI|aMule remote GUI]] |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-cas'' || Compile [[CAS|C aMule Statistics]] |
|- | |- | ||
− | | ''-- | + | | ''--enable-wxcas'' || Compile [[wxCAS|aMule GUI Statistics]] |
|- | |- | ||
− | | ''-- | + | | ''--disable-ed2k'' || Don't compile [[ed2k command|aMule's ed2k links handler]] |
|- | |- | ||
− | | ''--enable- | + | | ''--enable-alc'' || Compile [[aLinkCreator|aMuleLinkCreator GUI version]] |
|- | |- | ||
− | | ''-- | + | | ''--enable-alcc'' || Compile [[aLinCreatorConsole|aMuleLinkCreator for console]] |
|} | |} | ||
{| border=1 | {| border=1 | ||
|+ Configure tweaks | |+ Configure tweaks | ||
− | | ''--disable-gtktest'' || Do not try to compile a test GTK (either | + | | ''--disable-gtktest'' || Do not try to compile a test [http://www.gtk.org GTK] (either [http://www.gtk.org GTK]1 or [http://www.gtk.org GTK]2 depending on your system's configuration) program to see if your system has a proper [http://www.gtk.org GTK] configuration. This will make the ''configure'' script run a (very) little faster, but you should still not use it unless you know what you are doing, since the ''configure'' script could miss some tests. |
|} | |} | ||
Line 231: | Line 231: | ||
{| border=1 | {| border=1 | ||
− | |+ zLib | + | |+ [http://www.gzip.org/zlib zLib] |
− | | ''--with-zlib=PREFIX'' || Look for zLib files in '''PREFIX''' | + | | ''--with-zlib=PREFIX'' || Look for [http://www.gzip.org/zlib zLib] files in '''PREFIX''' |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ Curl | + | |+ [http://curl.haxx.se Curl] |
| ''--with-curl-config=CONFIG'' || '''CONFIG''' is the path of ''curl-config'' | | ''--with-curl-config=CONFIG'' || '''CONFIG''' is the path of ''curl-config'' | ||
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ | + | |+ [http://www.boutell.com/gd LibGD] |
− | | ''--with-gdlib-prefix=PREFIX'' || Look for | + | | ''--with-gdlib-prefix=PREFIX'' || Look for [http://www.boutell.com/gd LibGD] files in '''PREFIX''' |
|- | |- | ||
| ''--with-gdlib-exec-prefix=PREFIX'' || Look for GDLib libraries in '''PREFIX'''. By default, looks for them in the path specified in ''--with-gdlib-exec-prefix'' | | ''--with-gdlib-exec-prefix=PREFIX'' || Look for GDLib libraries in '''PREFIX'''. By default, looks for them in the path specified in ''--with-gdlib-exec-prefix'' | ||
Line 250: | Line 250: | ||
{| border=1 | {| border=1 | ||
− | |+ LibPNG | + | |+ [http://www.libpng.org LibPNG] |
− | | ''--with-libpng-prefix=PREFIX'' || Look for LibPNG files in '''PREFIX''' | + | | ''--with-libpng-prefix=PREFIX'' || Look for [http://www.libpng.org LibPNG] files in '''PREFIX''' |
|- | |- | ||
− | | ''--with-libpng-exec-prefix=PREFIX'' || Look for | + | | ''--with-libpng-exec-prefix=PREFIX'' || Look for [http://www.libpng.org LibPNG] libraries in '''PREFIX'''. By default, looks for them in the path specified in ''--with-libpng-exec-prefix'' |
|- | |- | ||
| ''--with-libpng-config=CONFIG'' || '''CONFIG''' is the path of ''libpng-config'' | | ''--with-libpng-config=CONFIG'' || '''CONFIG''' is the path of ''libpng-config'' | ||
Line 278: | Line 278: | ||
{| border=1 | {| border=1 | ||
− | |+ GTK | + | |+ [http://www.gtk.org GTK] |
− | | ''--with-gtk-prefix=PREFIX'' || Look for GTK (not | + | | ''--with-gtk-prefix=PREFIX'' || Look for [http://www.gtk.org GTK] (not [http://www.gtk.org GTK]2) files in '''PREFIX''' |
|- | |- | ||
− | | ''--with-gtk-exec-prefix=PREFIX'' || Look for GTK (not | + | | ''--with-gtk-exec-prefix=PREFIX'' || Look for [http://www.gtk.org GTK] (not [http://www.gtk.org GTK]2) libraries in '''PREFIX'''. By default, looks for them in the path specified in ''--with-gtk-exec-prefix'' |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ Crypto++ | + | |+ [http://www.openssl.org/docs/crypto/crypto.html Crypto++] |
− | | ''--with-crypto-prefix=PREFIX'' || Look for Crypto++ files in '''PREFIX''' | + | | ''--with-crypto-prefix=PREFIX'' || Look for [http://www.openssl.org/docs/crypto/crypto.html Crypto++] files in '''PREFIX''' |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ LibIConv | + | |+ [http://www.gnu.org/software/libiconv LibIConv] |
− | | ''--with-libiconv-prefix=PREFIX'' || Look for LibIConv files in '''''PREFIX'''/include'' and '''''PREFIX'''/lib'' | + | | ''--with-libiconv-prefix=PREFIX'' || Look for [http://www.gnu.org/software/libiconv LibIConv] files in '''''PREFIX'''/include'' and '''''PREFIX'''/lib'' |
|- | |- | ||
− | | ''--without-libiconv-prefix'' || Don't search for libiconv in includedir and libdir TODO | + | | ''--without-libiconv-prefix'' || Don't search for [http://www.gnu.org/software/libiconv LibIConv] in includedir and libdir TODO |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ GetText | + | |+ [http://www.gnu.org/software/gettext GetText] |
− | | ''--with-included-gettext'' || Use the | + | | ''--with-included-gettext'' || Use the [http://www.gnu.org/software/gettext GNU GetText] library included here TODO |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ LibIntl | + | |+ [http://gnuwin32.sourceforge.net/packages/libintl.htm LibIntl] |
− | | ''--with-libintl-prefix=PREFIX'' || Look for LibIntl files in '''''PREFIX'''/include''' and '''''PREFIX'''/lib'''' | + | | ''--with-libintl-prefix=PREFIX'' || Look for [http://gnuwin32.sourceforge.net/packages/libintl.htm LibIntl] files in '''''PREFIX'''/include''' and '''''PREFIX'''/lib'''' |
|- | |- | ||
− | | ''--without-libintl-prefix'' || Don't search for libintl in includedir and libdir TODO | + | | ''--without-libintl-prefix'' || Don't search for [http://gnuwin32.sourceforge.net/packages/libintl.htm LibIntl] in includedir and libdir TODO |
|} | |} | ||
{| border=1 | {| border=1 | ||
− | |+ | + | |+ [http://ccache.samba.org ccache] |
− | | ''--with-ccache-prefix=PREFIX'' || Look for | + | | ''--with-ccache-prefix=PREFIX'' || Look for [http://ccache.samba.org ccache] files in '''PREFIX''' |
|} | |} | ||
Line 345: | Line 345: | ||
{| border=1 | {| border=1 | ||
|+ Environmental variables | |+ Environmental variables | ||
− | | ''CC'' || C compiler command to use | + | | ''CC'' || [http://en.wikipedia.org/wiki/C_programming_language C] compiler command to use |
|- | |- | ||
− | | ''CXX'' || [http://en.wikipedia.org/wiki/C_Plus_Plus C++] compiler command to use (e.g. ''g++'') | + | | ''CXX'' || [http://en.wikipedia.org/wiki/C_Plus_Plus C++] compiler command to use (e.g. ''[http://gcc.gnu.org g++]'') |
|- | |- | ||
| ''CPP'' || [http://en.wikipedia.org/wiki/C_programming_language C] preprocessor command to use | | ''CPP'' || [http://en.wikipedia.org/wiki/C_programming_language C] preprocessor command to use |
Revision as of 10:05, 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 it's 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 usefull for them as well, but have in mind that they might have options not listed here and lack some listed here too. Main usageIt's 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 a non valid options or variables. So make sure you enter the options correctly (no typos) or they wil not only just do nothing, but also don't behave in the way you expected for taht specific options. Main optionsThis 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 optionsThis options should also exist on any configure script around the world. They will set some non-compilation related preferences.
Common optionsThis options should also exist on any configure script around the world. This time, this 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 this 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 you 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 this 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's usage types available. Usage typesYou can either use environmental variables or you can enter variables directly into the configure command. Environmental variablesIf 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 variablesIf 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 meanDo NOT touch this variables if you don't know what you are doing! This are some of the most commonly used environmental 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 tehre'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. |