about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorDan Liew <delcypher@gmail.com>2014-11-02 00:13:15 +0000
committerDan Liew <delcypher@gmail.com>2014-11-02 00:13:15 +0000
commit50073b4689c3a1b9eefd5befddf0e15ae0d93348 (patch)
tree5fd7d80e2367ff07476f90128484c946ecbcae51
parent5b3d62b48169dd8dcffe374a565891a99e434c79 (diff)
parent5c692a7feb6a378e83de58927556ff587e7d2e47 (diff)
downloadklee-50073b4689c3a1b9eefd5befddf0e15ae0d93348.tar.gz
Merge pull request #174 from delcypher/allow_stp_installed_in_root
Allow stp installed in root
-rw-r--r--Makefile.common4
-rw-r--r--Makefile.config.in9
-rw-r--r--autoconf/configure.ac68
-rwxr-xr-xconfigure114
-rw-r--r--tools/kleaver/Makefile4
-rw-r--r--tools/klee/Makefile4
-rw-r--r--unittests/Solver/Makefile4
7 files changed, 51 insertions, 156 deletions
diff --git a/Makefile.common b/Makefile.common
index e6de9f1e..92f5118b 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -38,8 +38,8 @@ endif
 # This is filename that KLEE will look for when trying to load klee-uclibc
 KLEE_UCLIBC_BCA_NAME="klee-uclibc.bca"
 
-LD.Flags += -L$(STP_ROOT)/lib
-CXX.Flags += -I$(STP_ROOT)/include
+LD.Flags += $(STP_LDFLAGS)
+CXX.Flags += $(STP_CFLAGS)
 CXX.Flags += -DKLEE_DIR=\"$(PROJ_OBJ_ROOT)\" -DKLEE_INSTALL_BIN_DIR=\"$(PROJ_bindir)\"
 CXX.Flags += -DKLEE_INSTALL_LIB_DIR=\"$(PROJ_libdir)\"
 
diff --git a/Makefile.config.in b/Makefile.config.in
index c8e2b57f..ee95c4e5 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -29,13 +29,8 @@ PROJ_INSTALL_ROOT := @prefix@
 
 KLEE_USE_CXX11 := @KLEE_USE_CXX11@
 
-STP_ROOT := @STP_ROOT@
-
-STP_NEEDS_BOOST := @STP_NEEDS_BOOST@
-
-ifeq ($(STP_NEEDS_BOOST),1)
- UPSTREAM_STP_LINK_FLAGS = @UPSTREAM_STP_LINK_FLAGS@
-endif
+STP_CFLAGS := @STP_CFLAGS@
+STP_LDFLAGS := @STP_LDFLAGS@
 
 ENABLE_METASMT := @ENABLE_METASMT@
 METASMT_ROOT := @METASMT_ROOT@
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 97bd5eb6..5b9c4e58 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -552,54 +552,36 @@ dnl **************************************************************************
 
 AC_ARG_WITH(stp,
   AS_HELP_STRING([--with-stp],
-    [Location of STP installation directory]),,
-    [AC_MSG_ERROR([The --with-stp=<path> argument is mandatory where <path> is the path \
-to the root of your STP install])])
-
-#Check for empty argument
-if test "X$with_stp" = X ; then
-	AC_MSG_ERROR([<path> cannot be empty in --with-stp=<path>])
-else
-  stp_root=`(cd $with_stp && pwd) 2> /dev/null`
-
-  #Check for bad path
-  if test "X$stp_root" = X ; then
-  	AC_MSG_ERROR([Cannot access path $with_stp passed to --with-stp])
-  fi
-
-  old_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS -I$stp_root/include"
-  AC_CHECK_HEADER(stp/c_interface.h,, [
-         AC_MSG_ERROR([Unable to use stp/c_interface.h header])
-  ])
-  CPPFLAGS="$old_CPPFLAGS"
+    [Location of STP installation directory]),[
+      #Check for empty argument
+      if test "X$withval" = X ; then
+	      AC_MSG_ERROR([<path> cannot be empty in --with-stp=<path>])
+      fi
+      stp_root=`(cd $withval && pwd) 2> /dev/null`
 
-  STP_NEEDS_BOOST=0
+      #Check for bad path
+      if test "X$stp_root" = X ; then
+	    AC_MSG_ERROR([Cannot access path $with_stp passed to --with-stp])
+      fi
 
-  # Try old STP
-  AC_CHECK_LIB(stp, vc_setInterfaceFlags,, [
-         STP_NEEDS_BOOST=1 ; AC_MSG_RESULT([Could not link with libstp. Checking if newer STP is being used])
-  ], -L$stp_root/lib)
+      STP_CFLAGS="-I$stp_root/include"
+      STP_LDFLAGS="-L$stp_root/lib"
+    ])
 
