Attachment "tclconfig.diff" to
ticket [947735ffff]
added by
das
2005-06-23 16:58:08.
Index: tcl.m4
===================================================================
RCS file: /cvsroot/tcl/tclconfig/tcl.m4,v
retrieving revision 1.67
diff -u -p -r1.67 tcl.m4
--- tcl.m4 18 Jun 2005 21:52:47 -0000 1.67
+++ tcl.m4 23 Jun 2005 08:52:51 -0000
@@ -86,6 +86,20 @@ AC_DEFUN(TEA_PATH_TCLCONFIG, [
done
fi
+ # on Darwin, check in Framework installation locations
+ if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tclconfig}" = x ; then
+ for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
+ `ls -d /Library/Frameworks 2>/dev/null` \
+ `ls -d /Network/Library/Frameworks 2>/dev/null` \
+ `ls -d /System/Library/Frameworks 2>/dev/null` \
+ ; do
+ if test -f "$i/Tcl.framework/tclConfig.sh" ; then
+ ac_cv_c_tclconfig=`(cd $i/Tcl.framework; pwd)`
+ break
+ fi
+ done
+ fi
+
# check in a few common install locations
if test x"${ac_cv_c_tclconfig}" = x ; then
for i in `ls -d ${exec_prefix}/lib 2>/dev/null` \
@@ -197,6 +211,21 @@ AC_DEFUN(TEA_PATH_TKCONFIG, [
fi
done
fi
+
+ # on Darwin, check in Framework installation locations
+ if test "`uname -s`" = "Darwin" -a x"${ac_cv_c_tkconfig}" = x ; then
+ for i in `ls -d ~/Library/Frameworks 2>/dev/null` \
+ `ls -d /Library/Frameworks 2>/dev/null` \
+ `ls -d /Network/Library/Frameworks 2>/dev/null` \
+ `ls -d /System/Library/Frameworks 2>/dev/null` \
+ ; do
+ if test -f "$i/Tk.framework/tkConfig.sh" ; then
+ ac_cv_c_tkconfig=`(cd $i/Tk.framework; pwd)`
+ break
+ fi
+ done
+ fi
+
# check in a few common install locations
if test x"${ac_cv_c_tkconfig}" = x ; then
for i in `ls -d ${exec_prefix}/lib 2>/dev/null` \
@@ -225,6 +254,7 @@ AC_DEFUN(TEA_PATH_TKCONFIG, [
done
fi
])
+
if test x"${ac_cv_c_tkconfig}" = x ; then
TK_BIN_DIR="# no Tk configs found"
AC_MSG_WARN("Cannot find Tk configuration definitions")
@@ -235,7 +265,6 @@ AC_DEFUN(TEA_PATH_TKCONFIG, [
AC_MSG_RESULT([found $TK_BIN_DIR/tkConfig.sh])
fi
fi
-
])
#------------------------------------------------------------------------
@@ -3256,6 +3285,16 @@ AC_DEFUN(TEA_PRIVATE_TCL_HEADERS, [
# substitute these in "relaxed" so that TCL_INCLUDES still works
# without requiring the other vars to be defined in the Makefile
eval "TCL_INCLUDES=\"-I${TCL_GENERIC_DIR_NATIVE} -I${TCL_PLATFORM_DIR_NATIVE}\""
+
+ # If Tcl was built as a framework, attempt to use
+ # the framework's Headers and PrivateHeaders directories
+ case ${TCL_DEFS} in
+ *TCL_FRAMEWORK*)
+ if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then
+ TCL_INCLUDES="-I\"${TCL_BIN_DIR}/Headers\" -I\"${TCL_BIN_DIR}/PrivateHeaders\" ${TCL_INCLUDES}"; else
+ TCL_INCLUDES="${TCL_INCLUDES} ${TCL_INCLUDE_SPEC} `echo "${TCL_INCLUDE_SPEC}" | sed -e 's/Headers/PrivateHeaders'`"; fi
+ ;;
+ esac
fi
AC_SUBST(TCL_TOP_DIR_NATIVE)
@@ -3305,17 +3344,32 @@ AC_DEFUN(TEA_PUBLIC_TCL_HEADERS, [
AC_MSG_ERROR([${with_tclinclude} directory does not contain tcl.h])
fi
else
+ # If Tcl was built as a framework, attempt to use
+ # the framework's Headers directory
+ case ${TCL_DEFS} in
+ *TCL_FRAMEWORK*)
+ list="`ls -d ${TCL_BIN_DIR}/Headers 2>/dev/null`"
+ ;;
+ *)
+ list=""
+ ;;
+ esac
# Check order: pkg --prefix location, Tcl's --prefix location,
# directory of tclConfig.sh, and Tcl source directory.
# Looking in the source dir is not ideal, but OK.
eval "temp_includedir=${includedir}"
- list="`ls -d ${temp_includedir} 2>/dev/null` \
+ list="$list \
+ `ls -d ${temp_includedir} 2>/dev/null` \
`ls -d ${TCL_PREFIX}/include 2>/dev/null` \
`ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \
`ls -d ${TCL_SRC_DIR}/generic 2>/dev/null`"
if test "${TEA_PLATFORM}" != "windows" -o "$GCC" = "yes"; then
list="$list /usr/local/include /usr/include"
+ if test x"${TCL_INCLUDE_SPEC}" != x ; then
+ d=`echo "${TCL_INCLUDE_SPEC}" | sed -e 's/^-I//'`
+ list="$list `ls -d ${d} 2>/dev/null`"
+ fi
fi
for i in $list ; do
if test -f "$i/tcl.h" ; then
@@ -3382,6 +3436,15 @@ AC_DEFUN(TEA_PRIVATE_TK_HEADERS, [
# substitute these in "relaxed" so that TK_INCLUDES still works
# without requiring the other vars to be defined in the Makefile
eval "TK_INCLUDES=\"-I${TK_GENERIC_DIR_NATIVE} -I${TK_PLATFORM_DIR_NATIVE}\""
+
+ # If Tk was built as a framework, attempt to use
+ # the framework's Headers and PrivateHeaders directories
+ case ${TK_DEFS} in
+ *TK_FRAMEWORK*)
+ if test -d "${TK_BIN_DIR}/Headers" -a -d "${TK_BIN_DIR}/PrivateHeaders"; then
+ TK_INCLUDES="-I\"${TK_BIN_DIR}/Headers\" -I\"${TK_BIN_DIR}/PrivateHeaders\" ${TK_INCLUDES}"; fi
+ ;;
+ esac
fi
AC_SUBST(TK_TOP_DIR_NATIVE)
@@ -3430,12 +3493,23 @@ AC_DEFUN(TEA_PUBLIC_TK_HEADERS, [
AC_MSG_ERROR([${with_tkinclude} directory does not contain tk.h])
fi
else
+ # If Tk was built as a framework, attempt to use
+ # the framework's Headers directory.
+ case ${TK_DEFS} in
+ *TK_FRAMEWORK*)
+ list="`ls -d ${TK_BIN_DIR}/Headers 2>/dev/null`"
+ ;;
+ *)
+ list=""
+ ;;
+ esac
# Check order: pkg --prefix location, Tcl's --prefix location,
# directory of tclConfig.sh, and Tcl source directory.
# Looking in the source dir is not ideal, but OK.
eval "temp_includedir=${includedir}"
- list="`ls -d ${temp_includedir} 2>/dev/null` \
+ list="$list \
+ `ls -d ${temp_includedir} 2>/dev/null` \
`ls -d ${TK_PREFIX}/include 2>/dev/null` \
`ls -d ${TCL_PREFIX}/include 2>/dev/null` \
`ls -d ${TCL_BIN_DIR}/../include 2>/dev/null` \