configure fix for building with glpk on redhat, perhaps others
authorMorgan Deters <mdeters@cs.nyu.edu>
Thu, 16 May 2013 22:55:08 +0000 (18:55 -0400)
committerMorgan Deters <mdeters@cs.nyu.edu>
Thu, 16 May 2013 22:55:47 +0000 (18:55 -0400)
config/glpk.m4
src/theory/arith/approx_simplex.cpp

index 7380ad0e2cb35ff4256a87133345dfbed8d678e7..6c59a3094861ca66b9fef8887aa55b14e6cd82e7 100644 (file)
@@ -13,8 +13,10 @@ elif test "$with_glpk" = yes; then
 
   dnl Try a bunch of combinations until something works :-/
   GLPK_LIBS=
-  AC_CHECK_HEADER([glpk.h], [],
-    [AC_MSG_FAILURE([cannot find glpk.h, the GLPK header!])])
+  AC_CHECK_HEADERS([glpk/glpk.h glpk.h], [break])
+  if test x$ac_cv_header_glpk_glpk_h = xno && test x$ac_cv_header_glpk_h = xno; then
+    AC_MSG_FAILURE([cannot find glpk.h, the GLPK header!])
+  fi
   AC_MSG_CHECKING([how to link glpk])
   CVC4_TRY_GLPK_WITH([])
   CVC4_TRY_GLPK_WITH([-lgmp])
@@ -88,7 +90,11 @@ if test -z "$GLPK_LIBS"; then
   AC_LANG_PUSH([C++])
   cvc4_save_LIBS="$LIBS"
   LIBS="-lglpk $1"
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <glpk.h>],
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([#ifdef HAVE_GLPK_GLPK_H]
+                                  [#include <glpk/glpk.h>]
+                                  [#else]
+                                  [#include <glpk.h>]
+                                  [#endif],
                                   [int i = lpx_get_int_parm(NULL, LPX_K_ITCNT)])],
     [GLPK_LIBS="-lglpk $1"],
     [])
@@ -107,7 +113,11 @@ if test -z "$GLPK_LIBS"; then
   cvc4_save_LDFLAGS="$LDFLAGS"
   LDFLAGS="-static $LDFLAGS"
   LIBS="-lglpk $1"
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <glpk.h>],
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([#ifdef HAVE_GLPK_GLPK_H]
+                                  [#include <glpk/glpk.h>]
+                                  [#else]
+                                  [#include <glpk.h>]
+                                  [#endif],
                                   [int i = lpx_get_int_parm(NULL, LPX_K_ITCNT)])],
     [GLPK_LIBS="-lglpk $1"],
     [])
index 47f15d8c7357381f0a22927b0a28774a2511efc4..0f5a0fd4e11d0dc01aedc7ec474aa67c3223f22f 100644 (file)
@@ -116,8 +116,14 @@ public:
 /* Begin the declaration of GLPK specific code. */
 #ifdef CVC4_USE_GLPK
 extern "C" {
-#include <glpk.h>
-}
+/* Sometimes the header is in a subdirectory glpk/, sometimes not.
+ * The configure script figures it out. */
+#ifdef HAVE_GLPK_GLPK_H
+#  include <glpk/glpk.h>
+#else /* HAVE_GLPK_GLPK_H */
+#  include <glpk.h>
+#endif /* HAVE_GLPK_GLPK_H */
+}/* extern "C" */
 
 namespace CVC4 {
 namespace theory {