-  dnl Flags for upstream STP which has boost dependency
-  UPSTREAM_STP_LINK_FLAGS="-lboost_system -lboost_program_options"
-  if test "X$STP_NEEDS_BOOST" != X0 ; then
-    # Need to clear cached result
-    unset ac_cv_lib_stp_vc_setInterfaceFlags
+old_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $STP_CFLAGS"
+AC_CHECK_HEADER(stp/c_interface.h,,
+    [
+        AC_MSG_ERROR([Unable to use stp/c_interface.h header])
+    ])
+CPPFLAGS="$old_CPPFLAGS"
 
-    AC_CHECK_LIB(stp,
-                 vc_setInterfaceFlags,, [
-                 AC_MSG_ERROR([Unable to link with libstp. Check config.log to see what went wrong])
-    ], -L$stp_root/lib $UPSTREAM_STP_LINK_FLAGS )
+AC_CHECK_LIB(stp, vc_setInterfaceFlags,, [
+       AC_MSG_ERROR([Could not link with libstp])
+], "$STP_LDFLAGS")
 
-    AC_SUBST(UPSTREAM_STP_LINK_FLAGS, $UPSTREAM_STP_LINK_FLAGS)
-    AC_SUBST(STP_NEEDS_BOOST, $STP_NEEDS_BOOST)
-  else
-    AC_MSG_RESULT([Using old STP])
-  fi
-
-  AC_SUBST(STP_ROOT,$stp_root)
-fi
+AC_SUBST(STP_CFLAGS)
+AC_SUBST(STP_LDFLAGS)
 
 dnl **************************************************************************
 dnl User option to enable metaSMT constraint solvers and to specify the 
diff --git a/configure b/configure
index 6db9baf0..82657008 100755
--- a/configure
+++ b/configure
@@ -626,9 +626,8 @@ ac_subst_vars='LTLIBOBJS
 LIBOBJS
 METASMT_ROOT
 ENABLE_METASMT
-STP_ROOT
-STP_NEEDS_BOOST
-UPSTREAM_STP_LINK_FLAGS
+STP_LDFLAGS
+STP_CFLAGS
 CXXCPP
 HAVE_SELINUX
 EGREP
@@ -5055,103 +5054,44 @@ fi
 # Check whether --with-stp was given.
 if test "${with_stp+set}" = set; then :
   withval=$with_stp;
-else
-  as_fn_error $? "The --with-stp=<path> argument is mandatory where <path> is the path \
-to the root of your STP install" "$LINENO" 5
-fi
-
-
-#Check for empty argument
-if test "X$with_stp" = X ; then
-	as_fn_error $? "<path> cannot be empty in --with-stp=<path>" "$LINENO" 5
-else
-  stp_root=`(cd $with_stp && pwd) 2> /dev/null`
-
-  #Check for bad path
-  if test "X$stp_root" = X ; then
-  	as_fn_error $? "Cannot access path $with_stp passed to --with-stp" "$LINENO" 5
-  fi
-
-  old_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS -I$stp_root/include"
-  ac_fn_cxx_check_header_mongrel "$LINENO" "stp/c_interface.h" "ac_cv_header_stp_c_interface_h" "$ac_includes_default"
-if test "x$ac_cv_header_stp_c_interface_h" = xyes; then :
+      #Check for empty argument
+      if test "X$withval" = X ; then
+	      as_fn_error $? "<path> cannot be empty in --with-stp=<path>" "$LINENO" 5
+      fi
+      stp_root=`(cd $withval && pwd) 2> /dev/null`
 
-else
+      #Check for bad path
+      if test "X$stp_root" = X ; then
+	    as_fn_error $? "Cannot access path $with_stp passed to --with-stp" "$LINENO" 5
+      fi
 
-         as_fn_error $? "Unable to use stp/c_interface.h header" "$LINENO" 5
+      STP_CFLAGS="-I$stp_root/include"
+      STP_LDFLAGS="-L$stp_root/lib"
 
 fi
 
 
