From 105d4152d7beb8aba7c1a8e793d11b171fdfabba Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Tue, 30 Nov 2004 08:11:54 +0000 Subject: 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. llvm-svn: 18382 --- llvm/autoconf/configure.ac | 1 + llvm/autoconf/m4/path_tclsh.m4 | 56 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 llvm/autoconf/m4/path_tclsh.m4 (limited to 'llvm/autoconf') diff --git a/llvm/autoconf/configure.ac b/llvm/autoconf/configure.ac index 2050e1f8d17..58c6ecbda73 100644 --- a/llvm/autoconf/configure.ac +++ b/llvm/autoconf/configure.ac @@ -265,6 +265,7 @@ AC_PATH_PROG(POD2MAN,[pod2man],[true pod2man]) AC_PATH_PROG(PYTHON,[python],[true python]) AC_PATH_PROG(QMTEST,[qmtest],[true qmtest]) AC_PATH_PROG(RUNTEST,[runtest],[true runtest]) +DJ_AC_PATH_TCLSH AC_PATH_PROG(ZIP,[zip],[true zip]) dnl Determine if the linker supports the -R option. diff --git a/llvm/autoconf/m4/path_tclsh.m4 b/llvm/autoconf/m4/path_tclsh.m4 new file mode 100644 index 00000000000..4fb00290fed --- /dev/null +++ b/llvm/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) +]) + -- cgit v1.2.3