1 AC_DEFUN([LX_CHECK_COIN],
 
     4 AS_HELP_STRING([--with-coin@<:@=PREFIX@:>@], [search for CLP under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@])
 
     5 AS_HELP_STRING([--without-coin], [disable checking for CLP]),
 
     8   AC_ARG_WITH([coin-includedir],
 
     9 AS_HELP_STRING([--with-coin-includedir=DIR], [search for CLP headers in DIR]),
 
    10               [], [with_coin_includedir=no])
 
    12   AC_ARG_WITH([coin-libdir],
 
    13 AS_HELP_STRING([--with-coin-libdir=DIR], [search for CLP libraries in DIR]),
 
    14               [], [with_coin_libdir=no])
 
    17   if test x"$with_coin" != x"no"; then
 
    18     AC_MSG_CHECKING([for CLP])
 
    20     if test x"$with_coin_includedir" != x"no"; then
 
    21       CLP_CXXFLAGS="-I$with_coin_includedir"
 
    22     elif test x"$with_coin" != x"yes"; then
 
    23       CLP_CXXFLAGS="-I$with_coin/include"
 
    26     if test x"$with_coin_libdir" != x"no"; then
 
    27       CLP_LDFLAGS="-L$with_coin_libdir"
 
    28     elif test x"$with_coin" != x"yes"; then
 
    29       CLP_LDFLAGS="-L$with_coin/lib"
 
    31     CLP_LIBS="-lClp -lCoinUtils -lm"
 
    33     lx_save_cxxflags="$CXXFLAGS"
 
    34     lx_save_ldflags="$LDFLAGS"
 
    36     CXXFLAGS="$CLP_CXXFLAGS"
 
    37     LDFLAGS="$CLP_LDFLAGS"
 
    41       #include <coin/ClpModel.hpp>
 
    43       int main(int argc, char** argv)
 
    50     AC_LINK_IFELSE([$lx_clp_test_prog], [lx_clp_found=yes], [lx_clp_found=no])
 
    53     CXXFLAGS="$lx_save_cxxflags"
 
    54     LDFLAGS="$lx_save_ldflags"
 
    57     if test x"$lx_clp_found" = x"yes"; then
 
    58       AC_DEFINE([LEMON_HAVE_CLP], [1], [Define to 1 if you have CLP.])
 
    60       AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.])
 
    69   CLP_LIBS="$CLP_LDFLAGS $CLP_LIBS"
 
    70   AC_SUBST(CLP_CXXFLAGS)
 
    72   AM_CONDITIONAL([HAVE_CLP], [test x"$lx_clp_found" = x"yes"])
 
    76   if test x"$lx_clp_found" = x"yes"; then
 
    77     if test x"$with_coin" != x"no"; then
 
    78       AC_MSG_CHECKING([for CBC])
 
    80       if test x"$with_coin_includedir" != x"no"; then
 
    81         CBC_CXXFLAGS="-I$with_coin_includedir"
 
    82       elif test x"$with_coin" != x"yes"; then
 
    83         CBC_CXXFLAGS="-I$with_coin/include"
 
    86       if test x"$with_coin_libdir" != x"no"; then
 
    87         CBC_LDFLAGS="-L$with_coin_libdir"
 
    88       elif test x"$with_coin" != x"yes"; then
 
    89         CBC_LDFLAGS="-L$with_coin/lib"
 
    91       CBC_LIBS="-lOsi -lCbc -lOsiCbc -lCbcSolver -lClp -lOsiClp -lCoinUtils -lVol -lOsiVol -lCgl -lm -llapack -lblas"
 
    93       lx_save_cxxflags="$CXXFLAGS"
 
    94       lx_save_ldflags="$LDFLAGS"
 
    96       CXXFLAGS="$CBC_CXXFLAGS"
 
    97       LDFLAGS="$CBC_LDFLAGS"
 
   101         #include <coin/CbcModel.hpp>
 
   103         int main(int argc, char** argv)
 
   110       AC_LINK_IFELSE([$lx_cbc_test_prog], [lx_cbc_found=yes], [lx_cbc_found=no])
 
   113       CXXFLAGS="$lx_save_cxxflags"
 
   114       LDFLAGS="$lx_save_ldflags"
 
   117       if test x"$lx_cbc_found" = x"yes"; then
 
   118         AC_DEFINE([LEMON_HAVE_CBC], [1], [Define to 1 if you have CBC.])
 
   120         AC_DEFINE([LEMON_HAVE_LP], [1], [Define to 1 if you have any LP solver.])
 
   122         AC_DEFINE([LEMON_HAVE_MIP], [1], [Define to 1 if you have any MIP solver.])
 
   132   CBC_LIBS="$CBC_LDFLAGS $CBC_LIBS"
 
   133   AC_SUBST(CBC_CXXFLAGS)
 
   135   AM_CONDITIONAL([HAVE_CBC], [test x"$lx_cbc_found" = x"yes"])