COIN-OR::LEMON - Graph Library

source: lemon-0.x/config/lp.m4 @ 1385:49d1ca28ebd8

Last change on this file since 1385:49d1ca28ebd8 was 1385:49d1ca28ebd8, checked in by Akos Ladanyi, 14 years ago

Don't set {GLPK,CPLEX}_{CFLAGS,LIBS} if the check fails.

File size: 4.1 KB
Line 
1AC_DEFUN([LX_CHECK_GLPK],
2[
3  AC_ARG_WITH([glpk],
4AS_HELP_STRING([--with-glpk@<:@=PREFIX@:>@], [search for GLPK under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@])
5AS_HELP_STRING([--without-glpk], [disable checking for GLPK]),
6              [], [with_glpk=yes])
7
8  AC_ARG_WITH([glpk-includedir],
9AS_HELP_STRING([--with-glpk-includedir=DIR], [search for GLPK headers in DIR]),
10              [], [with_glpk_includedir=no])
11
12  AC_ARG_WITH([glpk-libdir],
13AS_HELP_STRING([--with-glpk-libdir=DIR], [search for GLPK libraries in DIR]),
14              [], [with_glpk_libdir=no])
15
16  lx_glpk_found=no
17  if test x"$with_glpk" != x"no"; then
18    AC_MSG_CHECKING([for GLPK])
19
20    if test x"$with_glpk_includedir" != x"no"; then
21      GLPK_CFLAGS="-I$with_glpk_includedir"
22    elif test x"$with_glpk" != x"yes"; then
23      GLPK_CFLAGS="-I$with_glpk/include"
24    fi
25
26    if test x"$with_glpk_libdir" != x"no"; then
27      GLPK_LDFLAGS="-L$with_glpk_libdir"
28    elif test x"$with_glpk" != x"yes"; then
29      GLPK_LDFLAGS="-L$with_glpk/lib"
30    fi
31    GLPK_LIBS="-lglpk"
32
33    lx_save_cxxflags="$CXXFLAGS"
34    lx_save_ldflags="$LDFLAGS"
35    lx_save_libs="$LIBS"
36    CXXFLAGS="$GLPK_CFLAGS"
37    LDFLAGS="$GLPK_LDFLAGS"
38    LIBS="$GLPK_LIBS"
39
40    lx_glpk_test_prog='
41      extern "C" {
42      #include <glpk.h>
43      }
44
45      int main(int argc, char* argv[])
46      {
47        LPX *lp;
48        lp = lpx_create_prob();
49        lpx_delete_prob(lp);
50        return 0;
51      }'
52
53    AC_LANG_PUSH(C++)
54    AC_LINK_IFELSE([$lx_glpk_test_prog], [lx_glpk_found=yes], [lx_glpk_found=no])
55    AC_LANG_POP(C++)
56
57    CXXFLAGS="$lx_save_cxxflags"
58    LDFLAGS="$lx_save_ldflags"
59    LIBS="$lx_save_libs"
60
61    if test x"$lx_glpk_found" = x"yes"; then
62      AC_DEFINE([HAVE_GLPK], [1], [Define to 1 if you have GLPK.])
63      AC_MSG_RESULT([yes])
64    else
65      $GLPK_CFLAGS=""
66      $GLPK_LDFLAGS=""
67      $GLPK_LIBS=""
68      AC_MSG_RESULT([no])
69    fi
70  fi
71  GLPK_LIBS="$GLPK_LDFLAGS $GLPK_LIBS"
72  AC_SUBST(GLPK_CFLAGS)
73  AC_SUBST(GLPK_LIBS)
74  AM_CONDITIONAL([HAVE_GLPK], [test x"$lx_glpk_found" = x"yes"])
75])
76
77
78AC_DEFUN([LX_CHECK_CPLEX],
79[
80  AC_ARG_WITH([cplex],
81AS_HELP_STRING([--with-cplex@<:@=PREFIX@:>@], [search for CPLEX under PREFIX or under the default search paths if PREFIX is not given @<:@default@:>@])
82AS_HELP_STRING([--without-cplex], [disable checking for CPLEX]),
83              [], [with_cplex=yes])
84
85  AC_ARG_WITH([cplex-includedir],
86AS_HELP_STRING([--with-cplex-includedir=DIR], [search for CPLEX headers in DIR]),
87              [], [with_cplex_includedir=no])
88
89  AC_ARG_WITH([cplex-libdir],
90AS_HELP_STRING([--with-cplex-libdir=DIR], [search for CPLEX libraries in DIR]),
91              [], [with_cplex_libdir=no])
92
93  lx_cplex_found=no
94  if test x"$with_cplex" != x"no"; then
95    AC_MSG_CHECKING([for CPLEX])
96
97    if test x"$with_cplex_includedir" != x"no"; then
98      CPLEX_CFLAGS="-I$with_cplex_includedir"
99    elif test x"$with_cplex" != x"yes"; then
100      CPLEX_CFLAGS="-I$with_cplex/include"
101    fi
102
103    if test x"$with_cplex_libdir" != x"no"; then
104      CPLEX_LDFLAGS="-L$with_cplex_libdir"
105    elif test x"$with_cplex" != x"yes"; then
106      CPLEX_LDFLAGS="-L$with_cplex/lib"
107    fi
108    CPLEX_LIBS="-lcplex -lm -lpthread"
109
110    lx_save_cxxflags="$CXXFLAGS"
111    lx_save_ldflags="$LDFLAGS"
112    lx_save_libs="$LIBS"
113    CXXFLAGS="$CPLEX_CFLAGS"
114    LDFLAGS="$CPLEX_LDFLAGS"
115    LIBS="$CPLEX_LIBS"
116
117    lx_cplex_test_prog='
118      extern "C" {
119      #include <ilcplex/cplex.h>
120      }
121
122      int main(int argc, char* argv[])
123      {
124        CPXENVptr env = NULL;
125        return 0;
126      }'
127
128    AC_LANG_PUSH(C++)
129    AC_LINK_IFELSE([$lx_cplex_test_prog], [lx_cplex_found=yes], [lx_cplex_found=no])
130    AC_LANG_POP(C++)
131
132    CXXFLAGS="$lx_save_cxxflags"
133    LDFLAGS="$lx_save_ldflags"
134    LIBS="$lx_save_libs"
135
136    if test x"$lx_cplex_found" = x"yes"; then
137      AC_DEFINE([HAVE_CPLEX], [1], [Define to 1 if you have CPLEX.])
138      AC_MSG_RESULT([yes])
139    else
140      $CPLEX_CFLAGS=""
141      $CPLEX_LDFLAGS=""
142      $CPLEX_LIBS=""
143      AC_MSG_RESULT([no])
144    fi
145  fi
146  CPLEX_LIBS="$CPLEX_LDFLAGS $CPLEX_LIBS"
147  AC_SUBST(CPLEX_CFLAGS)
148  AC_SUBST(CPLEX_LIBS)
149  AM_CONDITIONAL([HAVE_CPLEX], [test x"$lx_cplex_found" = x"yes"])
150])
Note: See TracBrowser for help on using the repository browser.