<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>liboggz: Installation</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Installation</h1><table border="0" cellpadding="0" cellspacing="0"> </table> <h2><a class="anchor" id="install"> INSTALL</a></h2> <div class="fragment"><pre class="fragment">Basic Installation ================== These are <span class="keyword">generic</span> installation instructions. The `configure<span class="stringliteral">' shell script attempts to guess correct values for</span> <span class="stringliteral">various system-dependent variables used during compilation. It uses</span> <span class="stringliteral">those values to create a `Makefile'</span> in each directory of the package. It may also create one or more `.h<span class="stringliteral">' files containing system-dependent</span> <span class="stringliteral">definitions. Finally, it creates a shell script `config.status'</span> that you can run in the future to recreate the current configuration, a file `config.cache<span class="stringliteral">' that saves the results of its tests to speed up</span> <span class="stringliteral">reconfiguring, and a file `config.log'</span> containing compiler output (useful mainly <span class="keywordflow">for</span> debugging `configure<span class="stringliteral">').</span> <span class="stringliteral"></span> <span class="stringliteral"> If you need to do unusual things to compile the package, please try</span> <span class="stringliteral">to figure out how `configure'</span> could check whether to <span class="keywordflow">do</span> them, and mail diffs or instructions to the address given in the `README<span class="stringliteral">' so they can</span> <span class="stringliteral">be considered for the next release. If at some point `config.cache'</span> contains results you don<span class="stringliteral">'t want to keep, you may remove or edit it.</span> <span class="stringliteral"></span> <span class="stringliteral"> The file `configure.in'</span> is used to create `configure<span class="stringliteral">' by a program</span> <span class="stringliteral">called `autoconf'</span>. You only need `configure.in<span class="stringliteral">' if you want to change</span> <span class="stringliteral">it or regenerate `configure'</span> <span class="keyword">using</span> a newer version of `autoconf<span class="stringliteral">'.</span> <span class="stringliteral"></span> <span class="stringliteral">The simplest way to compile this package is:</span> <span class="stringliteral"></span> <span class="stringliteral"> 1. `cd'</span> to the directory containing the package<span class="stringliteral">'s source code and type</span> <span class="stringliteral"> `./configure'</span> to configure the package <span class="keywordflow">for</span> your system. If you<span class="stringliteral">'re</span> <span class="stringliteral"> using `csh'</span> on an old version of System V, you might need to type `sh ./configure<span class="stringliteral">' instead to prevent `csh'</span> from trying to execute `configure<span class="stringliteral">' itself.</span> <span class="stringliteral"></span> <span class="stringliteral"> Running `configure'</span> takes awhile. While running, it prints some messages telling which features it is checking <span class="keywordflow">for</span>. 2. Type `make<span class="stringliteral">' to compile the package.</span> <span class="stringliteral"></span> <span class="stringliteral"> 3. Optionally, type `make check'</span> to run any <span class="keyword">self</span>-tests that come with the package. 4. Type `make install<span class="stringliteral">' to install the programs and any data files and</span> <span class="stringliteral"> documentation.</span> <span class="stringliteral"></span> <span class="stringliteral"> 5. You can remove the program binaries and object files from the</span> <span class="stringliteral"> source code directory by typing `make clean'</span>. To also <span class="keyword">remove</span> the files that `configure<span class="stringliteral">' created (so you can compile the package for</span> <span class="stringliteral"> a different kind of computer), type `make distclean'</span>. There is also a `make maintainer-clean<span class="stringliteral">' target, but that is intended mainly</span> <span class="stringliteral"> for the package'</span>s developers. If you use it, you may have to <span class="keyword">get</span> all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options <span class="keywordflow">for</span> compilation or linking that the `configure<span class="stringliteral">' script does not know about. You can give `configure'</span> initial values <span class="keywordflow">for</span> variables by setting them in the environment. Using a Bourne-compatible shell, you can <span class="keywordflow">do</span> that on the command line like <span class="keyword">this</span>: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env<span class="stringliteral">' program, you can do it like this:</span> <span class="stringliteral"> env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure</span> <span class="stringliteral"></span> <span class="stringliteral">Compiling For Multiple Architectures</span> <span class="stringliteral">====================================</span> <span class="stringliteral"></span> <span class="stringliteral"> You can compile the package for more than one kind of computer at the</span> <span class="stringliteral">same time, by placing the object files for each architecture in their</span> <span class="stringliteral">own directory. To do this, you must use a version of `make'</span> that supports the `VPATH<span class="stringliteral">' variable, such as GNU `make'</span>. `cd<span class="stringliteral">' to the</span> <span class="stringliteral">directory where you want the object files and executables to go and run</span> <span class="stringliteral">the `configure'</span> script. `configure<span class="stringliteral">' automatically checks for the</span> <span class="stringliteral">source code in the directory that `configure'</span> is in and in `..<span class="stringliteral">'.</span> <span class="stringliteral"></span> <span class="stringliteral"> If you have to use a `make'</span> that does not supports the `VPATH<span class="stringliteral">'</span> <span class="stringliteral">variable, you have to compile the package for one architecture at a time</span> <span class="stringliteral">in the source code directory. After you have installed the package for</span> <span class="stringliteral">one architecture, use `make distclean'</span> before reconfiguring <span class="keywordflow">for</span> another architecture. Installation Names ================== By <span class="keywordflow">default</span>, `make install<span class="stringliteral">' will install the package'</span>s files in `/usr/local/bin<span class="stringliteral">', `/usr/local/man'</span>, etc. You can specify an installation prefix other than `/usr/local<span class="stringliteral">' by giving `configure'</span> the option `--prefix=PATH<span class="stringliteral">'.</span> <span class="stringliteral"></span> <span class="stringliteral"> You can specify separate installation prefixes for</span> <span class="stringliteral">architecture-specific files and architecture-independent files. If you</span> <span class="stringliteral">give `configure'</span> the option `--exec-prefix=PATH<span class="stringliteral">', the package will use</span> <span class="stringliteral">PATH as the prefix for installing programs and libraries.</span> <span class="stringliteral">Documentation and other data files will still use the regular prefix.</span> <span class="stringliteral"></span> <span class="stringliteral"> In addition, if you use an unusual directory layout you can give</span> <span class="stringliteral">options like `--bindir=PATH'</span> to specify different values <span class="keywordflow">for</span> particular kinds of files. Run `configure --help<span class="stringliteral">' for a list of the directories</span> <span class="stringliteral">you can set and what kinds of files go in them.</span> <span class="stringliteral"></span> <span class="stringliteral"> If the package supports it, you can cause programs to be installed</span> <span class="stringliteral">with an extra prefix or suffix on their names by giving `configure'</span> the option `--program-prefix=PREFIX<span class="stringliteral">' or `--program-suffix=SUFFIX'</span>. Optional Features ================= Some packages pay attention to `--enable-FEATURE<span class="stringliteral">' options to</span> <span class="stringliteral">`configure'</span>, where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE<span class="stringliteral">' options, where PACKAGE</span> <span class="stringliteral">is something like `gnu-as'</span> or `x<span class="stringliteral">' (for the X Window System). The</span> <span class="stringliteral">`README'</span> should mention any `--enable-<span class="stringliteral">' and `--with-'</span> options that the package recognizes. For packages that use the X Window System, `configure<span class="stringliteral">' can usually</span> <span class="stringliteral">find the X include and library files automatically, but if it doesn'</span>t, you can use the `configure<span class="stringliteral">' options `--x-includes=DIR'</span> and `--x-libraries=DIR<span class="stringliteral">' to specify their locations.</span> <span class="stringliteral"></span> <span class="stringliteral">Specifying the System Type</span> <span class="stringliteral">==========================</span> <span class="stringliteral"></span> <span class="stringliteral"> There may be some features `configure'</span> can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure<span class="stringliteral">' can figure that out, but if it prints</span> <span class="stringliteral">a message saying it can not guess the host type, give it the</span> <span class="stringliteral">`--host=TYPE'</span> option. TYPE can either be a <span class="keywordtype">short</span> name <span class="keywordflow">for</span> the system type, such as `sun4<span class="stringliteral">', or a canonical name with three fields:</span> <span class="stringliteral"> CPU-COMPANY-SYSTEM</span> <span class="stringliteral"></span> <span class="stringliteral">See the file `config.sub'</span> <span class="keywordflow">for</span> the possible values of each field. If `config.sub<span class="stringliteral">' isn'</span>t included in <span class="keyword">this</span> package, then <span class="keyword">this</span> package doesn<span class="stringliteral">'t</span> <span class="stringliteral">need to know the host type.</span> <span class="stringliteral"></span> <span class="stringliteral"> If you are building compiler tools for cross-compiling, you can also</span> <span class="stringliteral">use the `--target=TYPE'</span> option to select the type of system they will produce code <span class="keywordflow">for</span> and the `--build=TYPE<span class="stringliteral">' option to select the type of</span> <span class="stringliteral">system on which you are compiling the package.</span> <span class="stringliteral"></span> <span class="stringliteral">Sharing Defaults</span> <span class="stringliteral">================</span> <span class="stringliteral"></span> <span class="stringliteral"> If you want to set default values for `configure'</span> scripts to share, you can create a site shell script called `config.site<span class="stringliteral">' that gives</span> <span class="stringliteral">default values for variables like `CC'</span>, `cache_file<span class="stringliteral">', and `prefix'</span>. `configure<span class="stringliteral">' looks for `PREFIX/share/config.site'</span> <span class="keywordflow">if</span> it exists, then `PREFIX/etc/config.site<span class="stringliteral">' if it exists. Or, you can set the</span> <span class="stringliteral">`CONFIG_SITE'</span> environment variable to the location of the site script. A warning: not all `configure<span class="stringliteral">' scripts look for a site script.</span> <span class="stringliteral"></span> <span class="stringliteral">Operation Controls</span> <span class="stringliteral">==================</span> <span class="stringliteral"></span> <span class="stringliteral"> `configure'</span> recognizes the following options to control how it operates. `--cache-file=FILE<span class="stringliteral">'</span> <span class="stringliteral"> Use and save the results of the tests in FILE instead of</span> <span class="stringliteral"> `./config.cache'</span>. Set FILE to `/dev/null<span class="stringliteral">' to disable caching, for</span> <span class="stringliteral"> debugging `configure'</span>. `--help<span class="stringliteral">'</span> <span class="stringliteral"> Print a summary of the options to `configure'</span>, and exit. `--quiet<span class="stringliteral">'</span> <span class="stringliteral">`--silent'</span> `-q<span class="stringliteral">'</span> <span class="stringliteral"> Do not print messages saying which checks are being made. To</span> <span class="stringliteral"> suppress all normal output, redirect it to `/dev/null'</span> (any error messages will still be shown). `--srcdir=DIR<span class="stringliteral">'</span> <span class="stringliteral"> Look for the package'</span>s source code in directory DIR. Usually `configure<span class="stringliteral">' can determine that directory automatically.</span> <span class="stringliteral"></span> <span class="stringliteral">`--version'</span> Print the version of Autoconf used to generate the `configure<span class="stringliteral">'</span> <span class="stringliteral"> script, and exit.</span> <span class="stringliteral"></span> <span class="stringliteral">`configure'</span> also accepts some other, not widely useful, options. </pre></div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>