configure.ac
author Alpar Juttner <alpar@cs.elte.hu>
Fri, 21 Dec 2007 00:07:03 +0000
changeset 10 99e499ca560b
child 6 099a4f1844f1
child 17 d0dd44af6fec
permissions -rw-r--r--
Port random.h & Co. from svn -r3422 + some cleanups
- gauss(double std_dev) has been remove for clarity
     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], [6])
     6 m4_define([lemon_version_micro], [90])
     7 m4_define([lemon_version_nano], [])
     8 m4_define([lemon_version_tag], [hg])
     9 m4_define([lemon_hg_revision], [m4_normalize(esyscmd([hg tip |grep ^changeset |cut -d ':' -f 3]))])
    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(), [hg], [[_]lemon_version_tag()[]lemon_hg_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])
    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 doc/Doxyfile
   123 lemon/lemon.pc
   124 ])
   125 
   126 AC_OUTPUT
   127 
   128 echo
   129 echo '****************************** SUMMARY ******************************'
   130 echo
   131 echo Package version............... : $PACKAGE-$VERSION
   132 echo
   133 echo C++ compiler.................. : $CXX
   134 echo C++ compiles flags............ : $CXXFLAGS
   135 echo
   136 echo GLPK support.................. : $lx_glpk_found
   137 echo CPLEX support................. : $lx_cplex_found
   138 echo SOPLEX support................ : $lx_soplex_found
   139 echo
   140 echo build benchmarks.............. : $enable_benchmark
   141 echo build demo programs........... : $enable_demo
   142 echo build additional tools........ : $enable_tools
   143 echo
   144 echo The packace will be installed in
   145 echo -n '  '
   146 echo $prefix.
   147 echo
   148 echo The documentation will be installed in
   149 echo -n '  '
   150 eval echo ${datadir}/doc/$PACKAGE.
   151 echo
   152 echo '*********************************************************************'
   153 
   154 echo
   155 echo configure complete, now type \'make\' and then \'make install\'.
   156 echo