Location: LEMON/LEMON-main/configure.ac

Load file history
4.9 KiB
application/pkix-attr-cert
gravatar
kpeter (Peter Kovacs)
Entirely rework CapacityScaling (#180) - Use the new interface similarly to NetworkSimplex. - Rework the implementation using an efficient internal structure for handling the residual network. This improvement made the code much faster (up to 2-5 times faster on large graphs). - Handle GEQ supply type (LEQ is not supported). - Handle negative costs for arcs of finite capacity. (Note that this algorithm cannot handle arcs of negative cost and infinite upper bound, thus it returns UNBOUNDED if such an arc exists.) - Extend the documentation.
dnl Process this file with autoconf to produce a configure script.
dnl Version information.
m4_define([lemon_version_number],
[m4_normalize(esyscmd([echo ${LEMON_VERSION}]))])
dnl m4_define([lemon_version_number], [])
m4_define([lemon_hg_path], [m4_normalize(esyscmd([./scripts/chg-len.py]))])
m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg id -i 2> /dev/null]))])
m4_define([lemon_version], [ifelse(lemon_version_number(),
[],
[ifelse(lemon_hg_revision(),
[],
[hg-tip],
[lemon_hg_path().lemon_hg_revision()])],
[lemon_version_number()])])
AC_PREREQ([2.59])
AC_INIT([LEMON], [lemon_version()], [lemon-user@lemon.cs.elte.hu], [lemon])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects nostdinc])
AC_CONFIG_SRCDIR([lemon/list_graph.h])
AC_CONFIG_HEADERS([config.h lemon/config.h])
AC_DEFINE([LEMON_VERSION], [lemon_version()], [The version string])
dnl Do compilation tests using the C++ compiler.
AC_LANG([C++])
dnl Check the existence of long long type.
AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
if test x"$long_long_found" = x"yes"; then
AC_DEFINE([LEMON_HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
fi
dnl Checks for programs.
AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_INSTALL
AC_DISABLE_SHARED
AC_PROG_LIBTOOL
AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
AC_CHECK_PROG([python_found],[python],[yes],[no])
AC_CHECK_PROG([gs_found],[gs],[yes],[no])
dnl Detect Intel compiler.
AC_MSG_CHECKING([whether we are using the Intel C++ compiler])
AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER
choke me
#endif], [ICC=[yes]], [ICC=[no]])
if test x"$ICC" = x"yes"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
dnl Set custom compiler flags when using g++.
if test "$GXX" = yes -a "$ICC" = no; then
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"
fi
AC_SUBST([WARNINGCXXFLAGS])
dnl Checks for libraries.
LX_CHECK_GLPK
LX_CHECK_CPLEX
LX_CHECK_SOPLEX
LX_CHECK_COIN
AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"])
AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"])
dnl Disable/enable building the binary tools.
AC_ARG_ENABLE([tools],
AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@])
AS_HELP_STRING([--disable-tools], [do not build additional tools]),
[], [enable_tools=yes])
AC_MSG_CHECKING([whether to build the additional tools])
if test x"$enable_tools" != x"no"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
dnl Support for running test cases using valgrind.
use_valgrind=no
AC_ARG_ENABLE([valgrind],
AS_HELP_STRING([--enable-valgrind], [use valgrind when running tests]),
[use_valgrind=yes])
if [[ "$use_valgrind" = "yes" ]]; then
AC_CHECK_PROG(HAVE_VALGRIND, valgrind, yes, no)
if [[ "$HAVE_VALGRIND" = "no" ]]; then
AC_MSG_ERROR([Valgrind not found in PATH.])
fi
fi
AM_CONDITIONAL(USE_VALGRIND, [test "$use_valgrind" = "yes"])
dnl Checks for header files.
AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
dnl Checks for library functions.
AC_HEADER_STDC
AC_CHECK_FUNCS(gettimeofday times ctime_r)
dnl Add dependencies on files generated by configure.
AC_SUBST([CONFIG_STATUS_DEPENDENCIES],
['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in'])
AC_CONFIG_FILES([
Makefile
demo/Makefile
cmake/version.cmake
doc/Doxyfile
lemon/lemon.pc
])
AC_OUTPUT
echo
echo '****************************** SUMMARY ******************************'
echo
echo Package version............... : $PACKAGE-$VERSION
echo
echo C++ compiler.................. : $CXX
echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS
echo
echo Compiler supports long long... : $long_long_found
echo
echo GLPK support.................. : $lx_glpk_found
echo CPLEX support................. : $lx_cplex_found
echo SOPLEX support................ : $lx_soplex_found
echo CLP support................... : $lx_clp_found
echo CBC support................... : $lx_cbc_found
echo
echo Build additional tools........ : $enable_tools
echo Use valgrind for tests........ : $use_valgrind
echo
echo The packace will be installed in
echo -n ' '
echo $prefix.
echo
echo '*********************************************************************'
echo
echo Configure complete, now type \'make\' and then \'make install\'.
echo