configure.ac
author Peter Kovacs <kpeter@inf.elte.hu>
Fri, 17 Apr 2009 18:04:36 +0200
changeset 601 e6927fe719e6
parent 481 861a9d5ff283
parent 496 7992dcb0d0e6
child 556 eda12d8ac953
permissions -rw-r--r--
Support >= and <= constraints in NetworkSimplex (#219, #234)

By default the same inequality constraints are supported as by
Circulation (the GEQ form), but the LEQ form can also be selected
using the problemType() function.

The documentation of the min. cost flow module is reworked and
extended with important notes and explanations about the different
variants of the problem and about the dual solution and optimality
conditions.
     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]))])
     9 m4_define([lemon_version], [ifelse(lemon_version_number(),
    10 			   [],
    11 			   [lemon_hg_path().lemon_hg_revision()],
    12 			   [lemon_version_number()])])
    13 
    14 AC_PREREQ([2.59])
    15 AC_INIT([LEMON], [lemon_version()], [lemon-user@lemon.cs.elte.hu], [lemon])
    16 AC_CONFIG_AUX_DIR([build-aux])
    17 AC_CONFIG_MACRO_DIR([m4])
    18 AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects nostdinc])
    19 AC_CONFIG_SRCDIR([lemon/list_graph.h])
    20 AC_CONFIG_HEADERS([config.h lemon/config.h])
    21 
    22 dnl Do compilation tests using the C++ compiler.
    23 AC_LANG([C++])
    24 
    25 dnl Check the existence of long long type.
    26 AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
    27 if test x"$long_long_found" = x"yes"; then
    28   AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
    29 fi
    30 
    31 dnl Checks for programs.
    32 AC_PROG_CXX
    33 AC_PROG_CXXCPP
    34 AC_PROG_INSTALL
    35 AC_DISABLE_SHARED
    36 AC_PROG_LIBTOOL
    37 
    38 AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
    39 AC_CHECK_PROG([gs_found],[gs],[yes],[no])
    40 
    41 dnl Detect Intel compiler.
    42 AC_MSG_CHECKING([whether we are using the Intel C++ compiler])
    43 AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER
    44 choke me
    45 #endif], [ICC=[yes]], [ICC=[no]])
    46 if test x"$ICC" = x"yes"; then
    47   AC_MSG_RESULT([yes])
    48 else
    49   AC_MSG_RESULT([no])
    50 fi
    51 
    52 dnl Set custom compiler flags when using g++.
    53 if test "$GXX" = yes -a "$ICC" = no; then
    54   WARNINGCXXFLAGS="-Wall -W -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy -Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings -Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align -Wsign-promo -Woverloaded-virtual -ansi -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas"
    55 fi
    56 AC_SUBST([WARNINGCXXFLAGS])
    57 
    58 dnl Checks for libraries.
    59 LX_CHECK_GLPK
    60 LX_CHECK_CPLEX
    61 LX_CHECK_SOPLEX
    62 LX_CHECK_CLP
    63 
    64 AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"])
    65 AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"])
    66 
    67 dnl Disable/enable building the demo programs.
    68 AC_ARG_ENABLE([demo],
    69 AS_HELP_STRING([--enable-demo], [build the demo programs])
    70 AS_HELP_STRING([--disable-demo], [do not build the demo programs @<:@default@:>@]),
    71               [], [enable_demo=no])
    72 AC_MSG_CHECKING([whether to build the demo programs])
    73 if test x"$enable_demo" != x"no"; then
    74   AC_MSG_RESULT([yes])
    75 else
    76   AC_MSG_RESULT([no])
    77 fi
    78 AM_CONDITIONAL([WANT_DEMO], [test x"$enable_demo" != x"no"])
    79 
    80 dnl Disable/enable building the binary tools.
    81 AC_ARG_ENABLE([tools],
    82 AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@])
    83 AS_HELP_STRING([--disable-tools], [do not build additional tools]),
    84               [], [enable_tools=yes])
    85 AC_MSG_CHECKING([whether to build the additional tools])
    86 if test x"$enable_tools" != x"no"; then
    87   AC_MSG_RESULT([yes])
    88 else
    89   AC_MSG_RESULT([no])
    90 fi
    91 AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
    92 
    93 dnl Checks for header files.
    94 AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
    95 
    96 dnl Checks for typedefs, structures, and compiler characteristics.
    97 AC_C_CONST
    98 AC_C_INLINE
    99 AC_TYPE_SIZE_T
   100 AC_HEADER_TIME
   101 AC_STRUCT_TM
   102 
   103 dnl Checks for library functions.
   104 AC_HEADER_STDC
   105 AC_CHECK_FUNCS(gettimeofday times ctime_r)
   106 
   107 dnl Add dependencies on files generated by configure.
   108 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],
   109   ['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in'])
   110 
   111 AC_CONFIG_FILES([
   112 Makefile
   113 cmake/version.cmake
   114 doc/Doxyfile
   115 lemon/lemon.pc
   116 ])
   117 
   118 AC_OUTPUT
   119 
   120 echo
   121 echo '****************************** SUMMARY ******************************'
   122 echo
   123 echo Package version............... : $PACKAGE-$VERSION
   124 echo
   125 echo C++ compiler.................. : $CXX
   126 echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS
   127 echo
   128 echo Compiler supports long long... : $long_long_found
   129 echo
   130 echo GLPK support.................. : $lx_glpk_found
   131 echo CPLEX support................. : $lx_cplex_found
   132 echo SOPLEX support................ : $lx_soplex_found
   133 echo CLP support................... : $lx_clp_found
   134 echo
   135 echo Build demo programs........... : $enable_demo
   136 echo Build additional tools........ : $enable_tools
   137 echo
   138 echo The packace will be installed in
   139 echo -n '  '
   140 echo $prefix.
   141 echo
   142 echo '*********************************************************************'
   143 
   144 echo
   145 echo Configure complete, now type \'make\' and then \'make install\'.
   146 echo