aboutsummaryrefslogtreecommitdiffhomepage
path: root/autoconf
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2013-12-16 16:58:21 +0000
committerDan Liew <daniel.liew@imperial.ac.uk>2013-12-19 11:43:10 +0000
commitb35ce61c5fd2aba218b02a2f1234b17aef167aa5 (patch)
tree5c8fb333684c10cc338e1339ba158fbc0989c3b3 /autoconf
parent542a604b42798f061ac7a2280279ea5e3db471d9 (diff)
downloadklee-b35ce61c5fd2aba218b02a2f1234b17aef167aa5.tar.gz
Re-add support for running individual tests when built with LLVM3.3
It seems that the LLVM configure script no longer looks for tclsh which was used to execute individual tests. E.g. $ cd test $ make TESTONE=Runtime/POSIX/DirConsistency.c check-one VERBOSE=1 This prevented the above from working. This commit fixes this by having our configure script look for tclsh instead. The path_tclsh.m4 macro is taken from the projects/sample/autoconf/m4/ in LLVM3.3
Diffstat (limited to 'autoconf')
-rw-r--r--autoconf/configure.ac1
-rw-r--r--autoconf/m4/path_tclsh.m439
2 files changed, 40 insertions, 0 deletions
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 09769f8f..fd249103 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -554,6 +554,7 @@ dnl **************************************************************************
dnl * Check for dejagnu
dnl **************************************************************************
AC_PATH_PROG(RUNTEST, [runtest])
+DJ_AC_PATH_TCLSH
dnl **************************************************************************
dnl * Create the output files
diff --git a/autoconf/m4/path_tclsh.m4 b/autoconf/m4/path_tclsh.m4
new file mode 100644
index 00000000..85433de7
--- /dev/null
+++ b/autoconf/m4/path_tclsh.m4
@@ -0,0 +1,39 @@
+dnl This macro checks for tclsh which is required to run dejagnu. On some
+dnl platforms (notably FreeBSD), tclsh is named tclshX.Y - this handles
+dnl that for us so we can get the latest installed tclsh version.
+dnl
+AC_DEFUN([DJ_AC_PATH_TCLSH], [
+no_itcl=true
+AC_MSG_CHECKING(for the tclsh program in tclinclude directory)
+AC_ARG_WITH(tclinclude,
+ AS_HELP_STRING([--with-tclinclude],
+ [directory where tcl headers are]),
+ [with_tclinclude=${withval}],[with_tclinclude=''])
+AC_CACHE_VAL(ac_cv_path_tclsh,[
+dnl first check to see if --with-itclinclude was specified
+if test x"${with_tclinclude}" != x ; then
+ if test -f ${with_tclinclude}/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}; pwd)`
+ elif test -f ${with_tclinclude}/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd ${with_tclinclude}/src; pwd)`
+ else
+ AC_MSG_ERROR([${with_tclinclude} directory doesn't contain tclsh])
+ fi
+fi])
+
+dnl see if one is installed
+if test x"${ac_cv_path_tclsh}" = x ; then
+ AC_MSG_RESULT(none)
+ AC_PATH_PROGS([TCLSH],[tclsh8.4 tclsh8.4.8 tclsh8.4.7 tclsh8.4.6 tclsh8.4.5 tclsh8.4.4 tclsh8.4.3 tclsh8.4.2 tclsh8.4.1 tclsh8.4.0 tclsh8.3 tclsh8.3.5 tclsh8.3.4 tclsh8.3.3 tclsh8.3.2 tclsh8.3.1 tclsh8.3.0 tclsh])
+ if test x"${TCLSH}" = x ; then
+ ac_cv_path_tclsh='';
+ else
+ ac_cv_path_tclsh="${TCLSH}";
+ fi
+else
+ AC_MSG_RESULT(${ac_cv_path_tclsh})
+ TCLSH="${ac_cv_path_tclsh}"
+ AC_SUBST(TCLSH)
+fi
+])
+