configure.ac
author Balazs Dezso <deba@inf.elte.hu>
Thu, 24 Jun 2010 09:27:53 +0200
changeset 891 bb70ad62c95f
parent 678 d1e1cd94bf49
child 744 f8c468367dab
child 929 d3b041452dd8
permissions -rw-r--r--
Fix critical bug in preflow (#372)

The wrong transition between the bound decrease and highest active
heuristics caused the bug. The last node chosen in bound decrease mode
is used in the first iteration in highest active mode.
     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([gs_found],[gs],[yes],[no])
    45 
    46 dnl Detect Intel compiler.
    47 AC_MSG_CHECKING([whether we are using the Intel C++ compiler])
    48 AC_COMPILE_IFELSE([#ifndef __INTEL_COMPILER
    49 choke me
    50 #endif], [ICC=[yes]], [ICC=[no]])
    51 if test x"$ICC" = x"yes"; then
    52   AC_MSG_RESULT([yes])
    53 else
    54   AC_MSG_RESULT([no])
    55 fi
    56 
    57 dnl Set custom compiler flags when using g++.
    58 if test "$GXX" = yes -a "$ICC" = no; then
    59   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"
    60 fi
    61 AC_SUBST([WARNINGCXXFLAGS])
    62 
    63 dnl Checks for libraries.
    64 LX_CHECK_GLPK
    65 LX_CHECK_CPLEX
    66 LX_CHECK_SOPLEX
    67 LX_CHECK_COIN
    68 
    69 AM_CONDITIONAL([HAVE_LP], [test x"$lx_lp_found" = x"yes"])
    70 AM_CONDITIONAL([HAVE_MIP], [test x"$lx_mip_found" = x"yes"])
    71 
    72 dnl Disable/enable building the binary tools.
    73 AC_ARG_ENABLE([tools],
    74 AS_HELP_STRING([--enable-tools], [build additional tools @<:@default@:>@])
    75 AS_HELP_STRING([--disable-tools], [do not build additional tools]),
    76               [], [enable_tools=yes])
    77 AC_MSG_CHECKING([whether to build the additional tools])
    78 if test x"$enable_tools" != x"no"; then
    79   AC_MSG_RESULT([yes])
    80 else
    81   AC_MSG_RESULT([no])
    82 fi
    83 AM_CONDITIONAL([WANT_TOOLS], [test x"$enable_tools" != x"no"])
    84 
    85 dnl Checks for header files.
    86 AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
    87 
    88 dnl Checks for typedefs, structures, and compiler characteristics.
    89 AC_C_CONST
    90 AC_C_INLINE
    91 AC_TYPE_SIZE_T
    92 AC_HEADER_TIME
    93 AC_STRUCT_TM
    94 
    95 dnl Checks for library functions.
    96 AC_HEADER_STDC
    97 AC_CHECK_FUNCS(gettimeofday times ctime_r)
    98 
    99 dnl Add dependencies on files generated by configure.
   100 AC_SUBST([CONFIG_STATUS_DEPENDENCIES],
   101   ['$(top_srcdir)/doc/Doxyfile.in $(top_srcdir)/lemon/lemon.pc.in $(top_srcdir)/cmake/version.cmake.in'])
   102 
   103 AC_CONFIG_FILES([
   104 Makefile
   105 demo/Makefile
   106 cmake/version.cmake
   107 doc/Doxyfile
   108 lemon/lemon.pc
   109 ])
   110 
   111 AC_OUTPUT
   112 
   113 echo
   114 echo '****************************** SUMMARY ******************************'
   115 echo
   116 echo Package version............... : $PACKAGE-$VERSION
   117 echo
   118 echo C++ compiler.................. : $CXX
   119 echo C++ compiles flags............ : $WARNINGCXXFLAGS $CXXFLAGS
   120 echo
   121 echo Compiler supports long long... : $long_long_found
   122 echo
   123 echo GLPK support.................. : $lx_glpk_found
   124 echo CPLEX support................. : $lx_cplex_found
   125 echo SOPLEX support................ : $lx_soplex_found
   126 echo CLP support................... : $lx_clp_found
   127 echo CBC support................... : $lx_cbc_found
   128 echo
   129 echo Build additional tools........ : $enable_tools
   130 echo
   131 echo The packace will be installed in
   132 echo -n '  '
   133 echo $prefix.
   134 echo
   135 echo '*********************************************************************'
   136 
   137 echo
   138 echo Configure complete, now type \'make\' and then \'make install\'.
   139 echo