INSTALL
author Peter Kovacs <kpeter@inf.elte.hu>
Thu, 04 Mar 2010 10:03:14 +0100
changeset 862 b6f76c95992e
parent 568 b53a9068e3e4
child 992 78434a448b5e
permissions -rw-r--r--
Clarify type names in NetworkSimplex (#353)

This patch clarifies the misleading effects of the renamings
in [f3bc4e9b5f3a].
     1 Installation Instructions
     2 =========================
     3 
     4 Since you are reading this I assume you already obtained one of the release
     5 tarballs and successfully extracted it. The latest version of LEMON is
     6 available at our web page (http://lemon.cs.elte.hu/).
     7 
     8 LEMON provides two different build environments, one is based on "autotool",
     9 while the other is based on "cmake". This file contains instructions only for
    10 the former one, which is the recommended build environment on Linux, Mac OSX
    11 and other unices or if you use Cygwin on Windows. For cmake installation
    12 instructions visit http://lemon.cs.elte.hu.
    13 
    14 In order to install LEMON from the extracted source tarball you have to
    15 issue the following commands:
    16 
    17    1. `cd lemon-x.y.z'
    18 
    19       This command changes to the directory which was created when you
    20       extracted the sources. The x.y.z part is a version number.
    21 
    22    2. `./configure'
    23 
    24       This command runs the configure shell script, which does some checks and
    25       creates the makefiles.
    26 
    27    3. `make'
    28 
    29       This command compiles the non-template part of LEMON into libemon.a
    30       file. It also compiles the programs in the tools subdirectory by
    31       default.
    32 
    33    4. `make check'
    34 
    35       This step is optional, but recommended. It runs the test programs that
    36       we developed for LEMON to check whether the library works properly on
    37       your platform.
    38 
    39    5. `make install'
    40 
    41       This command installs LEMON under /usr/local (you will need root
    42       privileges to be able to do that). If you want to install it to some
    43       other location, then pass the --prefix=DIRECTORY flag to configure in
    44       step 2. For example: `./configure --prefix=/home/username/lemon'.
    45 
    46    6. `make install-html'
    47 
    48       This command installs the documentation under share/doc/lemon/docs. The
    49       generated documentation is included in the tarball. If you want to
    50       generate it yourself, then run `make html'. Note that for this you need
    51       to have the following programs installed: Doxygen, Graphviz, Ghostscript,
    52       Latex.
    53 
    54 
    55 Configure Options and Variables
    56 ===============================
    57 
    58 In step 2 you can customize the actions of configure by setting variables
    59 and passing options to it. This can be done like this:
    60 `./configure [OPTION]... [VARIABLE=VALUE]...'
    61 
    62 Below you will find some useful variables and options (see `./configure --help'
    63 for more):
    64 
    65 CXX='comp'
    66 
    67   Change the C++ compiler to 'comp'.
    68 
    69 CXXFLAGS='flags'
    70 
    71   Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m'
    72   turns on generation of aggressively optimized Pentium-M specific code.
    73 
    74 --prefix=PREFIX
    75 
    76   Set the installation prefix to PREFIX. By default it is /usr/local.
    77 
    78 --enable-tools
    79 
    80    Build the programs in the tools subdirectory (default).
    81 
    82 --disable-tools
    83 
    84    Do not build the programs in the tools subdirectory.
    85 
    86 --with-glpk[=PREFIX]
    87 
    88    Enable GLPK support (default). You should specify the prefix too if
    89    you installed GLPK to some non-standard location (e.g. your home
    90    directory). If it is not found, GLPK support will be disabled.
    91 
    92 --with-glpk-includedir=DIR
    93 
    94    The directory where the GLPK header files are located. This is only
    95    useful when the GLPK headers and libraries are not under the same
    96    prefix (which is unlikely).
    97 
    98 --with-glpk-libdir=DIR
    99 
   100    The directory where the GLPK libraries are located. This is only
   101    useful when the GLPK headers and libraries are not under the same
   102    prefix (which is unlikely).
   103 
   104 --without-glpk
   105 
   106    Disable GLPK support.
   107 
   108 --with-cplex[=PREFIX]
   109 
   110    Enable CPLEX support (default). You should specify the prefix too
   111    if you installed CPLEX to some non-standard location
   112    (e.g. /opt/ilog/cplex75). If it is not found, CPLEX support will be
   113    disabled.
   114 
   115 --with-cplex-includedir=DIR
   116 
   117    The directory where the CPLEX header files are located. This is
   118    only useful when the CPLEX headers and libraries are not under the
   119    same prefix (e.g.  /usr/local/cplex/cplex75/include).
   120 
   121 --with-cplex-libdir=DIR
   122 
   123    The directory where the CPLEX libraries are located. This is only
   124    useful when the CPLEX headers and libraries are not under the same
   125    prefix (e.g.
   126    /usr/local/cplex/cplex75/lib/i86_linux2_glibc2.2_gcc3.0/static_pic_mt).
   127 
   128 --without-cplex
   129 
   130    Disable CPLEX support.
   131 
   132 --with-soplex[=PREFIX]
   133 
   134    Enable SoPlex support (default). You should specify the prefix too if
   135    you installed SoPlex to some non-standard location (e.g. your home
   136    directory). If it is not found, SoPlex support will be disabled.
   137 
   138 --with-soplex-includedir=DIR
   139 
   140    The directory where the SoPlex header files are located. This is only
   141    useful when the SoPlex headers and libraries are not under the same
   142    prefix (which is unlikely).
   143 
   144 --with-soplex-libdir=DIR
   145 
   146    The directory where the SoPlex libraries are located. This is only
   147    useful when the SoPlex headers and libraries are not under the same
   148    prefix (which is unlikely).
   149 
   150 --without-soplex
   151 
   152    Disable SoPlex support.
   153 
   154 --with-coin[=PREFIX]
   155 
   156    Enable support for COIN-OR solvers (CLP and CBC). You should
   157    specify the prefix too. (by default, COIN-OR tools install
   158    themselves to the source code directory). This command enables the
   159    solvers that are actually found.
   160 
   161 --with-coin-includedir=DIR
   162 
   163    The directory where the COIN-OR header files are located. This is
   164    only useful when the COIN-OR headers and libraries are not under
   165    the same prefix (which is unlikely).
   166 
   167 --with-coin-libdir=DIR
   168 
   169    The directory where the COIN-OR libraries are located. This is only
   170    useful when the COIN-OR headers and libraries are not under the
   171    same prefix (which is unlikely).
   172 
   173 --without-coin
   174 
   175    Disable COIN-OR support.
   176 
   177 
   178 Makefile Variables
   179 ==================
   180 
   181 Some Makefile variables are reserved by the GNU Coding Standards for
   182 the use of the "user" - the person building the package. For instance,
   183 CXX and CXXFLAGS are such variables, and have the same meaning as
   184 explained in the previous section. These variables can be set on the
   185 command line when invoking `make' like this:
   186 `make [VARIABLE=VALUE]...'
   187 
   188 WARNINGCXXFLAGS is a non-standard Makefile variable introduced by us
   189 to hold several compiler flags related to warnings. Its default value
   190 can be overridden when invoking `make'. For example to disable all
   191 warning flags use `make WARNINGCXXFLAGS='.
   192 
   193 In order to turn off a single flag from the default set of warning
   194 flags, you can use the CXXFLAGS variable, since this is passed after
   195 WARNINGCXXFLAGS. For example to turn off `-Wold-style-cast' (which is
   196 used by default when g++ is detected) you can use
   197 `make CXXFLAGS="-g -O2 -Wno-old-style-cast"'.