install.dox
changeset 9 a48bf0d3a790
parent 7 934258c64b6b
child 10 55e2f7712e87
child 11 0a51fe554d01
equal deleted inserted replaced
0:138e057cdf45 1:950ab13abd2e
    17  */
    17  */
    18 
    18 
    19 /**
    19 /**
    20 \page install Installation Guide
    20 \page install Installation Guide
    21 
    21 
    22 In this page we detail how to start using LEMON, from downloading it to
    22 In this section we detail how to start using LEMON, from downloading it
    23 your computer, through the steps of installation, to showing a simple
    23 to your computer, through the steps of installation, to showing how to
    24 "Hello World" type program that already uses LEMON. We assume that you
    24 compile programs that use LEMON. We assume that you
    25 have a basic knowledge of your operating system and C++ programming
    25 have a basic knowledge of your operating system and C++ programming
    26 language. The procedure is pretty straightforward, but if you have any
    26 language. The procedure is pretty straightforward, but if you have any
    27 difficulties do not hesitate to
    27 difficulties do not hesitate to
    28 <a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
    28 <a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
    29 
    29 
    39 If you want to develop with LEMON under Windows, you can use a Windows
    39 If you want to develop with LEMON under Windows, you can use a Windows
    40 installer or you can consider using Cygwin.
    40 installer or you can consider using Cygwin.
    41 
    41 
    42 In this description we will suppose a Linux environment and GNU C++ Compiler.
    42 In this description we will suppose a Linux environment and GNU C++ Compiler.
    43 If you would like to develop under Windows and use a Windows installer,
    43 If you would like to develop under Windows and use a Windows installer,
    44 you could skip the following sections and continue reading \ref hello_lemon.
    44 you could skip the following sections and continue reading
       
    45 \ref basic_concepts.
    45 However keep in mind that you have to make appropriate steps instead of
    46 However keep in mind that you have to make appropriate steps instead of
    46 the instructions detailed here to be able to compile the example code
    47 the instructions detailed here to be able to use LEMON with your compiler.
    47 with your compiler.
       
    48 
    48 
    49 \subsection requirements_lp LP Solver Requirements
    49 \subsection requirements_lp LP Solver Requirements
    50 
    50 
    51 The LEMON LP solver interface can use the GLPK (GNU Linear Programming
    51 The LEMON LP solver interface can use the GLPK (GNU Linear Programming
    52 Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
    52 Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
    95 
    95 
    96 \verbatim
    96 \verbatim
    97 ./configure --prefix=/home/username/lemon
    97 ./configure --prefix=/home/username/lemon
    98 \endverbatim
    98 \endverbatim
    99 
    99 
   100 In what follows we will assume that you were able to install to directory
       
   101 \c /usr/local, otherwise some extra care is to be taken to use the library.
       
   102 
       
   103 We briefly explain these commands below.
   100 We briefly explain these commands below.
   104 
   101 
   105 \verbatim
   102 \verbatim
   106 tar xvzf lemon-1.0.tar.gz
   103 tar xvzf lemon-1.0.tar.gz
   107 \endverbatim
   104 \endverbatim
   142 non-default location.
   139 non-default location.
   143 
   140 
   144 Several other configure flags can be passed to <tt>./configure</tt>.
   141 Several other configure flags can be passed to <tt>./configure</tt>.
   145 For more information see the <b><tt>INSTALL</tt></b> file.
   142 For more information see the <b><tt>INSTALL</tt></b> file.
   146 
   143 
   147 \subsection install_hg Install the latest development version
   144 \subsection install_hg Install the Latest Development Version
   148 
   145 
   149 You can also use the latest (developer) version of LEMON from our Mercurial
   146 You can also use the latest (developer) version of LEMON from our Mercurial
   150 repository. You need a couple additional tool for that
   147 repository. You need a couple additional tool for that.
   151 
   148 
   152 - <a href="http://www.selenic.com/mercurial">Mercurial</a>
   149 - <a href="http://www.selenic.com/mercurial">Mercurial</a>
   153   - for obtaining the latest code (and for contributing into it)
   150   - for obtaining the latest code (and for contributing into it)
   154 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
   151 - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
   155 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
   152 - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
   158   - for initializing the build framework
   155   - for initializing the build framework
   159 - <a href="http://doxygen.org">Doxygen</a>
   156 - <a href="http://doxygen.org">Doxygen</a>
   160   - for generating the documentations (optional, but recommended)
   157   - for generating the documentations (optional, but recommended)
   161 
   158 
   162 Once you have all these tools installed, the process is fairly easy.
   159 Once you have all these tools installed, the process is fairly easy.
   163 First, you have to get the copy of the lates version.
   160 First, you have to get the copy of the latest version.
   164 
   161 
   165 \verbatim
   162 \verbatim
   166 hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
   163 hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
   167 \endverbatim
   164 \endverbatim
   168 
   165 
   179 make
   176 make
   180 make check    # This is optional, but recommended. It runs a bunch of tests.
   177 make check    # This is optional, but recommended. It runs a bunch of tests.
   181 make install
   178 make install
   182 \endverbatim
   179 \endverbatim
   183 
   180 
   184 To generate the documentation, just run 
   181 To generate the documentation, just run
   185 \verbatim
   182 \verbatim
   186 make html
   183 make html
   187 \endverbatim
   184 \endverbatim
       
   185 \todo Is <tt><b>make html</b></tt> really necessary after
       
   186 <tt><b>make install</b></tt>?
       
   187 
       
   188 
       
   189 \section install_rpm Install from rpm
       
   190 
       
   191 \todo Write this section (\ref install_rpm).
       
   192 
       
   193 
       
   194 \section install_user Install Locally to the User
       
   195 
       
   196 \todo Write this section (\ref install_user).
       
   197 
       
   198 
       
   199 \section compile_codes Compile Codes that Use LEMON
       
   200 
       
   201 Now let us see how to use the library after installing it.
       
   202 
       
   203 \subsection compile_system_wide If LEMON is Installed System-Wide
       
   204 
       
   205 If your installation of LEMON into directory \c /usr/local was
       
   206 successful, then you have to issue a command like this to compile a
       
   207 source file that uses LEMON.
       
   208 
       
   209 \verbatim
       
   210 g++ -lemon [other options] <source file>
       
   211 \endverbatim
       
   212 
       
   213 The argument <tt>-lemon</tt> tells the compiler that we are using the
       
   214 installed library LEMON.
       
   215 
       
   216 \subsection compile_user_local If LEMON is Installed User-Local
       
   217 
       
   218 You have to give more options to the compiler if LEMON is installed
       
   219 user-local into a directory (denoted by <tt><dir></tt>)
       
   220 or if you just skipped the step <tt>make install</tt>.
       
   221 In the later case <tt><dir></tt> denotes the directory in which the
       
   222 the \c make command have been performed.
       
   223 
       
   224 \verbatim
       
   225 g++ -lemon -I <dir> -L <dir>/lemon/.libs [other options] <source file>
       
   226 \endverbatim
       
   227 
       
   228 \subsubsection compile_use_pkg_config Use pkg-config
       
   229 
       
   230 \todo Write this sub-subsection (\ref compile_use_pkg_config).
   188 
   231 
   189 */
   232 */