0
7
0
2
10
6
2
1
14
13
12
... | ... |
@@ -6,104 +6,96 @@ |
6 | 6 |
available at our web page (http://lemon.cs.elte.hu/). |
7 | 7 |
|
8 | 8 |
LEMON provides two different build environments, one is based on "autotool", |
9 | 9 |
while the other is based on "cmake". This file contains instructions only for |
10 | 10 |
the former one, which is the recommended build environment on Linux, Mac OSX |
11 | 11 |
and other unices or if you use Cygwin on Windows. For cmake installation |
12 | 12 |
instructions visit http://lemon.cs.elte.hu. |
13 | 13 |
|
14 | 14 |
In order to install LEMON from the extracted source tarball you have to |
15 | 15 |
issue the following commands: |
16 | 16 |
|
17 | 17 |
1. `cd lemon-x.y.z' |
18 | 18 |
|
19 | 19 |
This command changes to the directory which was created when you |
20 | 20 |
extracted the sources. The x.y.z part is a version number. |
21 | 21 |
|
22 | 22 |
2. `./configure' |
23 | 23 |
|
24 | 24 |
This command runs the configure shell script, which does some checks and |
25 | 25 |
creates the makefiles. |
26 | 26 |
|
27 | 27 |
3. `make' |
28 | 28 |
|
29 | 29 |
This command compiles the non-template part of LEMON into libemon.a |
30 |
file. It also compiles the programs in the tools and demo subdirectories |
|
31 |
when enabled. |
|
30 |
file. It also compiles the programs in the tools subdirectory by |
|
31 |
default. |
|
32 | 32 |
|
33 | 33 |
4. `make check' |
34 | 34 |
|
35 | 35 |
This step is optional, but recommended. It runs the test programs that |
36 | 36 |
we developed for LEMON to check whether the library works properly on |
37 | 37 |
your platform. |
38 | 38 |
|
39 | 39 |
5. `make install' |
40 | 40 |
|
41 | 41 |
This command installs LEMON under /usr/local (you will need root |
42 | 42 |
privileges to be able to do that). If you want to install it to some |
43 | 43 |
other location, then pass the --prefix=DIRECTORY flag to configure in |
44 | 44 |
step 2. For example: `./configure --prefix=/home/username/lemon'. |
45 | 45 |
|
46 | 46 |
6. `make install-html' |
47 | 47 |
|
48 | 48 |
This command installs the documentation under share/doc/lemon/docs. The |
49 | 49 |
generated documentation is included in the tarball. If you want to |
50 | 50 |
generate it yourself, then run `make html'. Note that for this you need |
51 | 51 |
to have the following programs installed: Doxygen, Graphviz, Ghostscript, |
52 | 52 |
Latex. |
53 | 53 |
|
54 | 54 |
|
55 | 55 |
Configure Options and Variables |
56 | 56 |
=============================== |
57 | 57 |
|
58 | 58 |
In step 2 you can customize the actions of configure by setting variables |
59 | 59 |
and passing options to it. This can be done like this: |
60 | 60 |
`./configure [OPTION]... [VARIABLE=VALUE]...' |
61 | 61 |
|
62 | 62 |
Below you will find some useful variables and options (see `./configure --help' |
63 | 63 |
for more): |
64 | 64 |
|
65 | 65 |
CXX='comp' |
66 | 66 |
|
67 | 67 |
Change the C++ compiler to 'comp'. |
68 | 68 |
|
69 | 69 |
CXXFLAGS='flags' |
70 | 70 |
|
71 | 71 |
Pass the 'flags' to the compiler. For example CXXFLAGS='-O3 -march=pentium-m' |
72 | 72 |
turns on generation of aggressively optimized Pentium-M specific code. |
73 | 73 |
|
74 | 74 |
--prefix=PREFIX |
75 | 75 |
|
76 | 76 |
Set the installation prefix to PREFIX. By default it is /usr/local. |
77 | 77 |
|
78 |
--enable-demo |
|
79 |
|
|
80 |
Build the examples in the demo subdirectory. |
|
81 |
|
|
82 |
--disable-demo |
|
83 |
|
|
84 |
Do not build the examples in the demo subdirectory (default). |
|
85 |
|
|
86 | 78 |
--enable-tools |
87 | 79 |
|
88 | 80 |
Build the programs in the tools subdirectory (default). |
89 | 81 |
|
90 | 82 |
--disable-tools |
91 | 83 |
|
92 | 84 |
Do not build the programs in the tools subdirectory. |
93 | 85 |
|
94 | 86 |
--with-glpk[=PREFIX] |
95 | 87 |
|
96 | 88 |
Enable GLPK support (default). You should specify the prefix too if |
97 | 89 |
you installed GLPK to some non-standard location (e.g. your home |
98 | 90 |
directory). If it is not found, GLPK support will be disabled. |
99 | 91 |
|
100 | 92 |
--with-glpk-includedir=DIR |
101 | 93 |
|
102 | 94 |
The directory where the GLPK header files are located. This is only |
103 | 95 |
useful when the GLPK headers and libraries are not under the same |
104 | 96 |
prefix (which is unlikely). |
105 | 97 |
|
106 | 98 |
--with-glpk-libdir=DIR |
107 | 99 |
|
108 | 100 |
The directory where the GLPK libraries are located. This is only |
109 | 101 |
useful when the GLPK headers and libraries are not under the same |
... | ... |
@@ -18,54 +18,58 @@ |
18 | 18 |
cmake/version.cmake \ |
19 | 19 |
cmake/nsis/lemon.ico \ |
20 | 20 |
cmake/nsis/uninstall.ico |
21 | 21 |
|
22 | 22 |
pkgconfigdir = $(libdir)/pkgconfig |
23 | 23 |
lemondir = $(pkgincludedir) |
24 | 24 |
bitsdir = $(lemondir)/bits |
25 | 25 |
conceptdir = $(lemondir)/concepts |
26 | 26 |
pkgconfig_DATA = |
27 | 27 |
lib_LTLIBRARIES = |
28 | 28 |
lemon_HEADERS = |
29 | 29 |
bits_HEADERS = |
30 | 30 |
concept_HEADERS = |
31 | 31 |
noinst_HEADERS = |
32 | 32 |
noinst_PROGRAMS = |
33 | 33 |
bin_PROGRAMS = |
34 | 34 |
check_PROGRAMS = |
35 | 35 |
dist_bin_SCRIPTS = |
36 | 36 |
TESTS = |
37 | 37 |
XFAIL_TESTS = |
38 | 38 |
|
39 | 39 |
include lemon/Makefile.am |
40 | 40 |
include test/Makefile.am |
41 | 41 |
include doc/Makefile.am |
42 |
include demo/Makefile.am |
|
43 | 42 |
include tools/Makefile.am |
44 | 43 |
|
44 |
DIST_SUBDIRS = demo |
|
45 |
|
|
46 |
demo: |
|
47 |
$(MAKE) $(AM_MAKEFLAGS) -C demo |
|
48 |
|
|
45 | 49 |
MRPROPERFILES = \ |
46 | 50 |
aclocal.m4 \ |
47 | 51 |
config.h.in \ |
48 | 52 |
config.h.in~ \ |
49 | 53 |
configure \ |
50 | 54 |
Makefile.in \ |
51 | 55 |
build-aux/config.guess \ |
52 | 56 |
build-aux/config.sub \ |
53 | 57 |
build-aux/depcomp \ |
54 | 58 |
build-aux/install-sh \ |
55 | 59 |
build-aux/ltmain.sh \ |
56 | 60 |
build-aux/missing \ |
57 | 61 |
doc/doxygen.log |
58 | 62 |
|
59 | 63 |
mrproper: |
60 | 64 |
$(MAKE) $(AM_MAKEFLAGS) maintainer-clean |
61 | 65 |
-rm -f $(MRPROPERFILES) |
62 | 66 |
|
63 | 67 |
dist-bz2: dist |
64 | 68 |
zcat $(PACKAGE)-$(VERSION).tar.gz | \ |
65 | 69 |
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2 |
66 | 70 |
|
67 | 71 |
distcheck-bz2: distcheck |
68 | 72 |
zcat $(PACKAGE)-$(VERSION).tar.gz | \ |
69 | 73 |
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2 |
70 | 74 |
|
71 |
.PHONY: mrproper dist-bz2 distcheck-bz2 |
|
75 |
.PHONY: demo mrproper dist-bz2 distcheck-bz2 |
... | ... |
@@ -43,104 +43,91 @@ |
43 | 43 |
AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER |
44 | 44 |
choke me |
45 | 45 |
#endif], [ICC=[yes]], [ICC=[no]]) |
46 | 46 |
if test x"$ICC" = x"yes"; then |
47 | 47 |
AC_MSG_RESULT([yes]) |
48 | 48 |
else |
49 | 49 |
AC_MSG_RESULT([no]) |
50 | 50 |
fi |
51 | 51 |
|
52 | 52 |
dnl Set custom compiler flags when using g++. |
53 | 53 |
if test "$GXX" = yes -a "$ICC" = no; then |
54 | 54 |
WARNINGCXXFLAGS="-Wall -W -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy -Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings -Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align -Wsign-promo -Woverloaded-virtual -ansi -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas" |
55 | 55 |
fi |
56 | 56 |
AC_SUBST([WARNINGCXXFLAGS]) |
57 | 57 |
|
58 | 58 |
dnl Checks for libraries. |
59 | 59 |
LX_CHECK_GLPK |
60 | 60 |
LX_CHECK_CPLEX |
61 | 61 |
LX_CHECK_SOPLEX |
62 | 62 |
LX_CHECK_CLP |
63 | 63 |
|
64 | 64 |
AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"]) |
65 | 65 |
AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"]) |
66 | 66 |
|
67 |
dnl Disable/enable building the demo programs. |
|
68 |
AC_ARG_ENABLE([demo], |
|
69 |
AS_HELP_STRING([--enable-demo], [build the demo programs]) |
|
70 |
AS_HELP_STRING([--disable-demo], [do not build the demo programs @<:@default@:>@]), |
|
71 |
[], [enable_demo=no]) |
|
72 |
AC_MSG_CHECKING([whether to build the demo programs]) |
|
73 |
if test x"$enable_demo" != x"no"; then |
|
74 |
AC_MSG_RESULT([yes]) |
|
75 |
else |
|
76 |
AC_MSG_RESULT([no]) |
|
77 |
fi |
|
78 |
AM_CONDITIONAL([WANT_DEMO], [test x"$enable_demo" != x"no"]) |
|
79 |
|
|
80 | 67 |
dnl Disable/enable building the binary tools. |
81 | 68 |
AC_ARG_ENABLE([tools], |
82 | 69 |
AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@]) |
83 | 70 |
AS_HELP_STRING([--disable-tools], [do not build additional tools]), |
84 | 71 |
[], [enable_tools=yes]) |
85 | 72 |
AC_MSG_CHECKING([whether to build the additional tools]) |
86 | 73 |
if test x"$enable_tools" != x"no"; then |
87 | 74 |
AC_MSG_RESULT([yes]) |
88 | 75 |
else |
89 | 76 |
AC_MSG_RESULT([no]) |
90 | 77 |
fi |
91 | 78 |
AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"]) |
92 | 79 |
|
93 | 80 |
dnl Checks for header files. |
94 | 81 |
AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h) |
95 | 82 |
|
96 | 83 |
dnl Checks for typedefs, structures, and compiler characteristics. |
97 | 84 |
AC_C_CONST |
98 | 85 |
AC_C_INLINE |
99 | 86 |
AC_TYPE_SIZE_T |
100 | 87 |
AC_HEADER_TIME |
101 | 88 |
AC_STRUCT_TM |
102 | 89 |
|
103 | 90 |
dnl Checks for library functions. |
104 | 91 |
AC_HEADER_STDC |
105 | 92 |
AC_CHECK_FUNCS(gettimeofday times ctime_r) |
106 | 93 |
|
107 | 94 |
dnl Add dependencies on files generated by configure. |
108 | 95 |
AC_SUBST([CONFIG_STATUS_DEPENDENCIES], |
109 | 96 |
['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in']) |
110 | 97 |
|
111 | 98 |
AC_CONFIG_FILES([ |
112 | 99 |
Makefile |
100 |
demo/Makefile |
|
113 | 101 |
cmake/version.cmake |
114 | 102 |
doc/Doxyfile |
115 | 103 |
lemon/lemon.pc |
116 | 104 |
]) |
117 | 105 |
|
118 | 106 |
AC_OUTPUT |
119 | 107 |
|
120 | 108 |
echo |
121 | 109 |
echo '****************************** SUMMARY ******************************' |
122 | 110 |
echo |
123 | 111 |
echo Package version............... : $PACKAGE-$VERSION |
124 | 112 |
echo |
125 | 113 |
echo C++ compiler.................. : $CXX |
126 | 114 |
echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS |
127 | 115 |
echo |
128 | 116 |
echo Compiler supports long long... : $long_long_found |
129 | 117 |
echo |
130 | 118 |
echo GLPK support.................. : $lx_glpk_found |
131 | 119 |
echo CPLEX support................. : $lx_cplex_found |
132 | 120 |
echo SOPLEX support................ : $lx_soplex_found |
133 | 121 |
echo CLP support................... : $lx_clp_found |
134 | 122 |
echo |
135 |
echo Build demo programs........... : $enable_demo |
|
136 | 123 |
echo Build additional tools........ : $enable_tools |
137 | 124 |
echo |
138 | 125 |
echo The packace will be installed in |
139 | 126 |
echo -n ' ' |
140 | 127 |
echo $prefix. |
141 | 128 |
echo |
142 | 129 |
echo '*********************************************************************' |
143 | 130 |
|
144 | 131 |
echo |
145 | 132 |
echo Configure complete, now type \'make\' and then \'make install\'. |
146 | 133 |
echo |
1 |
EXTRA_DIST += \ |
|
2 |
demo/CMakeLists.txt \ |
|
3 |
|
|
1 |
AM_CXXFLAGS = $(WARNINGCXXFLAGS) |
|
4 | 2 |
|
5 |
|
|
3 |
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) |
|
4 |
LDADD = $(top_builddir)/lemon/libemon.la |
|
6 | 5 |
|
7 |
noinst_PROGRAMS += \ |
|
8 |
demo/arg_parser_demo \ |
|
9 |
demo/graph_to_eps_demo \ |
|
10 |
demo/lgf_demo |
|
6 |
EXTRA_DIST = \ |
|
7 |
CMakeLists.txt \ |
|
8 |
digraph.lgf |
|
11 | 9 |
|
12 |
|
|
10 |
noinst_PROGRAMS = \ |
|
11 |
arg_parser_demo \ |
|
12 |
graph_to_eps_demo \ |
|
13 |
lgf_demo |
|
13 | 14 |
|
14 |
demo_arg_parser_demo_SOURCES = demo/arg_parser_demo.cc |
|
15 |
demo_graph_to_eps_demo_SOURCES = demo/graph_to_eps_demo.cc |
|
16 |
|
|
15 |
arg_parser_demo_SOURCES = arg_parser_demo.cc |
|
16 |
graph_to_eps_demo_SOURCES = graph_to_eps_demo.cc |
|
17 |
lgf_demo_SOURCES = lgf_demo.cc |
... | ... |
@@ -650,38 +650,38 @@ |
650 | 650 |
@defgroup graph_concepts Graph Structure Concepts |
651 | 651 |
@ingroup concept |
652 | 652 |
\brief Skeleton and concept checking classes for graph structures |
653 | 653 |
|
654 | 654 |
This group contains the skeletons and concept checking classes of LEMON's |
655 | 655 |
graph structures and helper classes used to implement these. |
656 | 656 |
*/ |
657 | 657 |
|
658 | 658 |
/** |
659 | 659 |
@defgroup map_concepts Map Concepts |
660 | 660 |
@ingroup concept |
661 | 661 |
\brief Skeleton and concept checking classes for maps |
662 | 662 |
|
663 | 663 |
This group contains the skeletons and concept checking classes of maps. |
664 | 664 |
*/ |
665 | 665 |
|
666 | 666 |
/** |
667 | 667 |
\anchor demoprograms |
668 | 668 |
|
669 | 669 |
@defgroup demos Demo Programs |
670 | 670 |
|
671 | 671 |
Some demo programs are listed here. Their full source codes can be found in |
672 | 672 |
the \c demo subdirectory of the source tree. |
673 | 673 |
|
674 |
It order to compile them, use <tt>--enable-demo</tt> configure option when |
|
675 |
build the library. |
|
674 |
In order to compile them, use the <tt>make demo</tt> or the |
|
675 |
<tt>make check</tt> commands. |
|
676 | 676 |
*/ |
677 | 677 |
|
678 | 678 |
/** |
679 | 679 |
@defgroup tools Standalone Utility Applications |
680 | 680 |
|
681 | 681 |
Some utility applications are listed here. |
682 | 682 |
|
683 | 683 |
The standard compilation procedure (<tt>./configure;make</tt>) will compile |
684 | 684 |
them, as well. |
685 | 685 |
*/ |
686 | 686 |
|
687 | 687 |
} |
1 | 1 |
#!/bin/bash |
2 | 2 |
|
3 | 3 |
set -e |
4 | 4 |
|
5 | 5 |
if [ $# = 0 ]; then |
6 | 6 |
echo "Usage: $0 release-id" |
7 | 7 |
exit 1 |
8 | 8 |
else |
9 | 9 |
export LEMON_VERSION=$1 |
10 | 10 |
fi |
11 | 11 |
|
12 | 12 |
echo '*****************************************************************' |
13 | 13 |
echo ' Start making release tarballs for version '${LEMON_VERSION} |
14 | 14 |
echo '*****************************************************************' |
15 | 15 |
|
16 | 16 |
autoreconf -vif |
17 |
./configure |
|
17 |
./configure |
|
18 | 18 |
|
19 | 19 |
make |
20 | 20 |
make html |
21 | 21 |
make distcheck |
22 | 22 |
tar xf lemon-${LEMON_VERSION}.tar.gz |
23 | 23 |
zip -r lemon-${LEMON_VERSION}.zip lemon-${LEMON_VERSION} |
24 | 24 |
mv lemon-${LEMON_VERSION}/doc/html lemon-doc-${LEMON_VERSION} |
25 | 25 |
tar czf lemon-doc-${LEMON_VERSION}.tar.gz lemon-doc-${LEMON_VERSION} |
26 | 26 |
zip -r lemon-doc-${LEMON_VERSION}.zip lemon-doc-${LEMON_VERSION} |
27 | 27 |
tar czf lemon-nodoc-${LEMON_VERSION}.tar.gz lemon-${LEMON_VERSION} |
28 | 28 |
zip -r lemon-nodoc-${LEMON_VERSION}.zip lemon-${LEMON_VERSION} |
29 | 29 |
hg tag -m 'LEMON '${LEMON_VERSION}' released ('$(hg par --template="{node|short}")' tagged as r'${LEMON_VERSION}')' r${LEMON_VERSION} |
30 | 30 |
|
31 | 31 |
rm -rf lemon-${LEMON_VERSION} lemon-doc-${LEMON_VERSION} |
32 | 32 |
|
33 | 33 |
echo '*****************************************************************' |
34 | 34 |
echo ' Release '${LEMON_VERSION}' has been created' |
35 | 35 |
echo '*****************************************************************' |
... | ... |
@@ -16,48 +16,50 @@ |
16 | 16 |
test/dim_test \ |
17 | 17 |
test/edge_set_test \ |
18 | 18 |
test/error_test \ |
19 | 19 |
test/euler_test \ |
20 | 20 |
test/gomory_hu_test \ |
21 | 21 |
test/graph_copy_test \ |
22 | 22 |
test/graph_test \ |
23 | 23 |
test/graph_utils_test \ |
24 | 24 |
test/hao_orlin_test \ |
25 | 25 |
test/heap_test \ |
26 | 26 |
test/kruskal_test \ |
27 | 27 |
test/maps_test \ |
28 | 28 |
test/max_matching_test \ |
29 | 29 |
test/min_cost_arborescence_test \ |
30 | 30 |
test/path_test \ |
31 | 31 |
test/preflow_test \ |
32 | 32 |
test/radix_sort_test \ |
33 | 33 |
test/random_test \ |
34 | 34 |
test/suurballe_test \ |
35 | 35 |
test/test_tools_fail \ |
36 | 36 |
test/test_tools_pass \ |
37 | 37 |
test/time_measure_test \ |
38 | 38 |
test/unionfind_test |
39 | 39 |
|
40 |
test_test_tools_pass_DEPENDENCIES = demo |
|
41 |
|
|
40 | 42 |
if HAVE_LP |
41 | 43 |
check_PROGRAMS += test/lp_test |
42 | 44 |
endif HAVE_LP |
43 | 45 |
if HAVE_MIP |
44 | 46 |
check_PROGRAMS += test/mip_test |
45 | 47 |
endif HAVE_MIP |
46 | 48 |
|
47 | 49 |
TESTS += $(check_PROGRAMS) |
48 | 50 |
XFAIL_TESTS += test/test_tools_fail$(EXEEXT) |
49 | 51 |
|
50 | 52 |
test_adaptors_test_SOURCES = test/adaptors_test.cc |
51 | 53 |
test_bfs_test_SOURCES = test/bfs_test.cc |
52 | 54 |
test_circulation_test_SOURCES = test/circulation_test.cc |
53 | 55 |
test_counter_test_SOURCES = test/counter_test.cc |
54 | 56 |
test_dfs_test_SOURCES = test/dfs_test.cc |
55 | 57 |
test_digraph_test_SOURCES = test/digraph_test.cc |
56 | 58 |
test_dijkstra_test_SOURCES = test/dijkstra_test.cc |
57 | 59 |
test_dim_test_SOURCES = test/dim_test.cc |
58 | 60 |
test_edge_set_test_SOURCES = test/edge_set_test.cc |
59 | 61 |
test_error_test_SOURCES = test/error_test.cc |
60 | 62 |
test_euler_test_SOURCES = test/euler_test.cc |
61 | 63 |
test_gomory_hu_test_SOURCES = test/gomory_hu_test.cc |
62 | 64 |
test_graph_copy_test_SOURCES = test/graph_copy_test.cc |
63 | 65 |
test_graph_test_SOURCES = test/graph_test.cc |
0 comments (0 inline)