summaryrefslogtreecommitdiffstats
path: root/autoconf/m4
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-11-30 08:11:54 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-11-30 08:11:54 +0000
commit0fcb9410b9c51a179b3c7a80291f00dac344038c (patch)
treedab274171657d806e2298ce1efb4180c566744b9 /autoconf/m4
parent0f535c6fa8b03491dc110feb65d78922ee29d1fc (diff)
downloadexternal_llvm-0fcb9410b9c51a179b3c7a80291f00dac344038c.zip
external_llvm-0fcb9410b9c51a179b3c7a80291f00dac344038c.tar.gz
external_llvm-0fcb9410b9c51a179b3c7a80291f00dac344038c.tar.bz2
Add a check for the tclsh program needed by dejagnu. This can have weird
names that have version numbers in it so this macro, DJ_AC_PATH_TCLSH will make the necessary checks. The makefile variable TCLSH is set to the path found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18382 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'autoconf/m4')
-rw-r--r--autoconf/m4/path_tclsh.m456
1 files changed, 56 insertions, 0 deletions
diff --git a/autoconf/m4/path_tclsh.m4 b/autoconf/m4/path_tclsh.m4
new file mode 100644
index 0000000..4fb0029
--- /dev/null
+++ b/autoconf/m4/path_tclsh.m4
@@ -0,0 +1,56 @@
+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], [
+dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../
+../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../..
+/../../../../../.."
+no_itcl=true
+AC_MSG_CHECKING(for the tclsh program)
+AC_ARG_WITH(tclinclude, [ --with-tclinclude directory where tcl headers are], with_tclinclude=${withval})
+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 next check in private source directory
+dnl since ls returns lowest version numbers first, reverse its output
+if test x"${ac_cv_path_tclsh}" = x ; then
+ dnl find the top level Itcl source directory
+ for i in $dirlist; do
+ if test -n "`ls -dr $srcdir/$i/tcl* 2>/dev/null`" ; then
+ tclpath=$srcdir/$i
+ break
+ fi
+ done
+
+ dnl find the exact Itcl source dir. We do it this way, cause there
+ dnl might be multiple version of Itcl, and we want the most recent one.
+ for i in `ls -dr $tclpath/tcl* 2>/dev/null ` ; do
+ if test -f $i/src/tclsh ; then
+ ac_cv_path_tclsh=`(cd $i/src; pwd)`/tclsh
+ break
+ fi
+ done
+fi
+
+dnl see if one is installed
+if test x"${ac_cv_path_tclsh}" = x ; then
+ AC_MSG_RESULT(none)
+ AC_PATH_PROG(tclsh, tclsh)
+else
+ AC_MSG_RESULT(${ac_cv_path_tclsh})
+fi
+TCLSH="${ac_cv_path_tclsh}"
+AC_SUBST(TCLSH)
+])
+