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.
     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