New, less general installation instructions.
authorladanyi
Wed, 12 Jul 2006 10:49:17 +0000
changeset 2131e81cd2898f7a
parent 2130 244e108de26f
child 2132 783b1d583be3
New, less general installation instructions.
INSTALL
     1.1 --- a/INSTALL	Wed Jul 12 10:38:11 2006 +0000
     1.2 +++ b/INSTALL	Wed Jul 12 10:49:17 2006 +0000
     1.3 @@ -1,229 +1,104 @@
     1.4 -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
     1.5 -Foundation, Inc.
     1.6 +Installation Instructions
     1.7 +=========================
     1.8  
     1.9 -   This file is free documentation; the Free Software Foundation gives
    1.10 -unlimited permission to copy, distribute and modify it.
    1.11 +   Since you are reading this I assume you already obtained one of the release
    1.12 +tarballs and successfully extracted it. The latest version of LEMON is
    1.13 +available at our webpage (http://lemon.cs.elte.hu/).
    1.14  
    1.15 -Basic Installation
    1.16 -==================
    1.17 +   In order to install LEMON from the extracted source tarball you have to
    1.18 +issue the following commands:
    1.19  
    1.20 -   These are generic installation instructions.
    1.21 +  1. `cd lemon-x.y.z'
    1.22  
    1.23 -   The `configure' shell script attempts to guess correct values for
    1.24 -various system-dependent variables used during compilation.  It uses
    1.25 -those values to create a `Makefile' in each directory of the package.
    1.26 -It may also create one or more `.h' files containing system-dependent
    1.27 -definitions.  Finally, it creates a shell script `config.status' that
    1.28 -you can run in the future to recreate the current configuration, and a
    1.29 -file `config.log' containing compiler output (useful mainly for
    1.30 -debugging `configure').
    1.31 +     This changes to the directory which was created when you extracted the
    1.32 +     sources. The x.y.z part is a version number.
    1.33  
    1.34 -   It can also use an optional file (typically called `config.cache'
    1.35 -and enabled with `--cache-file=config.cache' or simply `-C') that saves
    1.36 -the results of its tests to speed up reconfiguring.  (Caching is
    1.37 -disabled by default to prevent problems with accidental use of stale
    1.38 -cache files.)
    1.39 +  2. `./configure'
    1.40  
    1.41 -   If you need to do unusual things to compile the package, please try
    1.42 -to figure out how `configure' could check whether to do them, and mail
    1.43 -diffs or instructions to the address given in the `README' so they can
    1.44 -be considered for the next release.  If you are using the cache, and at
    1.45 -some point `config.cache' contains results you don't want to keep, you
    1.46 -may remove or edit it.
    1.47 +     This runs the configure shell script, which does some checks and
    1.48 +     configuration (creates makefiles etc).
    1.49  
    1.50 -   The file `configure.ac' (or `configure.in') is used to create
    1.51 -`configure' by a program called `autoconf'.  You only need
    1.52 -`configure.ac' if you want to change it or regenerate `configure' using
    1.53 -a newer version of `autoconf'.
    1.54 +  3. `make'
    1.55  
    1.56 -The simplest way to compile this package is:
    1.57 +     This command compiles the non-template part of LEMON into libemon.a file.
    1.58 +     It also compiles the benchmark and demo programs when enabled.
    1.59  
    1.60 -  1. `cd' to the directory containing the package's source code and type
    1.61 -     `./configure' to configure the package for your system.  If you're
    1.62 -     using `csh' on an old version of System V, you might need to type
    1.63 -     `sh ./configure' instead to prevent `csh' from trying to execute
    1.64 -     `configure' itself.
    1.65 +  4. `make check'
    1.66  
    1.67 -     Running `configure' takes awhile.  While running, it prints some
    1.68 -     messages telling which features it is checking for.
    1.69 +     This step is optional, but recommended. It runs the test programs that we
    1.70 +     developed for LEMON to check whether the library works properly on your
    1.71 +     platform.
    1.72  
    1.73 -  2. Type `make' to compile the package.
    1.74 +  5. `make install'
    1.75  
    1.76 -  3. Optionally, type `make check' to run any self-tests that come with
    1.77 -     the package.
    1.78 +     This command installs LEMON under /usr/local (you will need root
    1.79 +     privileges to be able to do that). If you want to install it to some
    1.80 +     other location, then pass the --prefix=DIRECTORY flag to configure in
    1.81 +     step 1. For example: `./configure --prefix=/home/username/lemon'
    1.82  
    1.83 -  4. Type `make install' to install the programs and any data files and
    1.84 -     documentation.
    1.85  
    1.86 -  5. You can remove the program binaries and object files from the
    1.87 -     source code directory by typing `make clean'.  To also remove the
    1.88 -     files that `configure' created (so you can compile the package for
    1.89 -     a different kind of computer), type `make distclean'.  There is
    1.90 -     also a `make maintainer-clean' target, but that is intended mainly
    1.91 -     for the package's developers.  If you use it, you may have to get
    1.92 -     all sorts of other programs in order to regenerate files that came
    1.93 -     with the distribution.
    1.94 +Configure Flags
    1.95 +===============
    1.96  
    1.97 -Compilers and Options
    1.98 -=====================
    1.99 +   You can pass the following flags to configure in step 1 (see ./configure
   1.100 +--help for more):
   1.101  
   1.102 -   Some systems require unusual options for compilation or linking that
   1.103 -the `configure' script does not know about.  Run `./configure --help'
   1.104 -for details on some of the pertinent environment variables.
   1.105 +   --with-glpk[=PREFIX]
   1.106  
   1.107 -   You can give `configure' initial values for configuration parameters
   1.108 -by setting variables in the command line or in the environment.  Here
   1.109 -is an example:
   1.110 +   Enable GLPK support (default). You should specify the prefix too if you
   1.111 +installed GLPK to some non-standard location (e.g. your home directory). If it
   1.112 +is not found, GLPK support will be disabled.
   1.113  
   1.114 -     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
   1.115 +   --with-glpk-includedir=DIR
   1.116  
   1.117 -   *Note Defining Variables::, for more details.
   1.118 +   The directory where the GLPK header files are located. This is only useful
   1.119 +when the GLPK headers and libraries are not under the same prefix (which is
   1.120 +unlikely).
   1.121  
   1.122 -Compiling For Multiple Architectures
   1.123 -====================================
   1.124 +   --with-glpk-libdir=DIR
   1.125  
   1.126 -   You can compile the package for more than one kind of computer at the
   1.127 -same time, by placing the object files for each architecture in their
   1.128 -own directory.  To do this, you must use a version of `make' that
   1.129 -supports the `VPATH' variable, such as GNU `make'.  `cd' to the
   1.130 -directory where you want the object files and executables to go and run
   1.131 -the `configure' script.  `configure' automatically checks for the
   1.132 -source code in the directory that `configure' is in and in `..'.
   1.133 +   The directory where the GLPK libraries are located. This is only useful
   1.134 +when the GLPK headers and libraries are not under the same prefix (which is
   1.135 +unlikely).
   1.136  
   1.137 -   If you have to use a `make' that does not support the `VPATH'
   1.138 -variable, you have to compile the package for one architecture at a
   1.139 -time in the source code directory.  After you have installed the
   1.140 -package for one architecture, use `make distclean' before reconfiguring
   1.141 -for another architecture.
   1.142 +   --without-glpk
   1.143  
   1.144 -Installation Names
   1.145 -==================
   1.146 +   Disable GLPK support.
   1.147  
   1.148 -   By default, `make install' will install the package's files in
   1.149 -`/usr/local/bin', `/usr/local/man', etc.  You can specify an
   1.150 -installation prefix other than `/usr/local' by giving `configure' the
   1.151 -option `--prefix=PATH'.
   1.152 +   --with-cplex[=PREFIX]
   1.153  
   1.154 -   You can specify separate installation prefixes for
   1.155 -architecture-specific files and architecture-independent files.  If you
   1.156 -give `configure' the option `--exec-prefix=PATH', the package will use
   1.157 -PATH as the prefix for installing programs and libraries.
   1.158 -Documentation and other data files will still use the regular prefix.
   1.159 +   Enable CPLEX support (default). You should specify the prefix too if you
   1.160 +installed CPLEX to some non-standard location (e.g. /opt/ilog/cplex75). If it
   1.161 +is not found, CPLEX support will be disabled.
   1.162  
   1.163 -   In addition, if you use an unusual directory layout you can give
   1.164 -options like `--bindir=PATH' to specify different values for particular
   1.165 -kinds of files.  Run `configure --help' for a list of the directories
   1.166 -you can set and what kinds of files go in them.
   1.167 +   --with-cplex-includedir=DIR
   1.168  
   1.169 -   If the package supports it, you can cause programs to be installed
   1.170 -with an extra prefix or suffix on their names by giving `configure' the
   1.171 -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
   1.172 +   The directory where the CPLEX header files are located. This is only useful
   1.173 +when the CPLEX headers and libraries are not under the same prefix (e.g.
   1.174 +/usr/local/cplex/cplex75/include).
   1.175  
   1.176 -Optional Features
   1.177 -=================
   1.178 +   --with-cplex-libdir=DIR
   1.179  
   1.180 -   Some packages pay attention to `--enable-FEATURE' options to
   1.181 -`configure', where FEATURE indicates an optional part of the package.
   1.182 -They may also pay attention to `--with-PACKAGE' options, where PACKAGE
   1.183 -is something like `gnu-as' or `x' (for the X Window System).  The
   1.184 -`README' should mention any `--enable-' and `--with-' options that the
   1.185 -package recognizes.
   1.186 +   The directory where the CPLEX libraries are located. This is only useful
   1.187 +when the CPLEX headers and libraries are not under the same prefix (e.g.
   1.188 +/usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt).
   1.189  
   1.190 -   For packages that use the X Window System, `configure' can usually
   1.191 -find the X include and library files automatically, but if it doesn't,
   1.192 -you can use the `configure' options `--x-includes=DIR' and
   1.193 -`--x-libraries=DIR' to specify their locations.
   1.194 +   --without-cplex
   1.195  
   1.196 -Specifying the System Type
   1.197 -==========================
   1.198 +   Disable CPLEX support.
   1.199  
   1.200 -   There may be some features `configure' cannot figure out
   1.201 -automatically, but needs to determine by the type of machine the package
   1.202 -will run on.  Usually, assuming the package is built to be run on the
   1.203 -_same_ architectures, `configure' can figure that out, but if it prints
   1.204 -a message saying it cannot guess the machine type, give it the
   1.205 -`--build=TYPE' option.  TYPE can either be a short name for the system
   1.206 -type, such as `sun4', or a canonical name which has the form:
   1.207 +   --enable-demo
   1.208  
   1.209 -     CPU-COMPANY-SYSTEM
   1.210 +   Build the demo programs too.
   1.211  
   1.212 -where SYSTEM can have one of these forms:
   1.213 +   --disable-demo
   1.214  
   1.215 -     OS KERNEL-OS
   1.216 +   Do not build the demo programs (default).
   1.217  
   1.218 -   See the file `config.sub' for the possible values of each field.  If
   1.219 -`config.sub' isn't included in this package, then this package doesn't
   1.220 -need to know the machine type.
   1.221 +   --enable-benchmark
   1.222  
   1.223 -   If you are _building_ compiler tools for cross-compiling, you should
   1.224 -use the `--target=TYPE' option to select the type of system they will
   1.225 -produce code for.
   1.226 +   Build the benchmark programs too.
   1.227  
   1.228 -   If you want to _use_ a cross compiler, that generates code for a
   1.229 -platform different from the build platform, you should specify the
   1.230 -"host" platform (i.e., that on which the generated programs will
   1.231 -eventually be run) with `--host=TYPE'.
   1.232 +   --disable-benchmark
   1.233  
   1.234 -Sharing Defaults
   1.235 -================
   1.236 -
   1.237 -   If you want to set default values for `configure' scripts to share,
   1.238 -you can create a site shell script called `config.site' that gives
   1.239 -default values for variables like `CC', `cache_file', and `prefix'.
   1.240 -`configure' looks for `PREFIX/share/config.site' if it exists, then
   1.241 -`PREFIX/etc/config.site' if it exists.  Or, you can set the
   1.242 -`CONFIG_SITE' environment variable to the location of the site script.
   1.243 -A warning: not all `configure' scripts look for a site script.
   1.244 -
   1.245 -Defining Variables
   1.246 -==================
   1.247 -
   1.248 -   Variables not defined in a site shell script can be set in the
   1.249 -environment passed to `configure'.  However, some packages may run
   1.250 -configure again during the build, and the customized values of these
   1.251 -variables may be lost.  In order to avoid this problem, you should set
   1.252 -them in the `configure' command line, using `VAR=value'.  For example:
   1.253 -
   1.254 -     ./configure CC=/usr/local2/bin/gcc
   1.255 -
   1.256 -will cause the specified gcc to be used as the C compiler (unless it is
   1.257 -overridden in the site shell script).
   1.258 -
   1.259 -`configure' Invocation
   1.260 -======================
   1.261 -
   1.262 -   `configure' recognizes the following options to control how it
   1.263 -operates.
   1.264 -
   1.265 -`--help'
   1.266 -`-h'
   1.267 -     Print a summary of the options to `configure', and exit.
   1.268 -
   1.269 -`--version'
   1.270 -`-V'
   1.271 -     Print the version of Autoconf used to generate the `configure'
   1.272 -     script, and exit.
   1.273 -
   1.274 -`--cache-file=FILE'
   1.275 -     Enable the cache: use and save the results of the tests in FILE,
   1.276 -     traditionally `config.cache'.  FILE defaults to `/dev/null' to
   1.277 -     disable caching.
   1.278 -
   1.279 -`--config-cache'
   1.280 -`-C'
   1.281 -     Alias for `--cache-file=config.cache'.
   1.282 -
   1.283 -`--quiet'
   1.284 -`--silent'
   1.285 -`-q'
   1.286 -     Do not print messages saying which checks are being made.  To
   1.287 -     suppress all normal output, redirect it to `/dev/null' (any error
   1.288 -     messages will still be shown).
   1.289 -
   1.290 -`--srcdir=DIR'
   1.291 -     Look for the package's source code in directory DIR.  Usually
   1.292 -     `configure' can determine that directory automatically.
   1.293 -
   1.294 -`configure' also accepts some other, not widely useful, options.  Run
   1.295 -`configure --help' for more details.
   1.296 -
   1.297 +   Do not build the benchmark programs (default).