configure.ac
author Peter Kovacs <kpeter@inf.elte.hu>
Fri, 03 Apr 2009 18:59:15 +0200
changeset 608 6ac5d9ae1d3d
parent 508 861a9d5ff283
parent 485 7992dcb0d0e6
child 564 eda12d8ac953
permissions -rw-r--r--
Support real types + numerical stability fix in NS (#254)

- Real types are supported by appropriate inicialization.
- A feature of the XTI spanning tree structure is removed to ensure
numerical stability (could cause problems using integer types).
The node potentials are updated always on the lower subtree,
in order to prevent overflow problems.
The former method isn't notably faster during to our tests.
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@485
    25
dnl Check the existence of long long type.
alpar@485
    26
AC_CHECK_TYPE(long long, [long_long_found=yes], [long_long_found=no])
alpar@485
    27
if test x"$long_long_found" = x"yes"; then
alpar@485
    28
  AC_DEFINE([HAVE_LONG_LONG], [1], [Define to 1 if you have long long.])
alpar@485
    29
fi
alpar@485
    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@478
   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@478
   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@485
   128
echo Compiler supports long long... : $long_long_found
alpar@485
   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