16
3
0
10
32
80
157
125
107
1 | 1 |
INCLUDE_DIRECTORIES( |
2 | 2 |
${PROJECT_SOURCE_DIR} |
3 | 3 |
${PROJECT_BINARY_DIR} |
4 | 4 |
) |
5 | 5 |
|
6 | 6 |
CONFIGURE_FILE( |
7 |
${CMAKE_CURRENT_SOURCE_DIR}/config.h. |
|
7 |
${CMAKE_CURRENT_SOURCE_DIR}/config.h.in |
|
8 | 8 |
${CMAKE_CURRENT_BINARY_DIR}/config.h |
9 | 9 |
) |
10 | 10 |
|
11 | 11 |
CONFIGURE_FILE( |
12 |
${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc. |
|
12 |
${CMAKE_CURRENT_SOURCE_DIR}/lemon.pc.in |
|
13 | 13 |
${CMAKE_CURRENT_BINARY_DIR}/lemon.pc |
14 | 14 |
@ONLY |
15 | 15 |
) |
16 | 16 |
|
17 | 17 |
SET(LEMON_SOURCES |
18 | 18 |
arg_parser.cc |
19 | 19 |
base.cc |
20 | 20 |
color.cc |
1 |
/* The version string */ |
|
2 |
#undef LEMON_VERSION |
|
3 |
|
|
4 |
/* Define to 1 if you have long long */ |
|
5 |
#undef LEMON_HAVE_LONG_LONG |
|
6 |
|
|
7 |
/* Define to 1 if you have any LP solver. */ |
|
8 |
#undef LEMON_HAVE_LP |
|
9 |
|
|
10 |
/* Define to 1 if you have any MIP solver. */ |
|
11 |
#undef LEMON_HAVE_MIP |
|
12 |
|
|
13 |
/* Define to 1 if you have CPLEX. */ |
|
14 |
#undef LEMON_HAVE_CPLEX |
|
15 |
|
|
16 |
/* Define to 1 if you have GLPK. */ |
|
17 |
#undef LEMON_HAVE_GLPK |
|
18 |
|
|
19 |
/* Define to 1 if you have SOPLEX */ |
|
20 |
#undef LEMON_HAVE_SOPLEX |
|
21 |
|
|
22 |
/* Define to 1 if you have CLP */ |
|
23 |
#undef LEMON_HAVE_CLP |
|
24 |
|
|
25 |
/* Define to 1 if you have CBC */ |
|
26 |
#undef LEMON_HAVE_CBC |
|
27 |
|
|
28 |
/* Define to 1 if you have pthread */ |
|
29 |
#undef LEMON_USE_PTHREAD |
|
30 |
|
|
31 |
/* Define to 1 if you have win32 threads */ |
|
32 |
#undef LEMON_USE_WIN32_THREADS |
|
1 |
#define LEMON_VERSION "@PROJECT_VERSION@" |
|
2 |
#cmakedefine LEMON_HAVE_LONG_LONG 1 |
|
3 |
#cmakedefine LEMON_HAVE_LP 1 |
|
4 |
#cmakedefine LEMON_HAVE_MIP 1 |
|
5 |
#cmakedefine LEMON_HAVE_GLPK 1 |
|
6 |
#cmakedefine LEMON_HAVE_CPLEX 1 |
|
7 |
#cmakedefine LEMON_HAVE_CLP 1 |
|
8 |
#cmakedefine LEMON_HAVE_CBC 1 |
|
9 |
#cmakedefine LEMON_USE_PTHREAD 1 |
|
10 |
#cmakedefine LEMON_USE_WIN32_THREADS 1 |
1 |
prefix=@prefix@ |
|
2 |
exec_prefix=@exec_prefix@ |
|
3 |
libdir=@libdir@ |
|
4 |
includedir=@includedir@ |
|
1 |
prefix=@CMAKE_INSTALL_PREFIX@ |
|
2 |
exec_prefix=@CMAKE_INSTALL_PREFIX@/bin |
|
3 |
libdir=@CMAKE_INSTALL_PREFIX@/lib |
|
4 |
includedir=@CMAKE_INSTALL_PREFIX@/include |
|
5 | 5 |
|
6 |
Name: @ |
|
6 |
Name: @PROJECT_NAME@ |
|
7 | 7 |
Description: Library for Efficient Modeling and Optimization in Networks |
8 |
Version: @ |
|
8 |
Version: @PROJECT_VERSION@ |
|
9 | 9 |
Libs: -L${libdir} -lemon @GLPK_LIBS@ @CPLEX_LIBS@ @SOPLEX_LIBS@ @CLP_LIBS@ @CBC_LIBS@ |
10 | 10 |
Cflags: -I${includedir} |
1 |
ACLOCAL_AMFLAGS = -I m4 |
|
2 |
|
|
3 |
AM_CXXFLAGS = $(WARNINGCXXFLAGS) |
|
4 |
|
|
5 |
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) |
|
6 |
LDADD = $(top_builddir)/lemon/libemon.la |
|
7 |
|
|
8 |
EXTRA_DIST = \ |
|
9 |
AUTHORS \ |
|
10 |
LICENSE \ |
|
11 |
m4/lx_check_cplex.m4 \ |
|
12 |
m4/lx_check_glpk.m4 \ |
|
13 |
m4/lx_check_soplex.m4 \ |
|
14 |
m4/lx_check_coin.m4 \ |
|
15 |
CMakeLists.txt \ |
|
16 |
cmake/FindGhostscript.cmake \ |
|
17 |
cmake/FindCPLEX.cmake \ |
|
18 |
cmake/FindGLPK.cmake \ |
|
19 |
cmake/FindCOIN.cmake \ |
|
20 |
cmake/LEMONConfig.cmake.in \ |
|
21 |
cmake/version.cmake.in \ |
|
22 |
cmake/version.cmake \ |
|
23 |
cmake/nsis/lemon.ico \ |
|
24 |
cmake/nsis/uninstall.ico |
|
25 |
|
|
26 |
pkgconfigdir = $(libdir)/pkgconfig |
|
27 |
lemondir = $(pkgincludedir) |
|
28 |
bitsdir = $(lemondir)/bits |
|
29 |
conceptdir = $(lemondir)/concepts |
|
30 |
pkgconfig_DATA = |
|
31 |
lib_LTLIBRARIES = |
|
32 |
lemon_HEADERS = |
|
33 |
bits_HEADERS = |
|
34 |
concept_HEADERS = |
|
35 |
noinst_HEADERS = |
|
36 |
noinst_PROGRAMS = |
|
37 |
bin_PROGRAMS = |
|
38 |
check_PROGRAMS = |
|
39 |
dist_bin_SCRIPTS = |
|
40 |
TESTS = |
|
41 |
XFAIL_TESTS = |
|
42 |
|
|
43 |
include lemon/Makefile.am |
|
44 |
include test/Makefile.am |
|
45 |
include doc/Makefile.am |
|
46 |
include tools/Makefile.am |
|
47 |
include scripts/Makefile.am |
|
48 |
|
|
49 |
DIST_SUBDIRS = demo |
|
50 |
|
|
51 |
demo: |
|
52 |
$(MAKE) $(AM_MAKEFLAGS) -C demo |
|
53 |
|
|
54 |
MRPROPERFILES = \ |
|
55 |
aclocal.m4 \ |
|
56 |
config.h.in \ |
|
57 |
config.h.in~ \ |
|
58 |
configure \ |
|
59 |
Makefile.in \ |
|
60 |
build-aux/config.guess \ |
|
61 |
build-aux/config.sub \ |
|
62 |
build-aux/depcomp \ |
|
63 |
build-aux/install-sh \ |
|
64 |
build-aux/ltmain.sh \ |
|
65 |
build-aux/missing \ |
|
66 |
doc/doxygen.log |
|
67 |
|
|
68 |
mrproper: |
|
69 |
$(MAKE) $(AM_MAKEFLAGS) maintainer-clean |
|
70 |
-rm -f $(MRPROPERFILES) |
|
71 |
|
|
72 |
dist-bz2: dist |
|
73 |
zcat $(PACKAGE)-$(VERSION).tar.gz | \ |
|
74 |
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2 |
|
75 |
|
|
76 |
distcheck-bz2: distcheck |
|
77 |
zcat $(PACKAGE)-$(VERSION).tar.gz | \ |
|
78 |
bzip2 --best -c > $(PACKAGE)-$(VERSION).tar.bz2 |
|
79 |
|
|
80 |
.PHONY: demo mrproper dist-bz2 distcheck-bz2 |
1 |
dnl Process this file with autoconf to produce a configure script. |
|
2 |
|
|
3 |
dnl Version information. |
|
4 |
m4_define([lemon_version_number], |
|
5 |
[m4_normalize(esyscmd([echo ${LEMON_VERSION}]))]) |
|
6 |
dnl m4_define([lemon_version_number], []) |
|
7 |
m4_define([lemon_hg_path], [m4_normalize(esyscmd([./scripts/chg-len.py]))]) |
|
8 |
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i 2> /dev/null]))]) |
|
9 |
m4_define([lemon_version], [ifelse(lemon_version_number(), |
|
10 |
[], |
|
11 |
[ifelse(lemon_hg_revision(), |
|
12 |
[], |
|
13 |
[hg-tip], |
|
14 |
[lemon_hg_path().lemon_hg_revision()])], |
|
15 |
[lemon_version_number()])]) |
|
16 |
|
|
17 |
AC_PREREQ([2.59]) |
|
18 |
AC_INIT([LEMON], [lemon_version()], [lemon-user@lemon.cs.elte.hu], [lemon]) |
|
19 |
AC_CONFIG_AUX_DIR([build-aux]) |
|
20 |
AC_CONFIG_MACRO_DIR([m4]) |
|
21 |
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects nostdinc]) |
|
22 |
AC_CONFIG_SRCDIR([lemon/list_graph.h]) |
|
23 |
AC_CONFIG_HEADERS([config.h lemon/config.h]) |
|
24 |
|
|
25 |
AC_DEFINE([LEMON_VERSION], [lemon_version()], [The version string]) |
|
26 |
|
|
27 |
dnl Do compilation tests using the C++ compiler. |
|
28 |
AC_LANG([C++]) |
|
29 |
|
|
30 |
dnl Check the existence of long long type. |
|
31 |
AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no]) |
|
32 |
if test x"$long_long_found" = x"yes"; then |
|
33 |
AC_DEFINE([LEMON_HAVE_LONG_LONG], [1], [Define to 1 if you have long long.]) |
|
34 |
fi |
|
35 |
|
|
36 |
dnl Checks for programs. |
|
37 |
AC_PROG_CXX |
|
38 |
AC_PROG_CXXCPP |
|
39 |
AC_PROG_INSTALL |
|
40 |
AC_DISABLE_SHARED |
|
41 |
AC_PROG_LIBTOOL |
|
42 |
|
|
43 |
AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no]) |
|
44 |
AC_CHECK_PROG([python_found],[python],[yes],[no]) |
|
45 |
AC_CHECK_PROG([gs_found],[gs],[yes],[no]) |
|
46 |
|
|
47 |
dnl Detect Intel compiler. |
|
48 |
AC_MSG_CHECKING([whether we are using the Intel C++ compiler]) |
|
49 |
AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER |
|
50 |
choke me |
|
51 |
#endif], [ICC=[yes]], [ICC=[no]]) |
|
52 |
if test x"$ICC" = x"yes"; then |
|
53 |
AC_MSG_RESULT([yes]) |
|
54 |
else |
|
55 |
AC_MSG_RESULT([no]) |
|
56 |
fi |
|
57 |
|
|
58 |
dnl Set custom compiler flags when using g++. |
|
59 |
if test "$GXX" = yes -a "$ICC" = no; then |
|
60 |
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" |
|
61 |
fi |
|
62 |
AC_SUBST([WARNINGCXXFLAGS]) |
|
63 |
|
|
64 |
dnl Checks for libraries. |
|
65 |
LX_CHECK_GLPK |
|
66 |
LX_CHECK_CPLEX |
|
67 |
LX_CHECK_SOPLEX |
|
68 |
LX_CHECK_COIN |
|
69 |
|
|
70 |
AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"]) |
|
71 |
AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"]) |
|
72 |
|
|
73 |
dnl Disable/enable building the binary tools. |
|
74 |
AC_ARG_ENABLE([tools], |
|
75 |
AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@]) |
|
76 |
AS_HELP_STRING([--disable-tools], [do not build additional tools]), |
|
77 |
[], [enable_tools=yes]) |
|
78 |
AC_MSG_CHECKING([whether to build the additional tools]) |
|
79 |
if test x"$enable_tools" != x"no"; then |
|
80 |
AC_MSG_RESULT([yes]) |
|
81 |
else |
|
82 |
AC_MSG_RESULT([no]) |
|
83 |
fi |
|
84 |
AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"]) |
|
85 |
|
|
86 |
dnl Support for running test cases using valgrind. |
|
87 |
use_valgrind=no |
|
88 |
AC_ARG_ENABLE([valgrind], |
|
89 |
AS_HELP_STRING([--enable-valgrind], [use valgrind when running tests]), |
|
90 |
[use_valgrind=yes]) |
|
91 |
|
|
92 |
if [[ "$use_valgrind" = "yes" ]]; then |
|
93 |
AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no) |
|
94 |
|
|
95 |
if [[ "$HAVE_VALGRIND" = "no" ]]; then |
|
96 |
AC_MSG_ERROR([Valgrind not found in PATH.]) |
|
97 |
fi |
|
98 |
fi |
|
99 |
AM_CONDITIONAL(USE_VALGRIND, [test "$use_valgrind" = "yes"]) |
|
100 |
|
|
101 |
dnl Checks for header files. |
|
102 |
AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h) |
|
103 |
|
|
104 |
dnl Checks for typedefs, structures, and compiler characteristics. |
|
105 |
AC_C_CONST |
|
106 |
AC_C_INLINE |
|
107 |
AC_TYPE_SIZE_T |
|
108 |
AC_HEADER_TIME |
|
109 |
AC_STRUCT_TM |
|
110 |
|
|
111 |
dnl Checks for library functions. |
|
112 |
AC_HEADER_STDC |
|
113 |
AC_CHECK_FUNCS(gettimeofday times ctime_r) |
|
114 |
|
|
115 |
dnl Add dependencies on files generated by configure. |
|
116 |
AC_SUBST([CONFIG_STATUS_DEPENDENCIES], |
|
117 |
['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/doc/mainpage.dox.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in']) |
|
118 |
|
|
119 |
AC_CONFIG_FILES([ |
|
120 |
Makefile |
|
121 |
demo/Makefile |
|
122 |
cmake/version.cmake |
|
123 |
doc/Doxyfile |
|
124 |
doc/mainpage.dox |
|
125 |
lemon/lemon.pc |
|
126 |
]) |
|
127 |
|
|
128 |
AC_OUTPUT |
|
129 |
|
|
130 |
echo |
|
131 |
echo '****************************** SUMMARY ******************************' |
|
132 |
echo |
|
133 |
echo Package version............... : $PACKAGE-$VERSION |
|
134 |
echo |
|
135 |
echo C++ compiler.................. : $CXX |
|
136 |
echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS |
|
137 |
echo |
|
138 |
echo Compiler supports long long... : $long_long_found |
|
139 |
echo |
|
140 |
echo GLPK support.................. : $lx_glpk_found |
|
141 |
echo CPLEX support................. : $lx_cplex_found |
|
142 |
echo SOPLEX support................ : $lx_soplex_found |
|
143 |
echo CLP support................... : $lx_clp_found |
|
144 |
echo CBC support................... : $lx_cbc_found |
|
145 |
echo |
|
146 |
echo Build additional tools........ : $enable_tools |
|
147 |
echo Use valgrind for tests........ : $use_valgrind |
|
148 |
echo |
|
149 |
echo The packace will be installed in |
|
150 |
echo -n ' ' |
|
151 |
echo $prefix. |
|
152 |
echo |
|
153 |
echo '*********************************************************************' |
|
154 |
|
|
155 |
echo |
|
156 |
echo Configure complete, now type \'make\' and then \'make install\'. |
|
157 |
echo |
1 |
AM_CXXFLAGS = $(WARNINGCXXFLAGS) |
|
2 |
|
|
3 |
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_builddir) |
|
4 |
LDADD = $(top_builddir)/lemon/libemon.la |
|
5 |
|
|
6 |
EXTRA_DIST = \ |
|
7 |
CMakeLists.txt \ |
|
8 |
digraph.lgf |
|
9 |
|
|
10 |
noinst_PROGRAMS = \ |
|
11 |
arg_parser_demo \ |
|
12 |
graph_to_eps_demo \ |
|
13 |
lgf_demo |
|
14 |
|
|
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 |
1 |
EXTRA_DIST += \ |
|
2 |
doc/Doxyfile.in \ |
|
3 |
doc/DoxygenLayout.xml \ |
|
4 |
doc/coding_style.dox \ |
|
5 |
doc/dirs.dox \ |
|
6 |
doc/groups.dox \ |
|
7 |
doc/lgf.dox \ |
|
8 |
doc/license.dox \ |
|
9 |
doc/mainpage.dox \ |
|
10 |
doc/migration.dox \ |
|
11 |
doc/min_cost_flow.dox \ |
|
12 |
doc/named-param.dox \ |
|
13 |
doc/namespaces.dox \ |
|
14 |
doc/references.bib \ |
|
15 |
doc/template.h \ |
|
16 |
doc/html \ |
|
17 |
doc/CMakeLists.txt |
|
18 |
|
|
19 |
DOC_EPS_IMAGES18 = \ |
|
20 |
grid_graph.eps \ |
|
21 |
nodeshape_0.eps \ |
|
22 |
nodeshape_1.eps \ |
|
23 |
nodeshape_2.eps \ |
|
24 |
nodeshape_3.eps \ |
|
25 |
nodeshape_4.eps |
|
26 |
|
|
27 |
DOC_EPS_IMAGES27 = \ |
|
28 |
bipartite_matching.eps \ |
|
29 |
bipartite_partitions.eps \ |
|
30 |
connected_components.eps \ |
|
31 |
edge_biconnected_components.eps \ |
|
32 |
matching.eps \ |
|
33 |
node_biconnected_components.eps \ |
|
34 |
planar.eps \ |
|
35 |
strongly_connected_components.eps |
|
36 |
|
|
37 |
DOC_EPS_IMAGES = \ |
|
38 |
$(DOC_EPS_IMAGES18) \ |
|
39 |
$(DOC_EPS_IMAGES27) |
|
40 |
|
|
41 |
DOC_PNG_IMAGES = \ |
|
42 |
$(DOC_EPS_IMAGES:%.eps=doc/gen-images/%.png) |
|
43 |
|
|
44 |
EXTRA_DIST += $(DOC_EPS_IMAGES:%=doc/images/%) |
|
45 |
|
|
46 |
doc/html: |
|
47 |
$(MAKE) $(AM_MAKEFLAGS) html |
|
48 |
|
|
49 |
GS_COMMAND=gs -dNOPAUSE -dBATCH -q -dEPSCrop -dTextAlphaBits=4 -dGraphicsAlphaBits=4 |
|
50 |
|
|
51 |
$(DOC_EPS_IMAGES18:%.eps=doc/gen-images/%.png): doc/gen-images/%.png: doc/images/%.eps |
|
52 |
-mkdir doc/gen-images |
|
53 |
if test ${gs_found} = yes; then \ |
|
54 |
$(GS_COMMAND) -sDEVICE=pngalpha -r18 -sOutputFile=$@ $<; \ |
|
55 |
else \ |
|
56 |
echo; \ |
|
57 |
echo "Ghostscript not found."; \ |
|
58 |
echo; \ |
|
59 |
exit 1; \ |
|
60 |
fi |
|
61 |
|
|
62 |
$(DOC_EPS_IMAGES27:%.eps=doc/gen-images/%.png): doc/gen-images/%.png: doc/images/%.eps |
|
63 |
-mkdir doc/gen-images |
|
64 |
if test ${gs_found} = yes; then \ |
|
65 |
$(GS_COMMAND) -sDEVICE=pngalpha -r27 -sOutputFile=$@ $<; \ |
|
66 |
else \ |
|
67 |
echo; \ |
|
68 |
echo "Ghostscript not found."; \ |
|
69 |
echo; \ |
|
70 |
exit 1; \ |
|
71 |
fi |
|
72 |
|
|
73 |
references.dox: doc/references.bib |
|
74 |
if test ${python_found} = yes; then \ |
|
75 |
cd doc; \ |
|
76 |
python @abs_top_srcdir@/scripts/bib2dox.py @abs_top_builddir@/$< >$@; \ |
|
77 |
cd ..; \ |
|
78 |
else \ |
|
79 |
echo; \ |
|
80 |
echo "Python not found."; \ |
|
81 |
echo; \ |
|
82 |
exit 1; \ |
|
83 |
fi |
|
84 |
|
|
85 |
html-local: $(DOC_PNG_IMAGES) references.dox |
|
86 |
if test ${doxygen_found} = yes; then \ |
|
87 |
cd doc; \ |
|
88 |
doxygen Doxyfile; \ |
|
89 |
cd ..; \ |
|
90 |
else \ |
|
91 |
echo; \ |
|
92 |
echo "Doxygen not found."; \ |
|
93 |
echo; \ |
|
94 |
exit 1; \ |
|
95 |
fi |
|
96 |
|
|
97 |
clean-local: |
|
98 |
-rm -rf doc/html |
|
99 |
-rm -f doc/doxygen.log |
|
100 |
-rm -f $(DOC_PNG_IMAGES) |
|
101 |
-rm -rf doc/gen-images |
|
102 |
|
|
103 |
update-external-tags: |
|
104 |
wget -O doc/libstdc++.tag.tmp http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/libstdc++.tag && \ |
|
105 |
mv doc/libstdc++.tag.tmp doc/libstdc++.tag || \ |
|
106 |
rm doc/libstdc++.tag.tmp |
|
107 |
|
|
108 |
install-html-local: doc/html |
|
109 |
@$(NORMAL_INSTALL) |
|
110 |
$(mkinstalldirs) $(DESTDIR)$(htmldir)/html |
|
111 |
for p in doc/html/*.{html,css,png,map,gif,tag} ; do \ |
|
112 |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
|
113 |
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(htmldir)/html/$$f"; \ |
|
114 |
$(INSTALL_DATA) $$p $(DESTDIR)$(htmldir)/html/$$f; \ |
|
115 |
done |
|
116 |
|
|
117 |
uninstall-local: |
|
118 |
@$(NORMAL_UNINSTALL) |
|
119 |
for p in doc/html/*.{html,css,png,map,gif,tag} ; do \ |
|
120 |
f="`echo $$p | sed -e 's|^.*/||'`"; \ |
|
121 |
echo " rm -f $(DESTDIR)$(htmldir)/html/$$f"; \ |
|
122 |
rm -f $(DESTDIR)$(htmldir)/html/$$f; \ |
|
123 |
done |
|
124 |
|
|
125 |
.PHONY: update-external-tags |
1 |
EXTRA_DIST += \ |
|
2 |
lemon/lemon.pc.in \ |
|
3 |
lemon/lemon.pc.cmake \ |
|
4 |
lemon/CMakeLists.txt \ |
|
5 |
lemon/config.h.cmake |
|
6 |
|
|
7 |
pkgconfig_DATA += lemon/lemon.pc |
|
8 |
|
|
9 |
lib_LTLIBRARIES += lemon/libemon.la |
|
10 |
|
|
11 |
lemon_libemon_la_SOURCES = \ |
|
12 |
lemon/arg_parser.cc \ |
|
13 |
lemon/base.cc \ |
|
14 |
lemon/color.cc \ |
|
15 |
lemon/lp_base.cc \ |
|
16 |
lemon/lp_skeleton.cc \ |
|
17 |
lemon/random.cc \ |
|
18 |
lemon/bits/windows.cc |
|
19 |
|
|
20 |
nodist_lemon_HEADERS = lemon/config.h |
|
21 |
|
|
22 |
lemon_libemon_la_CXXFLAGS = \ |
|
23 |
$(AM_CXXFLAGS) \ |
|
24 |
$(GLPK_CFLAGS) \ |
|
25 |
$(CPLEX_CFLAGS) \ |
|
26 |
$(SOPLEX_CXXFLAGS) \ |
|
27 |
$(CLP_CXXFLAGS) \ |
|
28 |
$(CBC_CXXFLAGS) |
|
29 |
|
|
30 |
lemon_libemon_la_LDFLAGS = \ |
|
31 |
$(GLPK_LIBS) \ |
|
32 |
$(CPLEX_LIBS) \ |
|
33 |
$(SOPLEX_LIBS) \ |
|
34 |
$(CLP_LIBS) \ |
|
35 |
$(CBC_LIBS) |
|
36 |
|
|
37 |
if HAVE_GLPK |
|
38 |
lemon_libemon_la_SOURCES += lemon/glpk.cc |
|
39 |
endif |
|
40 |
|
|
41 |
if HAVE_CPLEX |
|
42 |
lemon_libemon_la_SOURCES += lemon/cplex.cc |
|
43 |
endif |
|
44 |
|
|
45 |
if HAVE_SOPLEX |
|
46 |
lemon_libemon_la_SOURCES += lemon/soplex.cc |
|
47 |
endif |
|
48 |
|
|
49 |
if HAVE_CLP |
|
50 |
lemon_libemon_la_SOURCES += lemon/clp.cc |
|
51 |
endif |
|
52 |
|
|
53 |
if HAVE_CBC |
|
54 |
lemon_libemon_la_SOURCES += lemon/cbc.cc |
|
55 |
endif |
|
56 |
|
|
57 |
lemon_HEADERS += \ |
|
58 |
lemon/adaptors.h \ |
|
59 |
lemon/arg_parser.h \ |
|
60 |
lemon/assert.h \ |
|
61 |
lemon/bellman_ford.h \ |
|
62 |
lemon/bfs.h \ |
|
63 |
lemon/bin_heap.h \ |
|
64 |
lemon/binomial_heap.h \ |
|
65 |
lemon/bucket_heap.h \ |
|
66 |
lemon/capacity_scaling.h \ |
|
67 |
lemon/cbc.h \ |
|
68 |
lemon/circulation.h \ |
|
69 |
lemon/clp.h \ |
|
70 |
lemon/color.h \ |
|
71 |
lemon/concept_check.h \ |
|
72 |
lemon/connectivity.h \ |
|
73 |
lemon/core.h \ |
|
74 |
lemon/cost_scaling.h \ |
|
75 |
lemon/counter.h \ |
|
76 |
lemon/cplex.h \ |
|
77 |
lemon/cycle_canceling.h \ |
|
78 |
lemon/dfs.h \ |
|
79 |
lemon/dheap.h \ |
|
80 |
lemon/dijkstra.h \ |
|
81 |
lemon/dim2.h \ |
|
82 |
lemon/dimacs.h \ |
|
83 |
lemon/edge_set.h \ |
|
84 |
lemon/elevator.h \ |
|
85 |
lemon/error.h \ |
|
86 |
lemon/euler.h \ |
|
87 |
lemon/fib_heap.h \ |
|
88 |
lemon/fractional_matching.h \ |
|
89 |
lemon/full_graph.h \ |
|
90 |
lemon/glpk.h \ |
|
91 |
lemon/gomory_hu.h \ |
|
92 |
lemon/graph_to_eps.h \ |
|
93 |
lemon/grid_graph.h \ |
|
94 |
lemon/grosso_locatelli_pullan_mc.h \ |
|
95 |
lemon/hartmann_orlin_mmc.h \ |
|
96 |
lemon/howard_mmc.h \ |
|
97 |
lemon/hypercube_graph.h \ |
|
98 |
lemon/karp_mmc.h \ |
|
99 |
lemon/kruskal.h \ |
|
100 |
lemon/hao_orlin.h \ |
|
101 |
lemon/lgf_reader.h \ |
|
102 |
lemon/lgf_writer.h \ |
|
103 |
lemon/list_graph.h \ |
|
104 |
lemon/lp.h \ |
|
105 |
lemon/lp_base.h \ |
|
106 |
lemon/lp_skeleton.h \ |
|
107 |
lemon/maps.h \ |
|
108 |
lemon/matching.h \ |
|
109 |
lemon/math.h \ |
|
110 |
lemon/min_cost_arborescence.h \ |
|
111 |
lemon/max_cardinality_search.h \ |
|
112 |
lemon/nagamochi_ibaraki.h \ |
|
113 |
lemon/nauty_reader.h \ |
|
114 |
lemon/network_simplex.h \ |
|
115 |
lemon/pairing_heap.h \ |
|
116 |
lemon/path.h \ |
|
117 |
lemon/planarity.h \ |
|
118 |
lemon/preflow.h \ |
|
119 |
lemon/quad_heap.h \ |
|
120 |
lemon/radix_heap.h \ |
|
121 |
lemon/radix_sort.h \ |
|
122 |
lemon/random.h \ |
|
123 |
lemon/smart_graph.h \ |
|
124 |
lemon/soplex.h \ |
|
125 |
lemon/static_graph.h \ |
|
126 |
lemon/suurballe.h \ |
|
127 |
lemon/time_measure.h \ |
|
128 |
lemon/tolerance.h \ |
|
129 |
lemon/unionfind.h \ |
|
130 |
lemon/bits/windows.h |
|
131 |
|
|
132 |
bits_HEADERS += \ |
|
133 |
lemon/bits/alteration_notifier.h \ |
|
134 |
lemon/bits/array_map.h \ |
|
135 |
lemon/bits/bezier.h \ |
|
136 |
lemon/bits/default_map.h \ |
|
137 |
lemon/bits/edge_set_extender.h \ |
|
138 |
lemon/bits/enable_if.h \ |
|
139 |
lemon/bits/graph_adaptor_extender.h \ |
|
140 |
lemon/bits/graph_extender.h \ |
|
141 |
lemon/bits/lock.h \ |
|
142 |
lemon/bits/map_extender.h \ |
|
143 |
lemon/bits/path_dump.h \ |
|
144 |
lemon/bits/solver_bits.h \ |
|
145 |
lemon/bits/traits.h \ |
|
146 |
lemon/bits/variant.h \ |
|
147 |
lemon/bits/vector_map.h |
|
148 |
|
|
149 |
concept_HEADERS += \ |
|
150 |
lemon/concepts/digraph.h \ |
|
151 |
lemon/concepts/graph.h \ |
|
152 |
lemon/concepts/graph_components.h \ |
|
153 |
lemon/concepts/heap.h \ |
|
154 |
lemon/concepts/maps.h \ |
|
155 |
lemon/concepts/path.h |
1 |
#define LEMON_VERSION "@PROJECT_VERSION@" |
|
2 |
#cmakedefine LEMON_HAVE_LONG_LONG 1 |
|
3 |
#cmakedefine LEMON_HAVE_LP 1 |
|
4 |
#cmakedefine LEMON_HAVE_MIP 1 |
|
5 |
#cmakedefine LEMON_HAVE_GLPK 1 |
|
6 |
#cmakedefine LEMON_HAVE_CPLEX 1 |
|
7 |
#cmakedefine LEMON_HAVE_CLP 1 |
|
8 |
#cmakedefine LEMON_HAVE_CBC 1 |
|
9 |
#cmakedefine LEMON_USE_PTHREAD 1 |
|
10 |
#cmakedefine LEMON_USE_WIN32_THREADS 1 |
1 |
prefix=@CMAKE_INSTALL_PREFIX@ |
|
2 |
exec_prefix=@CMAKE_INSTALL_PREFIX@/bin |
|
3 |
libdir=@CMAKE_INSTALL_PREFIX@/lib |
|
4 |
includedir=@CMAKE_INSTALL_PREFIX@/include |
|
5 |
|
|
6 |
Name: @PROJECT_NAME@ |
|
7 |
Description: Library for Efficient Modeling and Optimization in Networks |
|
8 |
Version: @PROJECT_VERSION@ |
|
9 |
Libs: -L${libdir} -lemon @GLPK_LIBS@ @CPLEX_LIBS@ @SOPLEX_LIBS@ @CLP_LIBS@ @CBC_LIBS@ |
|
10 |
Cflags: -I${includedir} |
1 |
AC_DEFUN([LX_CHECK_COIN], |
|
2 |
[ |
|
3 |
AC_ARG_WITH([coin], |
|
4 |
AS_HELP_STRING([--with-coin@<:@=PREFIX@:>@], [search for CLP under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@]) |
|
5 |
AS_HELP_STRING([--without-coin], [disable checking for CLP]), |
|
6 |
[], [with_coin=yes]) |
|
7 |
|
|
8 |
AC_ARG_WITH([coin-includedir], |
|
9 |
AS_HELP_STRING([--with-coin-includedir=DIR], [search for CLP headers in DIR]), |
|
10 |
[], [with_coin_includedir=no]) |
|
11 |
|
|
12 |
AC_ARG_WITH([coin-libdir], |
|
13 |
AS_HELP_STRING([--with-coin-libdir=DIR], [search for CLP libraries in DIR]), |
|
14 |
[], [with_coin_libdir=no]) |
|
15 |
|
|
16 |
lx_clp_found=no |
|
17 |
if test x"$with_coin" != x"no"; then |
|
18 |
AC_MSG_CHECKING([for CLP]) |
|
19 |
|
|
20 |
if test x"$with_coin_includedir" != x"no"; then |
|
21 |
CLP_CXXFLAGS="-I$with_coin_includedir" |
|
22 |
elif test x"$with_coin" != x"yes"; then |
|
23 |
CLP_CXXFLAGS="-I$with_coin/include" |
|
24 |
fi |
|
25 |
|
|
26 |
if test x"$with_coin_libdir" != x"no"; then |
|
27 |
CLP_LDFLAGS="-L$with_coin_libdir" |
|
28 |
elif test x"$with_coin" != x"yes"; then |
|
29 |
CLP_LDFLAGS="-L$with_coin/lib" |
|
30 |
fi |
|
31 |
CLP_LIBS="-lClp -lCoinUtils -lm" |
|
32 |
|
|
33 |
lx_save_cxxflags="$CXXFLAGS" |
|
34 |
lx_save_ldflags="$LDFLAGS" |
|
35 |
lx_save_libs="$LIBS" |
|
36 |
CXXFLAGS="$CLP_CXXFLAGS" |
|
37 |
LDFLAGS="$CLP_LDFLAGS" |
|
38 |
LIBS="$CLP_LIBS" |
|
39 |
|
|
40 |
lx_clp_test_prog=' |
|
41 |
#include <coin/ClpModel.hpp> |
|
42 |
|
|
43 |
int main(int argc, char** argv) |
|
44 |
{ |
|
45 |
ClpModel clp; |
|
46 |
return 0; |
|
47 |
}' |
|
48 |
|
|
49 |
AC_LANG_PUSH(C++) |
|
50 |
AC_LINK_IFELSE([$lx_clp_test_prog], [lx_clp_found=yes], [lx_clp_found=no]) |
|
51 |
AC_LANG_POP(C++) |
|
52 |
|
|
53 |
CXXFLAGS="$lx_save_cxxflags" |
|
54 |
LDFLAGS="$lx_save_ldflags" |
|
55 |
LIBS="$lx_save_libs" |
|
56 |
|
|
57 |
if test x"$lx_clp_found" = x"yes"; then |
|
58 |
AC_DEFINE([LEMON_HAVE_CLP], [1], [Define to 1 if you have CLP.]) |
|
59 |
lx_lp_found=yes |
|
60 |
AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.]) |
|
61 |
AC_MSG_RESULT([yes]) |
|
62 |
else |
|
63 |
CLP_CXXFLAGS="" |
|
64 |
CLP_LDFLAGS="" |
|
65 |
CLP_LIBS="" |
|
66 |
AC_MSG_RESULT([no]) |
|
67 |
fi |
|
68 |
fi |
|
69 |
CLP_LIBS="$CLP_LDFLAGS $CLP_LIBS" |
|
70 |
AC_SUBST(CLP_CXXFLAGS) |
|
71 |
AC_SUBST(CLP_LIBS) |
|
72 |
AM_CONDITIONAL([HAVE_CLP], [test x"$lx_clp_found" = x"yes"]) |
|
73 |
|
|
74 |
|
|
75 |
lx_cbc_found=no |
|
76 |
if test x"$lx_clp_found" = x"yes"; then |
|
77 |
if test x"$with_coin" != x"no"; then |
|
78 |
AC_MSG_CHECKING([for CBC]) |
|
79 |
|
|
80 |
if test x"$with_coin_includedir" != x"no"; then |
|
81 |
CBC_CXXFLAGS="-I$with_coin_includedir" |
|
82 |
elif test x"$with_coin" != x"yes"; then |
|
83 |
CBC_CXXFLAGS="-I$with_coin/include" |
|
84 |
fi |
|
85 |
|
|
86 |
if test x"$with_coin_libdir" != x"no"; then |
|
87 |
CBC_LDFLAGS="-L$with_coin_libdir" |
|
88 |
elif test x"$with_coin" != x"yes"; then |
|
89 |
CBC_LDFLAGS="-L$with_coin/lib" |
|
90 |
fi |
|
91 |
CBC_LIBS="-lOsi -lCbc -lCbcSolver -lClp -lOsiClp -lCoinUtils -lVol -lOsiVol -lCgl -lm -llapack -lblas" |
|
92 |
|
|
93 |
lx_save_cxxflags="$CXXFLAGS" |
|
94 |
lx_save_ldflags="$LDFLAGS" |
|
95 |
lx_save_libs="$LIBS" |
|
96 |
CXXFLAGS="$CBC_CXXFLAGS" |
|
97 |
LDFLAGS="$CBC_LDFLAGS" |
|
98 |
LIBS="$CBC_LIBS" |
|
99 |
|
|
100 |
lx_cbc_test_prog=' |
|
101 |
#include <coin/CbcModel.hpp> |
|
102 |
|
|
103 |
int main(int argc, char** argv) |
|
104 |
{ |
|
105 |
CbcModel cbc; |
|
106 |
return 0; |
|
107 |
}' |
|
108 |
|
|
109 |
AC_LANG_PUSH(C++) |
|
110 |
AC_LINK_IFELSE([$lx_cbc_test_prog], [lx_cbc_found=yes], [lx_cbc_found=no]) |
|
111 |
AC_LANG_POP(C++) |
|
112 |
|
|
113 |
CXXFLAGS="$lx_save_cxxflags" |
|
114 |
LDFLAGS="$lx_save_ldflags" |
|
115 |
LIBS="$lx_save_libs" |
|
116 |
|
|
117 |
if test x"$lx_cbc_found" = x"yes"; then |
|
118 |
AC_DEFINE([LEMON_HAVE_CBC], [1], [Define to 1 if you have CBC.]) |
|
119 |
lx_lp_found=yes |
|
120 |
AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.]) |
|
121 |
lx_mip_found=yes |
|
122 |
AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.]) |
|
123 |
AC_MSG_RESULT([yes]) |
|
124 |
else |
|
125 |
CBC_CXXFLAGS="" |
|
126 |
CBC_LDFLAGS="" |
|
127 |
CBC_LIBS="" |
|
128 |
AC_MSG_RESULT([no]) |
|
129 |
fi |
|
130 |
fi |
|
131 |
fi |
|
132 |
CBC_LIBS="$CBC_LDFLAGS $CBC_LIBS" |
|
133 |
AC_SUBST(CBC_CXXFLAGS) |
|
134 |
AC_SUBST(CBC_LIBS) |
|
135 |
AM_CONDITIONAL([HAVE_CBC], [test x"$lx_cbc_found" = x"yes"]) |
|
136 |
]) |
1 |
AC_DEFUN([LX_CHECK_CPLEX], |
|
2 |
[ |
|
3 |
AC_ARG_WITH([cplex], |
|
4 |
AS_HELP_STRING([--with-cplex@<:@=PREFIX@:>@], [search for CPLEX under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@]) |
|
5 |
AS_HELP_STRING([--without-cplex], [disable checking for CPLEX]), |
|
6 |
[], [with_cplex=yes]) |
|
7 |
|
|
8 |
AC_ARG_WITH([cplex-includedir], |
|
9 |
AS_HELP_STRING([--with-cplex-includedir=DIR], [search for CPLEX headers in DIR]), |
|
10 |
[], [with_cplex_includedir=no]) |
|
11 |
|
|
12 |
AC_ARG_WITH([cplex-libdir], |
|
13 |
AS_HELP_STRING([--with-cplex-libdir=DIR], [search for CPLEX libraries in DIR]), |
|
14 |
[], [with_cplex_libdir=no]) |
|
15 |
|
|
16 |
lx_cplex_found=no |
|
17 |
if test x"$with_cplex" != x"no"; then |
|
18 |
AC_MSG_CHECKING([for CPLEX]) |
|
19 |
|
|
20 |
if test x"$with_cplex_includedir" != x"no"; then |
|
21 |
CPLEX_CFLAGS="-I$with_cplex_includedir" |
|
22 |
elif test x"$with_cplex" != x"yes"; then |
|
23 |
CPLEX_CFLAGS="-I$with_cplex/include" |
|
24 |
elif test x"$CPLEX_INCLUDEDIR" != x; then |
|
25 |
CPLEX_CFLAGS="-I$CPLEX_INCLUDEDIR" |
|
26 |
fi |
|
27 |
|
|
28 |
if test x"$with_cplex_libdir" != x"no"; then |
|
29 |
CPLEX_LDFLAGS="-L$with_cplex_libdir" |
|
30 |
elif test x"$with_cplex" != x"yes"; then |
|
31 |
CPLEX_LDFLAGS="-L$with_cplex/lib" |
|
32 |
elif test x"$CPLEX_LIBDIR" != x; then |
|
33 |
CPLEX_LDFLAGS="-L$CPLEX_LIBDIR" |
|
34 |
fi |
|
35 |
CPLEX_LIBS="-lcplex -lm -lpthread" |
|
36 |
|
|
37 |
lx_save_cxxflags="$CXXFLAGS" |
|
38 |
lx_save_ldflags="$LDFLAGS" |
|
39 |
lx_save_libs="$LIBS" |
|
40 |
CXXFLAGS="$CPLEX_CFLAGS" |
|
41 |
LDFLAGS="$CPLEX_LDFLAGS" |
|
42 |
LIBS="$CPLEX_LIBS" |
|
43 |
|
|
44 |
lx_cplex_test_prog=' |
|
45 |
extern "C" { |
|
46 |
#include <ilcplex/cplex.h> |
|
47 |
} |
|
48 |
|
|
49 |
int main(int argc, char** argv) |
|
50 |
{ |
|
51 |
CPXENVptr env = NULL; |
|
52 |
return 0; |
|
53 |
}' |
|
54 |
|
|
55 |
AC_LANG_PUSH(C++) |
|
56 |
AC_LINK_IFELSE([$lx_cplex_test_prog], [lx_cplex_found=yes], [lx_cplex_found=no]) |
|
57 |
AC_LANG_POP(C++) |
|
58 |
|
|
59 |
CXXFLAGS="$lx_save_cxxflags" |
|
60 |
LDFLAGS="$lx_save_ldflags" |
|
61 |
LIBS="$lx_save_libs" |
|
62 |
|
|
63 |
if test x"$lx_cplex_found" = x"yes"; then |
|
64 |
AC_DEFINE([LEMON_HAVE_CPLEX], [1], [Define to 1 if you have CPLEX.]) |
|
65 |
lx_lp_found=yes |
|
66 |
AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.]) |
|
67 |
lx_mip_found=yes |
|
68 |
AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.]) |
|
69 |
AC_MSG_RESULT([yes]) |
|
70 |
else |
|
71 |
CPLEX_CFLAGS="" |
|
72 |
CPLEX_LDFLAGS="" |
|
73 |
CPLEX_LIBS="" |
|
74 |
AC_MSG_RESULT([no]) |
|
75 |
fi |
|
76 |
fi |
|
77 |
CPLEX_LIBS="$CPLEX_LDFLAGS $CPLEX_LIBS" |
|
78 |
AC_SUBST(CPLEX_CFLAGS) |
|
79 |
AC_SUBST(CPLEX_LIBS) |
|
80 |
AM_CONDITIONAL([HAVE_CPLEX], [test x"$lx_cplex_found" = x"yes"]) |
|
81 |
]) |
1 |
AC_DEFUN([LX_CHECK_GLPK], |
|
2 |
[ |
|
3 |
AC_ARG_WITH([glpk], |
|
4 |
AS_HELP_STRING([--with-glpk@<:@=PREFIX@:>@], [search for GLPK under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@]) |
|
5 |
AS_HELP_STRING([--without-glpk], [disable checking for GLPK]), |
|
6 |
[], [with_glpk=yes]) |
|
7 |
|
|
8 |
AC_ARG_WITH([glpk-includedir], |
|
9 |
AS_HELP_STRING([--with-glpk-includedir=DIR], [search for GLPK headers in DIR]), |
|
10 |
[], [with_glpk_includedir=no]) |
|
11 |
|
|
12 |
AC_ARG_WITH([glpk-libdir], |
|
13 |
AS_HELP_STRING([--with-glpk-libdir=DIR], [search for GLPK libraries in DIR]), |
|
14 |
[], [with_glpk_libdir=no]) |
|
15 |
|
|
16 |
lx_glpk_found=no |
|
17 |
if test x"$with_glpk" != x"no"; then |
|
18 |
AC_MSG_CHECKING([for GLPK]) |
|
19 |
|
|
20 |
if test x"$with_glpk_includedir" != x"no"; then |
|
21 |
GLPK_CFLAGS="-I$with_glpk_includedir" |
|
22 |
elif test x"$with_glpk" != x"yes"; then |
|
23 |
GLPK_CFLAGS="-I$with_glpk/include" |
|
24 |
fi |
|
25 |
|
|
26 |
if test x"$with_glpk_libdir" != x"no"; then |
|
27 |
GLPK_LDFLAGS="-L$with_glpk_libdir" |
|
28 |
elif test x"$with_glpk" != x"yes"; then |
|
29 |
GLPK_LDFLAGS="-L$with_glpk/lib" |
|
30 |
fi |
|
31 |
GLPK_LIBS="-lglpk" |
|
32 |
|
|
33 |
lx_save_cxxflags="$CXXFLAGS" |
|
34 |
lx_save_ldflags="$LDFLAGS" |
|
35 |
lx_save_libs="$LIBS" |
|
36 |
CXXFLAGS="$GLPK_CFLAGS" |
|
37 |
LDFLAGS="$GLPK_LDFLAGS" |
|
38 |
LIBS="$GLPK_LIBS" |
|
39 |
|
|
40 |
lx_glpk_test_prog=' |
|
41 |
extern "C" { |
|
42 |
#include <glpk.h> |
|
43 |
} |
|
44 |
|
|
45 |
#if (GLP_MAJOR_VERSION < 4) \ |
|
46 |
|| (GLP_MAJOR_VERSION == 4 && GLP_MINOR_VERSION < 33) |
|
47 |
#error Supported GLPK versions: 4.33 or above |
|
48 |
#endif |
|
49 |
|
|
50 |
int main(int argc, char** argv) |
|
51 |
{ |
|
52 |
LPX *lp; |
|
53 |
lp = lpx_create_prob(); |
|
54 |
lpx_delete_prob(lp); |
|
55 |
return 0; |
|
56 |
}' |
|
57 |
|
|
58 |
AC_LANG_PUSH(C++) |
|
59 |
AC_LINK_IFELSE([$lx_glpk_test_prog], [lx_glpk_found=yes], [lx_glpk_found=no]) |
|
60 |
AC_LANG_POP(C++) |
|
61 |
|
|
62 |
CXXFLAGS="$lx_save_cxxflags" |
|
63 |
LDFLAGS="$lx_save_ldflags" |
|
64 |
LIBS="$lx_save_libs" |
|
65 |
|
|
66 |
if test x"$lx_glpk_found" = x"yes"; then |
|
67 |
AC_DEFINE([LEMON_HAVE_GLPK], [1], [Define to 1 if you have GLPK.]) |
|
68 |
lx_lp_found=yes |
|
69 |
AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.]) |
|
70 |
lx_mip_found=yes |
|
71 |
AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.]) |
|
72 |
AC_MSG_RESULT([yes]) |
|
73 |
else |
|
74 |
GLPK_CFLAGS="" |
|
75 |
GLPK_LDFLAGS="" |
|
76 |
GLPK_LIBS="" |
|
77 |
AC_MSG_RESULT([no]) |
|
78 |
fi |
|
79 |
fi |
|
80 |
GLPK_LIBS="$GLPK_LDFLAGS $GLPK_LIBS" |
|
81 |
AC_SUBST(GLPK_CFLAGS) |
|
82 |
AC_SUBST(GLPK_LIBS) |
|
83 |
AM_CONDITIONAL([HAVE_GLPK], [test x"$lx_glpk_found" = x"yes"]) |
|
84 |
]) |
1 |
AC_DEFUN([LX_CHECK_SOPLEX], |
|
2 |
[ |
|
3 |
AC_ARG_WITH([soplex], |
|
4 |
AS_HELP_STRING([--with-soplex@<:@=PREFIX@:>@], [search for SOPLEX under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@]) |
|
5 |
AS_HELP_STRING([--without-soplex], [disable checking for SOPLEX]), |
|
6 |
[], [with_soplex=yes]) |
|
7 |
|
|
8 |
AC_ARG_WITH([soplex-includedir], |
|
9 |
AS_HELP_STRING([--with-soplex-includedir=DIR], [search for SOPLEX headers in DIR]), |
|
10 |
[], [with_soplex_includedir=no]) |
|
11 |
|
|
12 |
AC_ARG_WITH([soplex-libdir], |
|
13 |
AS_HELP_STRING([--with-soplex-libdir=DIR], [search for SOPLEX libraries in DIR]), |
|
14 |
[], [with_soplex_libdir=no]) |
|
15 |
|
|
16 |
lx_soplex_found=no |
|
17 |
if test x"$with_soplex" != x"no"; then |
|
18 |
AC_MSG_CHECKING([for SOPLEX]) |
|
19 |
|
|
20 |
if test x"$with_soplex_includedir" != x"no"; then |
|
21 |
SOPLEX_CXXFLAGS="-I$with_soplex_includedir" |
|
22 |
elif test x"$with_soplex" != x"yes"; then |
|
23 |
SOPLEX_CXXFLAGS="-I$with_soplex/src" |
|
24 |
fi |
|
25 |
|
|
26 |
if test x"$with_soplex_libdir" != x"no"; then |
|
27 |
SOPLEX_LDFLAGS="-L$with_soplex_libdir" |
|
28 |
elif test x"$with_soplex" != x"yes"; then |
|
29 |
SOPLEX_LDFLAGS="-L$with_soplex/lib" |
|
30 |
fi |
|
31 |
SOPLEX_LIBS="-lsoplex -lz" |
|
32 |
|
|
33 |
lx_save_cxxflags="$CXXFLAGS" |
|
34 |
lx_save_ldflags="$LDFLAGS" |
|
35 |
lx_save_libs="$LIBS" |
|
36 |
CXXFLAGS="$SOPLEX_CXXFLAGS" |
|
37 |
LDFLAGS="$SOPLEX_LDFLAGS" |
|
38 |
LIBS="$SOPLEX_LIBS" |
|
39 |
|
|
40 |
lx_soplex_test_prog=' |
|
41 |
#include <soplex.h> |
|
42 |
|
|
43 |
int main(int argc, char** argv) |
|
44 |
{ |
|
45 |
soplex::SoPlex soplex; |
|
46 |
return 0; |
|
47 |
}' |
|
48 |
|
|
49 |
AC_LANG_PUSH(C++) |
|
50 |
AC_LINK_IFELSE([$lx_soplex_test_prog], [lx_soplex_found=yes], [lx_soplex_found=no]) |
|
51 |
AC_LANG_POP(C++) |
|
52 |
|
|
53 |
CXXFLAGS="$lx_save_cxxflags" |
|
54 |
LDFLAGS="$lx_save_ldflags" |
|
55 |
LIBS="$lx_save_libs" |
|
56 |
|
|
57 |
if test x"$lx_soplex_found" = x"yes"; then |
|
58 |
AC_DEFINE([LEMON_HAVE_SOPLEX], [1], [Define to 1 if you have SOPLEX.]) |
|
59 |
lx_lp_found=yes |
|
60 |
AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.]) |
|
61 |
AC_MSG_RESULT([yes]) |
|
62 |
else |
|
63 |
SOPLEX_CXXFLAGS="" |
|
64 |
SOPLEX_LDFLAGS="" |
|
65 |
SOPLEX_LIBS="" |
|
66 |
AC_MSG_RESULT([no]) |
|
67 |
fi |
|
68 |
fi |
|
69 |
SOPLEX_LIBS="$SOPLEX_LDFLAGS $SOPLEX_LIBS" |
|
70 |
AC_SUBST(SOPLEX_CXXFLAGS) |
|
71 |
AC_SUBST(SOPLEX_LIBS) |
|
72 |
AM_CONDITIONAL([HAVE_SOPLEX], [test x"$lx_soplex_found" = x"yes"]) |
|
73 |
]) |
1 |
#!/bin/bash |
|
2 |
# |
|
3 |
# This file is a part of LEMON, a generic C++ optimization library. |
|
4 |
# |
|
5 |
# Copyright (C) 2003-2009 |
|
6 |
# Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
|
7 |
# (Egervary Research Group on Combinatorial Optimization, EGRES). |
|
8 |
# |
|
9 |
# Permission to use, modify and distribute this software is granted |
|
10 |
# provided that this copyright notice appears in all copies. For |
|
11 |
# precise terms see the accompanying LICENSE file. |
|
12 |
# |
|
13 |
# This software is provided "AS IS" with no warranty of any kind, |
|
14 |
# express or implied, and with no claim as to its suitability for any |
|
15 |
# purpose. |
|
16 |
|
|
17 |
|
|
18 |
if [ ! -f ~/.lemon-bootstrap ]; then |
|
19 |
echo 'Create ~/.lemon-bootstrap'. |
|
20 |
cat >~/.lemon-bootstrap <<EOF |
|
21 |
# |
|
22 |
# Default settings for bootstraping the LEMON source code repository |
|
23 |
# |
|
24 |
EOF |
|
25 |
fi |
|
26 |
|
|
27 |
source ~/.lemon-bootstrap |
|
28 |
if [ -f ../../../.lemon-bootstrap ]; then source ../../../.lemon-bootstrap; fi |
|
29 |
if [ -f ../../.lemon-bootstrap ]; then source ../../.lemon-bootstrap; fi |
|
30 |
if [ -f ../.lemon-bootstrap ]; then source ../.lemon-bootstrap; fi |
|
31 |
if [ -f ./.lemon-bootstrap ]; then source ./.lemon-bootstrap; fi |
|
32 |
|
|
33 |
|
|
34 |
function augment_config() { |
|
35 |
if [ "x${!1}" == "x" ]; then |
|
36 |
eval $1=$2 |
|
37 |
echo Add "'$1'" to '~/.lemon-bootstrap'. |
|
38 |
echo >>~/.lemon-bootstrap |
|
39 |
echo $3 >>~/.lemon-bootstrap |
|
40 |
echo $1=$2 >>~/.lemon-bootstrap |
|
41 |
fi |
|
42 |
} |
|
43 |
|
|
44 |
augment_config LEMON_INSTALL_PREFIX /usr/local \ |
|
45 |
"# LEMON installation prefix" |
|
46 |
|
|
47 |
augment_config GLPK_PREFIX /usr/local/ \ |
|
48 |
"# GLPK installation root prefix" |
|
49 |
|
|
50 |
augment_config COIN_OR_PREFIX /usr/local/coin-or \ |
|
51 |
"# COIN-OR installation root prefix (used for CLP/CBC)" |
|
52 |
|
|
53 |
augment_config SOPLEX_PREFIX /usr/local/soplex \ |
|
54 |
"# Soplex build prefix" |
|
55 |
|
|
56 |
|
|
57 |
function ask() { |
|
58 |
echo -n "$1 [$2]? " |
|
59 |
read _an |
|
60 |
if [ "x$_an" == "x" ]; then |
|
61 |
ret="$2" |
|
62 |
else |
|
63 |
ret=$_an |
|
64 |
fi |
|
65 |
} |
|
66 |
|
|
67 |
function yesorno() { |
|
68 |
ret='rossz' |
|
69 |
while [ "$ret" != "y" -a "$ret" != "n" -a "$ret" != "yes" -a "$ret" != "no" ]; do |
|
70 |
ask "$1" "$2" |
|
71 |
done |
|
72 |
if [ "$ret" != "y" -a "$ret" != "yes" ]; then |
|
73 |
return 1 |
|
74 |
else |
|
75 |
return 0 |
|
76 |
fi |
|
77 |
} |
|
78 |
|
|
79 |
if yesorno "External build" "n" |
|
80 |
then |
|
81 |
CONFIGURE_PATH=".." |
|
82 |
else |
|
83 |
CONFIGURE_PATH="." |
|
84 |
if yesorno "Autoreconf" "y" |
|
85 |
then |
|
86 |
AUTORE=yes |
|
87 |
else |
|
88 |
AUTORE=no |
|
89 |
fi |
|
90 |
fi |
|
91 |
|
|
92 |
if yesorno "Optimize" "n" |
|
93 |
then |
|
94 |
opt_flags=' -O2' |
|
95 |
else |
|
96 |
opt_flags='' |
|
97 |
fi |
|
98 |
|
|
99 |
if yesorno "Stop on warning" "y" |
|
100 |
then |
|
101 |
werror_flags=' -Werror' |
|
102 |
else |
|
103 |
werror_flags='' |
|
104 |
fi |
|
105 |
|
|
106 |
cxx_flags="CXXFLAGS=-ggdb$opt_flags$werror_flags" |
|
107 |
|
|
108 |
if yesorno "Check with valgrind" "n" |
|
109 |
then |
|
110 |
valgrind_flags=' --enable-valgrind' |
|
111 |
else |
|
112 |
valgrind_flags='' |
|
113 |
fi |
|
114 |
|
|
115 |
if [ -f ${GLPK_PREFIX}/include/glpk.h ]; then |
|
116 |
if yesorno "Use GLPK" "y" |
|
117 |
then |
|
118 |
glpk_flag="--with-glpk=$GLPK_PREFIX" |
|
119 |
else |
|
120 |
glpk_flag="--without-glpk" |
|
121 |
fi |
|
122 |
else |
|
123 |
glpk_flag="--without-glpk" |
|
124 |
fi |
|
125 |
|
|
126 |
if [ -f ${COIN_OR_PREFIX}/include/coin/config_coinutils.h ]; then |
|
127 |
if yesorno "Use COIN-OR (CBC/CLP)" "n" |
|
128 |
then |
|
129 |
coin_flag="--with-coin=$COIN_OR_PREFIX" |
|
130 |
else |
|
131 |
coin_flag="--without-coin" |
|
132 |
fi |
|
133 |
else |
|
134 |
coin_flag="--without-coin" |
|
135 |
fi |
|
136 |
|
|
137 |
if [ -f ${SOPLEX_PREFIX}/src/soplex.h ]; then |
|
138 |
if yesorno "Use Soplex" "n" |
|
139 |
then |
|
140 |
soplex_flag="--with-soplex=$SOPLEX_PREFIX" |
|
141 |
else |
|
142 |
soplex_flag="--without-soplex" |
|
143 |
fi |
|
144 |
else |
|
145 |
soplex_flag="--without-soplex" |
|
146 |
fi |
|
147 |
|
|
148 |
if [ "x$AUTORE" == "xyes" ]; then |
|
149 |
autoreconf -vif; |
|
150 |
fi |
|
151 |
${CONFIGURE_PATH}/configure --prefix=$LEMON_INSTALL_PREFIX \ |
|
152 |
$valgrind_flags \ |
|
153 |
"$cxx_flags" \ |
|
154 |
$glpk_flag \ |
|
155 |
$coin_flag \ |
|
156 |
$soplex_flag \ |
|
157 |
$* |
1 |
#!/bin/bash |
|
2 |
# |
|
3 |
# This file is a part of LEMON, a generic C++ optimization library. |
|
4 |
# |
|
5 |
# Copyright (C) 2003-2009 |
|
6 |
# Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
|
7 |
# (Egervary Research Group on Combinatorial Optimization, EGRES). |
|
8 |
# |
|
9 |
# Permission to use, modify and distribute this software is granted |
|
10 |
# provided that this copyright notice appears in all copies. For |
|
11 |
# precise terms see the accompanying LICENSE file. |
|
12 |
# |
|
13 |
# This software is provided "AS IS" with no warranty of any kind, |
|
14 |
# express or implied, and with no claim as to its suitability for any |
|
15 |
# purpose. |
|
16 |
|
|
17 |
set -e |
|
18 |
|
|
19 |
if [ $# = 0 ]; then |
|
20 |
echo "Usage: $0 release-id" |
|
21 |
exit 1 |
|
22 |
else |
|
23 |
export LEMON_VERSION=$1 |
|
24 |
fi |
|
25 |
|
|
26 |
echo '*****************************************************************' |
|
27 |
echo ' Start making release tarballs for version '${LEMON_VERSION} |
|
28 |
echo '*****************************************************************' |
|
29 |
|
|
30 |
autoreconf -vif |
|
31 |
./configure |
|
32 |
|
|
33 |
make |
|
34 |
make html |
|
35 |
make distcheck |
|
36 |
tar xf lemon-${LEMON_VERSION}.tar.gz |
|
37 |
zip -r lemon-${LEMON_VERSION}.zip lemon-${LEMON_VERSION} |
|
38 |
mv lemon-${LEMON_VERSION}/doc/html lemon-doc-${LEMON_VERSION} |
|
39 |
tar czf lemon-doc-${LEMON_VERSION}.tar.gz lemon-doc-${LEMON_VERSION} |
|
40 |
zip -r lemon-doc-${LEMON_VERSION}.zip lemon-doc-${LEMON_VERSION} |
|
41 |
tar czf lemon-nodoc-${LEMON_VERSION}.tar.gz lemon-${LEMON_VERSION} |
|
42 |
zip -r lemon-nodoc-${LEMON_VERSION}.zip lemon-${LEMON_VERSION} |
|
43 |
hg tag -m 'LEMON '${LEMON_VERSION}' released ('$(hg par --template="{node|short}")' tagged as r'${LEMON_VERSION}')' r${LEMON_VERSION} |
|
44 |
|
|
45 |
rm -rf lemon-${LEMON_VERSION} lemon-doc-${LEMON_VERSION} |
|
46 |
|
|
47 |
echo '*****************************************************************' |
|
48 |
echo ' Release '${LEMON_VERSION}' has been created' |
|
49 |
echo '*****************************************************************' |
1 |
if USE_VALGRIND |
|
2 |
TESTS_ENVIRONMENT=$(top_srcdir)/scripts/valgrind-wrapper.sh |
|
3 |
endif |
|
4 |
|
|
5 |
EXTRA_DIST += \ |
|
6 |
test/CMakeLists.txt |
|
7 |
|
|
8 |
noinst_HEADERS += \ |
|
9 |
test/graph_test.h \ |
|
10 |
test/test_tools.h |
|
11 |
|
|
12 |
check_PROGRAMS += \ |
|
13 |
test/adaptors_test \ |
|
14 |
test/bellman_ford_test \ |
|
15 |
test/bfs_test \ |
|
16 |
test/circulation_test \ |
|
17 |
test/connectivity_test \ |
|
18 |
test/counter_test \ |
|
19 |
test/dfs_test \ |
|
20 |
test/digraph_test \ |
|
21 |
test/dijkstra_test \ |
|
22 |
test/dim_test \ |
|
23 |
test/edge_set_test \ |
|
24 |
test/error_test \ |
|
25 |
test/euler_test \ |
|
26 |
test/fractional_matching_test \ |
|
27 |
test/gomory_hu_test \ |
|
28 |
test/graph_copy_test \ |
|
29 |
test/graph_test \ |
|
30 |
test/graph_utils_test \ |
|
31 |
test/hao_orlin_test \ |
|
32 |
test/heap_test \ |
|
33 |
test/kruskal_test \ |
|
34 |
test/lgf_test \ |
|
35 |
test/maps_test \ |
|
36 |
test/matching_test \ |
|
37 |
test/max_cardinality_search_test \ |
|
38 |
test/max_clique_test \ |
|
39 |
test/min_cost_arborescence_test \ |
|
40 |
test/min_cost_flow_test \ |
|
41 |
test/min_mean_cycle_test \ |
|
42 |
test/nagamochi_ibaraki_test \ |
|
43 |
test/path_test \ |
|
44 |
test/planarity_test \ |
|
45 |
test/preflow_test \ |
|
46 |
test/radix_sort_test \ |
|
47 |
test/random_test \ |
|
48 |
test/suurballe_test \ |
|
49 |
test/test_tools_fail \ |
|
50 |
test/test_tools_pass \ |
|
51 |
test/time_measure_test \ |
|
52 |
test/unionfind_test |
|
53 |
|
|
54 |
test_test_tools_pass_DEPENDENCIES = demo |
|
55 |
|
|
56 |
if HAVE_LP |
|
57 |
check_PROGRAMS += test/lp_test |
|
58 |
endif HAVE_LP |
|
59 |
if HAVE_MIP |
|
60 |
check_PROGRAMS += test/mip_test |
|
61 |
endif HAVE_MIP |
|
62 |
|
|
63 |
TESTS += $(check_PROGRAMS) |
|
64 |
XFAIL_TESTS += test/test_tools_fail$(EXEEXT) |
|
65 |
|
|
66 |
test_adaptors_test_SOURCES = test/adaptors_test.cc |
|
67 |
test_bellman_ford_test_SOURCES = test/bellman_ford_test.cc |
|
68 |
test_bfs_test_SOURCES = test/bfs_test.cc |
|
69 |
test_circulation_test_SOURCES = test/circulation_test.cc |
|
70 |
test_counter_test_SOURCES = test/counter_test.cc |
|
71 |
test_connectivity_test_SOURCES = test/connectivity_test.cc |
|
72 |
test_dfs_test_SOURCES = test/dfs_test.cc |
|
73 |
test_digraph_test_SOURCES = test/digraph_test.cc |
|
74 |
test_dijkstra_test_SOURCES = test/dijkstra_test.cc |
|
75 |
test_dim_test_SOURCES = test/dim_test.cc |
|
76 |
test_edge_set_test_SOURCES = test/edge_set_test.cc |
|
77 |
test_error_test_SOURCES = test/error_test.cc |
|
78 |
test_euler_test_SOURCES = test/euler_test.cc |
|
79 |
test_fractional_matching_test_SOURCES = test/fractional_matching_test.cc |
|
80 |
test_gomory_hu_test_SOURCES = test/gomory_hu_test.cc |
|
81 |
test_graph_copy_test_SOURCES = test/graph_copy_test.cc |
|
82 |
test_graph_test_SOURCES = test/graph_test.cc |
|
83 |
test_graph_utils_test_SOURCES = test/graph_utils_test.cc |
|
84 |
test_hao_orlin_test_SOURCES = test/hao_orlin_test.cc |
|
85 |
test_heap_test_SOURCES = test/heap_test.cc |
|
86 |
test_kruskal_test_SOURCES = test/kruskal_test.cc |
|
87 |
test_lgf_test_SOURCES = test/lgf_test.cc |
|
88 |
test_lp_test_SOURCES = test/lp_test.cc |
|
89 |
test_maps_test_SOURCES = test/maps_test.cc |
|
90 |
test_mip_test_SOURCES = test/mip_test.cc |
|
91 |
test_matching_test_SOURCES = test/matching_test.cc |
|
92 |
test_max_cardinality_search_test_SOURCES = test/max_cardinality_search_test.cc |
|
93 |
test_max_clique_test_SOURCES = test/max_clique_test.cc |
|
94 |
test_min_cost_arborescence_test_SOURCES = test/min_cost_arborescence_test.cc |
|
95 |
test_min_cost_flow_test_SOURCES = test/min_cost_flow_test.cc |
|
96 |
test_min_mean_cycle_test_SOURCES = test/min_mean_cycle_test.cc |
|
97 |
test_nagamochi_ibaraki_test_SOURCES = test/nagamochi_ibaraki_test.cc |
|
98 |
test_path_test_SOURCES = test/path_test.cc |
|
99 |
test_planarity_test_SOURCES = test/planarity_test.cc |
|
100 |
test_preflow_test_SOURCES = test/preflow_test.cc |
|
101 |
test_radix_sort_test_SOURCES = test/radix_sort_test.cc |
|
102 |
test_suurballe_test_SOURCES = test/suurballe_test.cc |
|
103 |
test_random_test_SOURCES = test/random_test.cc |
|
104 |
test_test_tools_fail_SOURCES = test/test_tools_fail.cc |
|
105 |
test_test_tools_pass_SOURCES = test/test_tools_pass.cc |
|
106 |
test_time_measure_test_SOURCES = test/time_measure_test.cc |
|
107 |
test_unionfind_test_SOURCES = test/unionfind_test.cc |
1 |
EXTRA_DIST += \ |
|
2 |
tools/CMakeLists.txt |
|
3 |
|
|
4 |
if WANT_TOOLS |
|
5 |
|
|
6 |
bin_PROGRAMS += \ |
|
7 |
tools/dimacs-solver \ |
|
8 |
tools/dimacs-to-lgf \ |
|
9 |
tools/lgf-gen |
|
10 |
|
|
11 |
dist_bin_SCRIPTS += tools/lemon-0.x-to-1.x.sh |
|
12 |
|
|
13 |
endif WANT_TOOLS |
|
14 |
|
|
15 |
tools_dimacs_solver_SOURCES = tools/dimacs-solver.cc |
|
16 |
tools_dimacs_to_lgf_SOURCES = tools/dimacs-to-lgf.cc |
|
17 |
tools_lgf_gen_SOURCES = tools/lgf-gen.cc |
0 comments (0 inline)