16
                         3
                         0
                     
                 
                    10
32
80
157
125
107
| ... | ... | 
		@@ -4,12 +4,12 @@  | 
| 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 | 
		)  | 
| 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)