1# $Id: tcl.m4,v 12.2 2005/06/28 20:45:25 gmf Exp $ 2 3# The SC_* macros in this file are from the unix/tcl.m4 files in the Tcl 4# 8.3.0 distribution, with some minor changes. For this reason, license 5# terms for the Berkeley DB distribution dist/aclocal/tcl.m4 file are as 6# follows (copied from the license.terms file in the Tcl 8.3 distribution): 7# 8# This software is copyrighted by the Regents of the University of 9# California, Sun Microsystems, Inc., Scriptics Corporation, 10# and other parties. The following terms apply to all files associated 11# with the software unless explicitly disclaimed in individual files. 12# 13# The authors hereby grant permission to use, copy, modify, distribute, 14# and license this software and its documentation for any purpose, provided 15# that existing copyright notices are retained in all copies and that this 16# notice is included verbatim in any distributions. No written agreement, 17# license, or royalty fee is required for any of the authorized uses. 18# Modifications to this software may be copyrighted by their authors 19# and need not follow the licensing terms described here, provided that 20# the new terms are clearly indicated on the first page of each file where 21# they apply. 22# 23# IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY 24# FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 25# ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY 26# DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE 27# POSSIBILITY OF SUCH DAMAGE. 28# 29# THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, 30# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, 31# FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE 32# IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE 33# NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR 34# MODIFICATIONS. 35# 36# GOVERNMENT USE: If you are acquiring this software on behalf of the 37# U.S. government, the Government shall have only "Restricted Rights" 38# in the software and related documentation as defined in the Federal 39# Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you 40# are acquiring the software on behalf of the Department of Defense, the 41# software shall be classified as "Commercial Computer Software" and the 42# Government shall have only "Restricted Rights" as defined in Clause 43# 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the 44# authors grant the U.S. Government and others acting in its behalf 45# permission to use and distribute the software in accordance with the 46# terms specified in this license. 47 48AC_DEFUN(SC_PATH_TCLCONFIG, [ 49 AC_CACHE_VAL(ac_cv_c_tclconfig,[ 50 51 # First check to see if --with-tclconfig was specified. 52 if test "${with_tclconfig}" != no; then 53 if test -f "${with_tclconfig}/tclConfig.sh" ; then 54 ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` 55 else 56 AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) 57 fi 58 fi 59 60 # check in a few common install locations 61 if test x"${ac_cv_c_tclconfig}" = x ; then 62 for i in `ls -d /usr/local/lib 2>/dev/null` ; do 63 if test -f "$i/tclConfig.sh" ; then 64 ac_cv_c_tclconfig=`(cd $i; pwd)` 65 break 66 fi 67 done 68 fi 69 70 ]) 71 72 if test x"${ac_cv_c_tclconfig}" = x ; then 73 TCL_BIN_DIR="# no Tcl configs found" 74 AC_MSG_ERROR(can't find Tcl configuration definitions) 75 else 76 TCL_BIN_DIR=${ac_cv_c_tclconfig} 77 fi 78]) 79 80AC_DEFUN(SC_LOAD_TCLCONFIG, [ 81 AC_MSG_CHECKING([for existence of $TCL_BIN_DIR/tclConfig.sh]) 82 83 if test -f "$TCL_BIN_DIR/tclConfig.sh" ; then 84 AC_MSG_RESULT([loading]) 85 . $TCL_BIN_DIR/tclConfig.sh 86 else 87 AC_MSG_RESULT([file not found]) 88 fi 89 90 # DB requires at least version 8.4. 91 if test ${TCL_MAJOR_VERSION} -lt 8 \ 92 -o ${TCL_MAJOR_VERSION} -eq 8 -a ${TCL_MINOR_VERSION} -lt 4; then 93 AC_MSG_ERROR([Berkeley DB requires Tcl version 8.4 or better.]) 94 fi 95 96 # The eval is required to do substitution (for example, the TCL_DBGX 97 # substitution in the TCL_LIB_FILE variable. 98 eval "TCL_INCLUDE_SPEC=\"${TCL_INCLUDE_SPEC}\"" 99 eval "TCL_LIB_FILE=\"${TCL_LIB_FILE}\"" 100 eval "TCL_LIB_FLAG=\"${TCL_LIB_FLAG}\"" 101 eval "TCL_LIB_SPEC=\"${TCL_LIB_SPEC}\"" 102 103 # 104 # If the DB Tcl library isn't loaded with the Tcl spec and library 105 # flags on AIX, the resulting libdb_tcl-X.Y.so.0 will drop core at 106 # load time. [#4843] Furthermore, with Tcl 8.3, the link flags 107 # given by the Tcl spec are insufficient for our use. [#5779] 108 # 109 case "$host_os" in 110 aix4.[[2-9]].*) 111 LIBTSO_LIBS="$LIBTSO_LIBS $TCL_LIB_SPEC $TCL_LIB_FLAG" 112 LIBTSO_LIBS="$LIBTSO_LIBS -L$TCL_EXEC_PREFIX/lib -ltcl$TCL_VERSION";; 113 aix*) 114 LIBTSO_LIBS="$LIBTSO_LIBS $TCL_LIB_SPEC $TCL_LIB_FLAG";; 115 esac 116 AC_SUBST(TCL_BIN_DIR) 117 AC_SUBST(TCL_INCLUDE_SPEC) 118 AC_SUBST(TCL_LIB_FILE) 119 AC_SUBST(TCL_SRC_DIR) 120 121 AC_SUBST(TCL_TCLSH) 122 TCL_TCLSH="${TCL_PREFIX}/bin/tclsh${TCL_VERSION}" 123]) 124 125# Optional Tcl API. 126AC_DEFUN(AM_TCL_LOAD, [ 127 if test `$LIBTOOL_PROG --config | grep build_libtool_libs | grep no` 2>/dev/null; then 128 AC_MSG_ERROR([Tcl requires shared libraries]) 129 fi 130 131 SC_PATH_TCLCONFIG 132 SC_LOAD_TCLCONFIG 133 134 INSTALL_LIBS="${INSTALL_LIBS} \$(libtso_target)" 135]) 136