gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Doc improvements
0 4 0
default
4 files changed with 25 insertions and 35 deletions:
↑ Collapse diff ↑
Ignore white space 6 line context
1 1
Installation Instructions
2 2
=========================
3 3

	
4
   Since you are reading this I assume you already obtained one of the release
4
Since you are reading this I assume you already obtained one of the release
5 5
tarballs and successfully extracted it. The latest version of LEMON is
6 6
available at our web page (http://lemon.cs.elte.hu/).
7 7

	
8
   In order to install LEMON from the extracted source tarball you have to
8
In order to install LEMON from the extracted source tarball you have to
9 9
issue the following commands:
10 10

	
11 11
   1. `cd lemon-x.y.z'
12 12

	
13 13
      This command changes to the directory which was created when you
14 14
      extracted the sources. The x.y.z part is a version number.
15 15

	
16 16
   2. `./configure'
17 17

	
18 18
      This command runs the configure shell script, which does some checks and
19 19
      creates the makefiles.
20 20

	
21 21
   3. `make'
22 22

	
23 23
      This command compiles the non-template part of LEMON into libemon.a
24
      file. It also compiles the programs in the tools, benchmark and demo
25
      subdirectories when enabled.
24
      file. It also compiles the programs in the tools and demo subdirectories
25
      when enabled.
26 26

	
27 27
   4. `make check'
28 28

	
29 29
      This step is optional, but recommended. It runs the test programs that
30 30
      we developed for LEMON to check whether the library works properly on
31 31
      your platform.
32 32

	
33 33
   5. `make install'
34 34

	
35 35
      This command installs LEMON under /usr/local (you will need root
36 36
      privileges to be able to do that). If you want to install it to some
37 37
      other location, then pass the --prefix=DIRECTORY flag to configure in
38 38
      step 2. For example: `./configure --prefix=/home/username/lemon'.
39 39

	
40 40
   6. `make install-html'
41 41

	
42 42
      This command installs the documentation under share/doc/lemon/docs. The
43 43
      generated documentation is included in the tarball. If you want to
44 44
      generate it yourself, then run `make html'. Note that for this you need
45 45
      to have the following programs installed: Doxygen, Graphviz, Ghostscript,
46 46
      Latex.
47 47

	
48 48

	
49 49
Configure Options and Variables
50 50
===============================
51 51

	
52
   In step 2 you can customize the actions of configure by setting variables
52
In step 2 you can customize the actions of configure by setting variables
53 53
and passing options to it. This can be done like this:
54 54
`./configure [OPTION]... [VARIABLE=VALUE]...'
55 55

	
56
   Below you will find some useful variables and options (see
57
`./configure --help' for more):
56
Below you will find some useful variables and options (see `./configure --help'
57
for more):
58 58

	
59 59
CXX='comp'
60 60

	
61 61
  Change the C++ compiler to 'comp'.
62 62

	
63 63
CXXFLAGS='flags'
64 64

	
65 65
  Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m'
66 66
  turns on generation of aggressively optimized Pentium-M specific code.
67 67

	
68 68
--prefix=PREFIX
69 69

	
70 70
  Set the installation prefix to PREFIX. By default it is /usr/local.
71 71

	
72 72
--enable-demo
73 73

	
74 74
   Build the examples in the demo subdirectory.
75 75

	
76 76
--disable-demo
77 77

	
78 78
   Do not build the examples in the demo subdirectory (default).
79 79

	
80
--enable-benchmark
81

	
82
   Build the programs in the benchmark subdirectory.
83

	
84
--disable-benchmark
85

	
86
   Do not build the programs in the benchmark subdirectory (default).
87

	
88 80
--enable-tools
89 81

	
90 82
   Build the programs in the tools subdirectory (default).
91 83

	
92 84
--disable-tools
93 85

	
94 86
   Do not build the programs in the tools subdirectory.
95 87

	
96 88
--with-glpk[=PREFIX]
97 89

	
98 90
   Enable GLPK support (default). You should specify the prefix too if
99 91
   you installed GLPK to some non-standard location (e.g. your home
100 92
   directory). If it is not found, GLPK support will be disabled.
101 93

	
102 94
--with-glpk-includedir=DIR
103 95

	
104 96
   The directory where the GLPK header files are located. This is only
105 97
   useful when the GLPK headers and libraries are not under the same
106 98
   prefix (which is unlikely).
107 99

	
108 100
--with-glpk-libdir=DIR
109 101

	
110 102
   The directory where the GLPK libraries are located. This is only
111 103
   useful when the GLPK headers and libraries are not under the same
Ignore white space 6 line context
... ...
@@ -14,29 +14,29 @@
14 14
========
15 15

	
16 16
LICENSE
17 17

	
18 18
   Copying, distribution and modification conditions and terms.
19 19

	
20 20
INSTALL
21 21

	
22 22
   General building and installation instructions.
23 23

	
24 24
lemon/
25 25

	
26 26
   Source code of LEMON library.
27 27

	
28 28
doc/
29 29

	
30 30
   Documentation of LEMON. The starting page is doc/html/index.html.
31 31

	
32 32
demo/
33 33

	
34 34
   Some example programs to make you easier to get familiar with LEMON.
35 35

	
36 36
test/
37 37

	
38
   Contains programs to check the integrity and correctness of LEMON.
38
   Programs to check the integrity and correctness of LEMON.
39 39

	
40 40
tools/
41 41

	
42 42
   Various utilities related to LEMON.
Ignore white space 6 line context
1 1
/* -*- mode: C++; indent-tabs-mode: nil; -*-
2 2
 *
3 3
 * This file is a part of LEMON, a generic C++ optimization library.
4 4
 *
5 5
 * Copyright (C) 2003-2008
6 6
 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 7
 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 8
 *
9 9
 * Permission to use, modify and distribute this software is granted
10 10
 * provided that this copyright notice appears in all copies. For
11 11
 * precise terms see the accompanying LICENSE file.
12 12
 *
13 13
 * This software is provided "AS IS" with no warranty of any kind,
14 14
 * express or implied, and with no claim as to its suitability for any
15 15
 * purpose.
16 16
 *
17 17
 */
18 18

	
19 19
/**
20 20
\dir demo
21
\brief A collection of demo application.
21
\brief A collection of demo applications.
22 22

	
23
This directory contains several simple demo application, mainly
23
This directory contains several simple demo applications, mainly
24 24
for educational purposes.
25 25
*/
26 26

	
27 27
/**
28 28
\dir doc
29 29
\brief Auxiliary (and the whole generated) documentation.
30 30

	
31
Auxiliary (and the whole generated) documentation.
31
This directory contains some auxiliary pages and the whole generated
32
documentation.
32 33
*/
33 34

	
34 35
/**
35 36
\dir test
36 37
\brief Test programs.
37 38

	
38 39
This directory contains several test programs that check the consistency
39 40
of the code.
40 41
*/
41 42

	
42 43
/**
43 44
\dir tools
44
\brief Some useful executables
45
\brief Some useful executables.
45 46

	
46 47
This directory contains the sources of some useful complete executables.
47

	
48 48
*/
49 49

	
50

	
51

	
52 50
/**
53 51
\dir lemon
54
\brief Base include directory of LEMON
52
\brief Base include directory of LEMON.
55 53

	
56
This is the base directory of lemon includes, so each include file must be
54
This is the base directory of LEMON includes, so each include file must be
57 55
prefixed with this, e.g.
58 56
\code
59 57
#include<lemon/list_graph.h>
60 58
#include<lemon/dijkstra.h>
61 59
\endcode
62 60
*/
63 61

	
64 62
/**
65 63
\dir concepts
66
\brief Concept descriptors and checking classes
64
\brief Concept descriptors and checking classes.
67 65

	
68
This directory contains the concept descriptors and concept checkers. As a user
69
you typically don't have to deal with these files.
66
This directory contains the concept descriptors and concept checking tools.
67
For more information see the \ref concept "Concepts" module.
70 68
*/
71 69

	
72 70
/**
73 71
\dir bits
74
\brief Implementation helper files
72
\brief Auxiliary tools for implementation.
75 73

	
76
This directory contains some helper classes to implement graphs, maps and
77
some other classes. As a user you typically don't have to deal with these
78
files.
74
This directory contains some auxiliary classes for implementing graphs, 
75
maps and some other classes.
76
As a user you typically don't have to deal with these files.
79 77
*/
Ignore white space 48 line context
... ...
@@ -144,49 +144,49 @@
144 144
  typedef DivMap<DoubleArcMap, DoubleArcMap> TimeMap;
145 145
  TimeMap time(length, speed);
146 146

	
147 147
  Dijkstra<Digraph, TimeMap> dijkstra(graph, time);
148 148
  dijkstra.run(source, target);
149 149
\endcode
150 150
We have a length map and a maximum speed map on the arcs of a digraph.
151 151
The minimum time to pass the arc can be calculated as the division of
152 152
the two maps which can be done implicitly with the \c DivMap template
153 153
class. We use the implicit minimum time map as the length map of the
154 154
\c Dijkstra algorithm.
155 155
*/
156 156

	
157 157
/**
158 158
@defgroup matrices Matrices
159 159
@ingroup datas
160 160
\brief Two dimensional data storages implemented in LEMON.
161 161

	
162 162
This group describes two dimensional data storages implemented in LEMON.
163 163
*/
164 164

	
165 165
/**
166 166
@defgroup paths Path Structures
167 167
@ingroup datas
168
\brief Path structures implemented in LEMON.
168
\brief %Path structures implemented in LEMON.
169 169

	
170 170
This group describes the path structures implemented in LEMON.
171 171

	
172 172
LEMON provides flexible data structures to work with paths.
173 173
All of them have similar interfaces and they can be copied easily with
174 174
assignment operators and copy constructors. This makes it easy and
175 175
efficient to have e.g. the Dijkstra algorithm to store its result in
176 176
any kind of path structure.
177 177

	
178 178
\sa lemon::concepts::Path
179 179
*/
180 180

	
181 181
/**
182 182
@defgroup auxdat Auxiliary Data Structures
183 183
@ingroup datas
184 184
\brief Auxiliary data structures implemented in LEMON.
185 185

	
186 186
This group describes some data structures implemented in LEMON in
187 187
order to make it easier to implement combinatorial algorithms.
188 188
*/
189 189

	
190 190
/**
191 191
@defgroup algs Algorithms
192 192
\brief This group describes the several algorithms
... ...
@@ -469,54 +469,54 @@
469 469
\brief Reading and writing LEMON Graph Format.
470 470

	
471 471
This group describes methods for reading and writing
472 472
\ref lgf-format "LEMON Graph Format".
473 473
*/
474 474

	
475 475
/**
476 476
@defgroup eps_io Postscript Exporting
477 477
@ingroup io_group
478 478
\brief General \c EPS drawer and graph exporter
479 479

	
480 480
This group describes general \c EPS drawing methods and special
481 481
graph exporting tools.
482 482
*/
483 483

	
484 484
/**
485 485
@defgroup concept Concepts
486 486
\brief Skeleton classes and concept checking classes
487 487

	
488 488
This group describes the data/algorithm skeletons and concept checking
489 489
classes implemented in LEMON.
490 490

	
491 491
The purpose of the classes in this group is fourfold.
492 492

	
493
- These classes contain the documentations of the concepts. In order
493
- These classes contain the documentations of the %concepts. In order
494 494
  to avoid document multiplications, an implementation of a concept
495 495
  simply refers to the corresponding concept class.
496 496

	
497 497
- These classes declare every functions, <tt>typedef</tt>s etc. an
498
  implementation of the concepts should provide, however completely
498
  implementation of the %concepts should provide, however completely
499 499
  without implementations and real data structures behind the
500 500
  interface. On the other hand they should provide nothing else. All
501 501
  the algorithms working on a data structure meeting a certain concept
502 502
  should compile with these classes. (Though it will not run properly,
503 503
  of course.) In this way it is easily to check if an algorithm
504 504
  doesn't use any extra feature of a certain implementation.
505 505

	
506 506
- The concept descriptor classes also provide a <em>checker class</em>
507 507
  that makes it possible to check whether a certain implementation of a
508 508
  concept indeed provides all the required features.
509 509

	
510 510
- Finally, They can serve as a skeleton of a new implementation of a concept.
511 511
*/
512 512

	
513 513
/**
514 514
@defgroup graph_concepts Graph Structure Concepts
515 515
@ingroup concept
516 516
\brief Skeleton and concept checking classes for graph structures
517 517

	
518 518
This group describes the skeletons and concept checking classes of LEMON's
519 519
graph structures and helper classes used to implement these.
520 520
*/
521 521

	
522 522
/**
0 comments (0 inline)