From: Bernard D. <bde...@ea...> - 2006-01-04 09:03:56
|
Hi Daniel, I just wanted to mention a problem I have met using the tclConfig.sh files included in the BI Distro. Context: I've been introducing TEA (3.4) support for the Tclresource extension recently. It basically works fine. Since Tclresource invokes the TclGetOpenMode() function, I have to include the tclInt.h private header. This function is in the TclIntStubs table. So I do the following: * in my configure.ac file, I enable the TEA_PRIVATE_TCL_HEADERS macro * I generate the configure script with autoconf * I run this configure script. This generate the Makefile from Makefile.in * now in the Makefile I obtain, the INCLUDES variable is defined like this INCLUDES = -I"/Volumes/Local/Users/steffen/Documents/Development/TclTk/tcltkaqua-8_4_7_0/source/tcl/generic" -I"/Volumes/Local/Users/steffen/Documents/Development/TclTk/tcltkaqua-8_4_7_0/source/tcl/unix" which means that it does not contain the necessary -I"/Library/Frameworks/Tcl.framework/Headers" -I"/Library/Frameworks/Tcl.framework/PrivateHeaders" Looking in the tcl.m4 file at the definition of TEA_PRIVATE_TCL_HEADERS (ditto in the resulting configure script), I see that this depends on the following test: case ${TCL_DEFS} in *TCL_FRAMEWORK*) if test -d "${TCL_BIN_DIR}/Headers" -a -d "${TCL_BIN_DIR}/PrivateHeaders"; then etc. It fails there because the TCL_FRAMEWORK value is not found in ${TCL_DEFS}. Indeed the definition for TCL_DEFS is taken from the tclConfig.sh script in the framework and it contains no "-DTCL_FRAMEWORK=1". This is weird because, on another machine, I have recently rebuilt the Tcl.framework from the latest sources on CVS, so I have a locally generated tclConfig.sh and its definition of TCL_DEFS does contain "-DTCL_FRAMEWORK=1" so that the Makefile I obtain correctly has the following value for the INCLUDES variable: INCLUDES = -I"/Library/Frameworks/Tcl.framework/Headers" -I"/Library/Frameworks/Tcl.framework/PrivateHeaders" -I"/Volumes/im2/Tcl/Tcl_Sources/TclTk_HEAD/tcl/generic" -I"/Volumes/im2/Tcl/Tcl_Sources/TclTk_HEAD/tcl/unix" I can workaround this by rebuilding the Tcl framework on my iBook (just as I did on my G5), but I just wondered whether the absence of "-DTCL_FRAMEWORK=1" in TCL_DEFS is normal, or whether the test in TEA_PRIVATE_TCL_HEADERS should rely on something else, or whether I'm missing something. Cheers, Bernard |