1.1 --- a/getting_started.dox Thu Oct 23 14:07:30 2008 +0200
1.2 +++ b/getting_started.dox Fri Oct 24 13:26:15 2008 +0100
1.3 @@ -19,149 +19,6 @@
1.4 /**
1.5 \page getting_started Getting Started
1.6
1.7 -In this page we detail how to start using LEMON, from downloading it to
1.8 -your computer, through the steps of installation, to showing a simple
1.9 -"Hello World" type program that already uses LEMON. We assume that you
1.10 -have a basic knowledge of your operating system and C++ programming
1.11 -language. The procedure is pretty straightforward, but if you have any
1.12 -difficulties do not hesitate to
1.13 -<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
1.14 -
1.15 -\section requirements_lemon Hardware and Software Requirements
1.16 -
1.17 -In LEMON we use C++ templates heavily, thus compilation takes a
1.18 -considerable amount of time and memory. So some decent box would be
1.19 -advantageousm, but otherwise there are no special hardware requirements.
1.20 -
1.21 -You will need a recent C++ compiler. Our primary target is the GNU C++
1.22 -Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
1.23 -Compiler (icc) and Microsoft Visual C++ (on Windows).
1.24 -If you want to develop with LEMON under Windows, you can use a Windows
1.25 -installer or you can consider using Cygwin.
1.26 -
1.27 -In this description we will suppose a Linux environment and GNU C++ Compiler.
1.28 -If you would like to develop under Windows and use a Windows installer,
1.29 -you could skip the following sections and continue reading \ref hello_lemon.
1.30 -However keep in mind that you have to make appropriate steps instead of
1.31 -the instructions detailed here to be able to compile the example code
1.32 -with your compiler.
1.33 -
1.34 -\subsection requirements_lp LP Solver Requirements
1.35 -
1.36 -The LEMON LP solver interface can use the GLPK (GNU Linear Programming
1.37 -Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
1.38 -least one of these.
1.39 -See the <b><tt>INSTALL</tt></b> file how to enable these at compile time.
1.40 -
1.41 -\section download_lemon How to Download LEMON
1.42 -
1.43 -You can download LEMON from our web site:
1.44 -<a href="http://lemon.cs.elte.hu/">http://lemon.cs.elte.hu/</a>.
1.45 -There you will find released versions in form of <tt>.tar.gz</tt> files
1.46 -(and Windows installers).
1.47 -If you want a developer version (for example you want to contribute in
1.48 -developing LEMON) then you might want to use our Mercurial repository.
1.49 -This case is detailed \ref hg_checkout "later", so from now on we
1.50 -suppose that you downloaded a <tt>.tar.gz</tt> file.
1.51 -
1.52 -\section install_lemon How to Install LEMON
1.53 -
1.54 -In order to install LEMON you have to do the following steps.
1.55 -
1.56 -Download the tarball (named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c y
1.57 -and \c z are numbers indicating the version of the library, in our example
1.58 -we will have <tt>lemon-1.0.tar.gz</tt>) and issue the following commands:
1.59 -
1.60 -\verbatim
1.61 -tar xvzf lemon-1.0.tar.gz
1.62 -cd lemon-1.0
1.63 -./configure
1.64 -make
1.65 -make check # This is optional, but recommended. It runs a bunch of tests.
1.66 -make install
1.67 -\endverbatim
1.68 -
1.69 -These commands install LEMON under \c /usr/local (you will
1.70 -need root privileges to be able to install to that
1.71 -directory). If you want to install it to some other place, then
1.72 -pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
1.73 -
1.74 -\verbatim
1.75 -./configure --prefix=/home/username/lemon
1.76 -\endverbatim
1.77 -
1.78 -In what follows we will assume that you were able to install to directory
1.79 -\c /usr/local, otherwise some extra care is to be taken to use the library.
1.80 -
1.81 -We briefly explain these commands below.
1.82 -
1.83 -\verbatim
1.84 -tar xvzf lemon-1.0.tar.gz
1.85 -\endverbatim
1.86 -This command untars the <tt>tar.gz</tt> file into a directory named
1.87 -<tt>lemon-1.0</tt>.
1.88 -
1.89 -\verbatim
1.90 -cd lemon-1.0
1.91 -\endverbatim
1.92 -This command enters the directory.
1.93 -
1.94 -\verbatim
1.95 -./configure
1.96 -\endverbatim
1.97 -This command runs the configure shell script, which does some checks and
1.98 -creates the makefiles.
1.99 -
1.100 -\verbatim
1.101 -make
1.102 -\endverbatim
1.103 -This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
1.104 -file. It also compiles the programs in the tools and demo subdirectories
1.105 -when enabled.
1.106 -
1.107 -\verbatim
1.108 -make check
1.109 -\endverbatim
1.110 -This step is optional, but recommended. It runs the test programs that
1.111 -have been developed for LEMON to check whether the library works properly on
1.112 -your platform.
1.113 -
1.114 -\verbatim
1.115 -make install
1.116 -\endverbatim
1.117 -This command will copy the directory structure to its final destination
1.118 -(e.g. to \c /usr/local) so that your system can access it.
1.119 -This command should be issued as "root", unless you provided a
1.120 -\c --prefix switch to the \c configure to install the library in
1.121 -non-default location.
1.122 -
1.123 -Several other configure flags can be passed to <tt>./configure</tt>.
1.124 -For more information see the <b><tt>INSTALL</tt></b> file.
1.125 -
1.126 -\section hg_checkout How to Checkout LEMON from our Mercurial Repository
1.127 -
1.128 -You can obtain the latest (developer) version of LEMON from our Mercurial
1.129 -repository. To do this issue the following command.
1.130 -\verbatim
1.131 -hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
1.132 -\endverbatim
1.133 -
1.134 -\section hg_compile How to Compile the Source from the Repository
1.135 -
1.136 -You can compile the code from the repository similarly to the packaged
1.137 -version, but you will need to run <b><tt>autoreconf -vif</tt></b>
1.138 -(or <b><tt>./bootstrap</tt></b> in some older environment) before
1.139 -<tt>./configure</tt>. See <tt>./configure --help</tt> for options.
1.140 -For bootstrapping you will need the following tools:
1.141 -
1.142 - - <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
1.143 - - <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
1.144 - - <a href="http://www.gnu.org/software/libtool/">libtool</a>
1.145 - - <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
1.146 -
1.147 -To generate the documentation, run <tt>make html</tt>.
1.148 -You will need <a href="http://www.doxygen.org/">Doxygen</a> for this.
1.149 -
1.150 \section hello_lemon Compile Your First Code
1.151
1.152 If you have installed LEMON on your system you can paste the following
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/install.dox Fri Oct 24 13:26:15 2008 +0100
2.3 @@ -0,0 +1,189 @@
2.4 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
2.5 + *
2.6 + * This file is a part of LEMON, a generic C++ optimization library.
2.7 + *
2.8 + * Copyright (C) 2003-2008
2.9 + * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
2.10 + * (Egervary Research Group on Combinatorial Optimization, EGRES).
2.11 + *
2.12 + * Permission to use, modify and distribute this software is granted
2.13 + * provided that this copyright notice appears in all copies. For
2.14 + * precise terms see the accompanying LICENSE file.
2.15 + *
2.16 + * This software is provided "AS IS" with no warranty of any kind,
2.17 + * express or implied, and with no claim as to its suitability for any
2.18 + * purpose.
2.19 + *
2.20 + */
2.21 +
2.22 +/**
2.23 +\page install Installation Guide
2.24 +
2.25 +In this page we detail how to start using LEMON, from downloading it to
2.26 +your computer, through the steps of installation, to showing a simple
2.27 +"Hello World" type program that already uses LEMON. We assume that you
2.28 +have a basic knowledge of your operating system and C++ programming
2.29 +language. The procedure is pretty straightforward, but if you have any
2.30 +difficulties do not hesitate to
2.31 +<a href="mailto:lemon-user@lemon.cs.elte.hu"><b>ask</b></a>.
2.32 +
2.33 +\section requirements_lemon Hardware and Software Requirements
2.34 +
2.35 +In LEMON we use C++ templates heavily, thus compilation takes a
2.36 +considerable amount of time and memory. So some decent box would be
2.37 +advantageousm, but otherwise there are no special hardware requirements.
2.38 +
2.39 +You will need a recent C++ compiler. Our primary target is the GNU C++
2.40 +Compiler (g++), from version 3.3 upwards. We also checked the Intel C++
2.41 +Compiler (icc) and Microsoft Visual C++ (on Windows).
2.42 +If you want to develop with LEMON under Windows, you can use a Windows
2.43 +installer or you can consider using Cygwin.
2.44 +
2.45 +In this description we will suppose a Linux environment and GNU C++ Compiler.
2.46 +If you would like to develop under Windows and use a Windows installer,
2.47 +you could skip the following sections and continue reading \ref hello_lemon.
2.48 +However keep in mind that you have to make appropriate steps instead of
2.49 +the instructions detailed here to be able to compile the example code
2.50 +with your compiler.
2.51 +
2.52 +\subsection requirements_lp LP Solver Requirements
2.53 +
2.54 +The LEMON LP solver interface can use the GLPK (GNU Linear Programming
2.55 +Kit), CPLEX and SoPlex solver. If you want to use it, you will need at
2.56 +least one of these.
2.57 +See the <b><tt>INSTALL</tt></b> file how to enable these at compile time.
2.58 +
2.59 +\section install_from_source Install from Source
2.60 +
2.61 +You can download LEMON from the web site:
2.62 +<a href="http://lemon.cs.elte.hu/">http://lemon.cs.elte.hu/</a>.
2.63 +There you will find released versions in form of <tt>.tar.gz</tt> files
2.64 +(and Windows installers).
2.65 +If you want a developer version (for example you want to contribute in
2.66 +developing LEMON) then you might want to use our Mercurial repository.
2.67 +This case is detailed \ref hg_checkout "later", so from now on we
2.68 +suppose that you downloaded a <tt>.tar.gz</tt> file.
2.69 +
2.70 +Thus you have to do the following steps.
2.71 +
2.72 +Download the tarball either from the browser or just issuing
2.73 +
2.74 +\verbatim
2.75 +wget http://lemon.cs.elte.hu/pub/sources/lemon-1.0.tar.gz
2.76 +\endverbatim
2.77 +
2.78 +\note The tarball is named <tt>lemon-x.y.z.tar.gz</tt> where \c x, \c
2.79 +y and \c z (which is missing if it is 0) are numbers indicating the
2.80 +version of the library, in our example we will have
2.81 +<tt>lemon-1.0.tar.gz</tt>.
2.82 +
2.83 +Then issue the following commands:
2.84 +
2.85 +\verbatim
2.86 +tar xvzf lemon-1.0.tar.gz
2.87 +cd lemon-1.0
2.88 +./configure
2.89 +make
2.90 +make check # This is optional, but recommended. It runs a bunch of tests.
2.91 +make install
2.92 +\endverbatim
2.93 +
2.94 +These commands install LEMON under \c /usr/local (you will
2.95 +need root privileges to be able to install to that
2.96 +directory). If you want to install it to some other place, then
2.97 +pass the \c --prefix=DIRECTORY flag to <tt>./configure</tt>, for example:
2.98 +
2.99 +\verbatim
2.100 +./configure --prefix=/home/username/lemon
2.101 +\endverbatim
2.102 +
2.103 +In what follows we will assume that you were able to install to directory
2.104 +\c /usr/local, otherwise some extra care is to be taken to use the library.
2.105 +
2.106 +We briefly explain these commands below.
2.107 +
2.108 +\verbatim
2.109 +tar xvzf lemon-1.0.tar.gz
2.110 +\endverbatim
2.111 +This command untars the <tt>tar.gz</tt> file into a directory named
2.112 +<tt>lemon-1.0</tt>.
2.113 +
2.114 +\verbatim
2.115 +cd lemon-1.0
2.116 +\endverbatim
2.117 +This command enters the directory.
2.118 +
2.119 +\verbatim
2.120 +./configure
2.121 +\endverbatim
2.122 +This command runs the configure shell script, which does some checks and
2.123 +creates the makefiles.
2.124 +
2.125 +\verbatim
2.126 +make
2.127 +\endverbatim
2.128 +This command compiles the non-template part of LEMON into <tt>libemon.a</tt>
2.129 +file. It also compiles the programs in the tools and demo subdirectories
2.130 +when enabled.
2.131 +
2.132 +\verbatim
2.133 +make check
2.134 +\endverbatim
2.135 +This step is optional, but recommended. It performes a bunch of library
2.136 +self-tests.
2.137 +
2.138 +\verbatim
2.139 +make install
2.140 +\endverbatim
2.141 +This command will copy the directory structure to its final destination
2.142 +(e.g. to \c /usr/local) so that your system can access it.
2.143 +This command should be issued as "root", unless you provided a
2.144 +\c --prefix switch to the \c configure to install the library in
2.145 +non-default location.
2.146 +
2.147 +Several other configure flags can be passed to <tt>./configure</tt>.
2.148 +For more information see the <b><tt>INSTALL</tt></b> file.
2.149 +
2.150 +\subsection install_hg Install the latest development version
2.151 +
2.152 +You can also use the latest (developer) version of LEMON from our Mercurial
2.153 +repository. You need a couple additional tool for that
2.154 +
2.155 +- <a href="http://www.selenic.com/mercurial">Mercurial</a>
2.156 + - for obtaining the latest code (and for contributing into it)
2.157 +- <a href="http://www.gnu.org/software/automake/">automake</a> (1.7 or newer)
2.158 +- <a href="http://www.gnu.org/software/autoconf/">autoconf</a> (2.59 or newer)
2.159 +- <a href="http://www.gnu.org/software/libtool/">libtool</a>
2.160 +- <a href="http://pkgconfig.freedesktop.org/">pkgconfig</a>
2.161 + - for initializing the build framework
2.162 +- <a href="http://doxygen.org">Doxygen</a>
2.163 + - for generating the documentations (optional, but recommended)
2.164 +
2.165 +Once you have all these tools installed, the process is fairly easy.
2.166 +First, you have to get the copy of the lates version.
2.167 +
2.168 +\verbatim
2.169 +hg clone http://lemon.cs.elte.hu/hg/lemon-main lemon-src
2.170 +\endverbatim
2.171 +
2.172 +The next step is to initialize the build system.
2.173 +
2.174 +\verbatim
2.175 +autoreconf -vif
2.176 +\endverbatim
2.177 +
2.178 +Then the process is the same as in case of using the release tarball.
2.179 +
2.180 +\verbatim
2.181 +./configure
2.182 +make
2.183 +make check # This is optional, but recommended. It runs a bunch of tests.
2.184 +make install
2.185 +\endverbatim
2.186 +
2.187 +To generate the documentation, just run
2.188 +\verbatim
2.189 +make html
2.190 +\endverbatim
2.191 +
2.192 +*/
3.1 --- a/mainpage.dox Thu Oct 23 14:07:30 2008 +0200
3.2 +++ b/mainpage.dox Fri Oct 24 13:26:15 2008 +0100
3.3 @@ -24,15 +24,7 @@
3.4
3.5 - \ref intro
3.6 - \ref getting_started
3.7 - - \ref requirements_lemon
3.8 - - \ref requirements_lp
3.9 - - \ref download_lemon
3.10 - - \ref install_lemon
3.11 - - \ref hg_checkout
3.12 - - \ref hg_compile
3.13 - \ref hello_lemon
3.14 - - \ref hello_lemon_system
3.15 - - \ref hello_lemon_user
3.16 - \ref basic_concepts "Basic Concepts"
3.17 - \ref digraph_build "Build and Modify a Digraph"
3.18 - \ref digraph_iterate "Iterate Over the Elements"
3.19 @@ -63,10 +55,11 @@
3.20 - \ref lp_examples "Simple Examples"
3.21 - \ref lp_maxflow "Maximum Flow as LP Problem"
3.22 - \ref appendix "Appendix"
3.23 - - \ref install "Install LEMON"
3.24 - - \ref install_system "Install System Wide"
3.25 - - \ref install_system_source "From Source"
3.26 - - \ref install_system_rpm "From rpm"
3.27 + - \ref install
3.28 + - \ref requirements_lemon
3.29 + - \ref requirements_lp
3.30 + - \ref install_from_source
3.31 + - \ref install_system_rpm "From rpm"
3.32 - \ref install_user "Install Locally to the User"
3.33
3.34 */