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