configure.ac
author kpeter
Thu, 13 Nov 2008 15:29:04 +0000
changeset 2629 84354c78b068
parent 2568 046c055217f6
permissions -rw-r--r--
Improved constructors for min cost flow classes
Removing the non-zero lower bounds is faster
     1 dnl Process this file with autoconf to produce a configure script.
     2 
     3 dnl Version information.
     4 m4_define([lemon_version_major], [0])
     5 m4_define([lemon_version_minor], [7])
     6 m4_define([lemon_version_micro], [90])
     7 m4_define([lemon_version_nano], [])
     8 m4_define([lemon_version_tag], [svn])
     9 m4_define([lemon_svn_revision], [m4_normalize(esyscmd([svn info |grep ^Revision |cut -d ' ' -f 2]))])
    10 m4_define([lemon_version], [lemon_version_major().lemon_version_minor()ifelse(lemon_version_micro(), [], [], [.lemon_version_micro()])ifelse(lemon_version_nano(), [], [], [.lemon_version_nano()])ifelse(lemon_version_tag(), [], [], lemon_version_tag(), [svn], [[_]lemon_version_tag()[]lemon_svn_revision()], [[_]lemon_version_tag()])])
    11 
    12 AC_PREREQ([2.59])
    13 AC_INIT([LEMON], [lemon_version()], [etik-ol@cs.elte.hu], [lemon])
    14 AC_CONFIG_AUX_DIR([build-aux])
    15 AC_CONFIG_MACRO_DIR([m4])
    16 AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects nostdinc])
    17 AC_CONFIG_SRCDIR([lemon/list_graph.h])
    18 AC_CONFIG_HEADERS([config.h lemon/config.h])
    19 
    20 lx_cmdline_cxxflags_set=${CXXFLAGS+set}
    21 
    22 dnl Checks for programs.
    23 AC_PROG_CXX
    24 AC_PROG_CXXCPP
    25 AC_PROG_INSTALL
    26 AC_DISABLE_SHARED
    27 AC_PROG_LIBTOOL
    28 
    29 if test x"$lx_cmdline_cxxflags_set" != x"set" -a "$GXX" = yes; then
    30   CXXFLAGS="$CXXFLAGS -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 -Woverloaded-virtual -ansi -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas"
    31 fi
    32 
    33 AC_CHECK_PROG([doxygen_found],[doxygen],[yes],[no])
    34 
    35 dnl Checks for libraries.
    36 LX_CHECK_GLPK
    37 LX_CHECK_CPLEX
    38 LX_CHECK_SOPLEX
    39 
    40 dnl Enable/disable installing the documentation
    41 AC_ARG_ENABLE([doc],
    42 AS_HELP_STRING([--enable-doc@<:@=yes|no|full@:>@], [build the documentation (full enables internal documentation too) @<:@default=yes@:>@])
    43 AS_HELP_STRING([--disable-doc], [do not build the documentation]),
    44               [], [enable_doc=yes])
    45 
    46 AC_MSG_CHECKING([whether to build the documention])
    47 case "$enable_doc" in
    48   yes)
    49     DOXYGEN_INTERNAL_DOCS=NO
    50     AC_MSG_RESULT([yes])
    51     ;;
    52   full)
    53     DOXYGEN_INTERNAL_DOCS=YES
    54     AC_MSG_RESULT([full])
    55     ;;
    56   no)
    57     DOXYGEN_INTERNAL_DOCS=NO
    58     AC_MSG_RESULT([no])
    59     ;;
    60   *)
    61     AC_MSG_ERROR([bad value $enable_doc for option --enable-doc])
    62     ;;
    63 esac
    64 AC_SUBST(DOXYGEN_INTERNAL_DOCS)
    65 AM_CONDITIONAL([WANT_DOC], [test x"$enable_doc" != x"no"])
    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 Disable/enable building the benchmarks
    94 AC_ARG_ENABLE([benchmark],
    95 AS_HELP_STRING([--enable-benchmark], [build the benchmarks])
    96 AS_HELP_STRING([--disable-benchmark], [do not build the benchmarks @<:@default@:>@]),
    97               [], [enable_benchmark=no])
    98 AC_MSG_CHECKING([whether to build the benchmarks])
    99 if test x"$enable_benchmark" != x"no"; then
   100   AC_MSG_RESULT([yes])
   101 else
   102   AC_MSG_RESULT([no])
   103 fi
   104 AM_CONDITIONAL([WANT_BENCHMARK], [test x"$enable_benchmark" != x"no"])
   105 
   106 dnl Checks for header files.
   107 AC_CHECK_HEADERS(limits.h sys/time.h sys/times.h unistd.h)
   108 
   109 dnl Checks for typedefs, structures, and compiler characteristics.
   110 AC_C_CONST
   111 AC_C_INLINE
   112 AC_TYPE_SIZE_T
   113 AC_HEADER_TIME
   114 AC_STRUCT_TM
   115 
   116 dnl Checks for library functions.
   117 AC_HEADER_STDC
   118 AC_CHECK_FUNCS(gettimeofday times ctime_r)
   119 
   120 AC_CONFIG_FILES([
   121 Makefile
   122 lemon.spec
   123 autopackage/default.apspec
   124 doc/Doxyfile
   125 lemon/lemon.pc
   126 ])
   127 
   128 AC_OUTPUT
   129 
   130 echo
   131 echo '****************************** SUMMARY ******************************'
   132 echo
   133 echo Package version............... : $PACKAGE-$VERSION
   134 echo
   135 echo C++ compiler.................. : $CXX
   136 echo C++ compiles flags............ : $CXXFLAGS
   137 echo
   138 echo GLPK support.................. : $lx_glpk_found
   139 echo CPLEX support................. : $lx_cplex_found
   140 echo SOPLEX support................ : $lx_soplex_found
   141 echo
   142 echo build benchmarks.............. : $enable_benchmark
   143 echo build demo programs........... : $enable_demo
   144 echo build additional tools........ : $enable_tools
   145 echo
   146 echo The packace will be installed in
   147 echo -n '  '
   148 echo $prefix.
   149 echo
   150 echo The documentation will be installed in
   151 echo -n '  '
   152 eval echo ${datadir}/doc/$PACKAGE.
   153 echo
   154 echo '*********************************************************************'
   155 
   156 echo
   157 echo configure complete, now type \'make\' and then \'make install\'.
   158 echo