configure.ac
changeset 7 4d461e9867da
child 6 099a4f1844f1
child 17 d0dd44af6fec
equal deleted inserted replaced
-1:000000000000 0:79b9998494c1
       
     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