-  CPPFLAGS="$old_CPPFLAGS"
-
-  STP_NEEDS_BOOST=0
-
-  # Try old STP
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vc_setInterfaceFlags in -lstp" >&5
-$as_echo_n "checking for vc_setInterfaceFlags in -lstp... " >&6; }
-if ${ac_cv_lib_stp_vc_setInterfaceFlags+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lstp -L$stp_root/lib $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char vc_setInterfaceFlags ();
-int
-main ()
-{
-return vc_setInterfaceFlags ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_stp_vc_setInterfaceFlags=yes
-else
-  ac_cv_lib_stp_vc_setInterfaceFlags=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_stp_vc_setInterfaceFlags" >&5
-$as_echo "$ac_cv_lib_stp_vc_setInterfaceFlags" >&6; }
-if test "x$ac_cv_lib_stp_vc_setInterfaceFlags" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSTP 1
-_ACEOF
-
-  LIBS="-lstp $LIBS"
+old_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $STP_CFLAGS"
+ac_fn_cxx_check_header_mongrel "$LINENO" "stp/c_interface.h" "ac_cv_header_stp_c_interface_h" "$ac_includes_default"
+if test "x$ac_cv_header_stp_c_interface_h" = xyes; then :
 
 else
 
-         STP_NEEDS_BOOST=1 ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: Could not link with libstp. Checking if newer STP is being used" >&5
-$as_echo "Could not link with libstp. Checking if newer STP is being used" >&6; }
+        as_fn_error $? "Unable to use stp/c_interface.h header" "$LINENO" 5
 
 fi
 
 
-    UPSTREAM_STP_LINK_FLAGS="-lboost_system -lboost_program_options"
-  if test "X$STP_NEEDS_BOOST" != X0 ; then
-    # Need to clear cached result
-    unset ac_cv_lib_stp_vc_setInterfaceFlags
+CPPFLAGS="$old_CPPFLAGS"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vc_setInterfaceFlags in -lstp" >&5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for vc_setInterfaceFlags in -lstp" >&5
 $as_echo_n "checking for vc_setInterfaceFlags in -lstp... " >&6; }
 if ${ac_cv_lib_stp_vc_setInterfaceFlags+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lstp -L$stp_root/lib $UPSTREAM_STP_LINK_FLAGS  $LIBS"
+LIBS="-lstp "$STP_LDFLAGS" $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -5190,23 +5130,13 @@ _ACEOF
 
 else
 
-                 as_fn_error $? "Unable to link with libstp. Check config.log to see what went wrong" "$LINENO" 5
+       as_fn_error $? "Could not link with libstp" "$LINENO" 5
 
 fi
 
 
-    UPSTREAM_STP_LINK_FLAGS=$UPSTREAM_STP_LINK_FLAGS
 
-    STP_NEEDS_BOOST=$STP_NEEDS_BOOST
 
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: Using old STP" >&5
-$as_echo "Using old STP" >&6; }
-  fi
-
-  STP_ROOT=$stp_root
-
-fi
 
 
 
diff --git a/tools/kleaver/Makefile b/tools/kleaver/Makefile
index 656ffeae..f66d0598 100644
--- a/tools/kleaver/Makefile
+++ b/tools/kleaver/Makefile
@@ -31,7 +31,3 @@ ifeq ($(ENABLE_METASMT),1)
   CXX.Flags := $(filter-out -fno-exceptions,$(CXX.Flags)) 
   LIBS += -lgomp -lboost_iostreams -lboost_thread -lboost_system -lmetaSMT -lz3 -lrt -lboolector -lminisat_core
 endif
-
-ifeq ($(STP_NEEDS_BOOST),1)
-	LIBS += $(UPSTREAM_STP_LINK_FLAGS)
-endif
diff --git a/tools/klee/Makefile b/tools/klee/Makefile
index 03b387c0..b9506b47 100644
--- a/tools/klee/Makefile
+++ b/tools/klee/Makefile
@@ -32,7 +32,3 @@ ifeq ($(ENABLE_METASMT),1)
   CXX.Flags := $(filter-out -fno-exceptions,$(CXX.Flags)) 
   LIBS += -lgomp -lboost_iostreams -lboost_thread -lboost_system -lmetaSMT -lz3 -lrt -lboolector -lminisat_core
 endif
-
-ifeq ($(STP_NEEDS_BOOST),1)
-	LIBS += $(UPSTREAM_STP_LINK_FLAGS)
-endif
diff --git a/unittests/Solver/Makefile b/unittests/Solver/Makefile
index 83427795..00713691 100644
--- a/unittests/Solver/Makefile
+++ b/unittests/Solver/Makefile
@@ -10,7 +10,3 @@ LINK_COMPONENTS := support
 include $(LLVM_SRC_ROOT)/unittests/Makefile.unittest
 
 LIBS += -lstp
-
-ifeq ($(STP_NEEDS_BOOST),1)
-	LIBS += $(UPSTREAM_STP_LINK_FLAGS)
-endif