./configureThis will produce the two files tclConfig.sh and tkConfig.sh that are required to compile Tile. These files will also contain the paths of the private header files contained in the sources which you need for comiling Tile. Be aware that you can just go into the unix directory of the Tcl and Tk sources and call configure there. There is no configure script in the macosx directory but only a Makefile. This is just a wrapper around the unix configure (says the provided REAMDE).There is one more thing. In order to get a good result from configure, you should also fetch the XFree86 package that is shipped with MacPorts, because Tk's configure will look for X11.Don't expect the Tile configure script to find these Tcl sources on it's own. Just doing
./configurein the 'generic' folder of the Tile sources (using Joe's build system) will result in an odd folder named /Users/andreask and many subfolders where Tile will be installed into and it is likely that you can't build Tile at all. You need to specify exactly where you have the required files, and where you want to have Tile installed into, else you will not get what you want. Especially, do not rely on what './configure --help' is telling you about the locations of --prefix and --exec-prefix but specify both manually. You will need these options:
- --prefix
- --exec-prefix
- --with-tcl
- --with-tk
./configure --prefix=/Users/Torsten/Tcl/packages/tile --exec-prefix=/Users/Torsten/Tcl/packages/tile --with-tcl=/Users/Torsten/Tcl/distrib/tcl8.4.12/unix/ --with-tk=/Users/Torsten/Tcl/distrib/tk8.4.12/unix/After 'make' and 'sudo make install' I had a working Tile for MacPorts Tk package that could be used by adding the tile folder to 'auto_path':
lappend auto_path /Users/Torsten/Tcl/packages/tile/libNote, that the 'aqua' theme is not available here, perhaps because MacPorts' Tk is X11 only?What is on my wish list?It would have been simple if BLT shipped with ActiveTcl. Since the MacPort people can provide BLT and obviously successfully patched the BLT sources to compile happily, I would image that it must be simple enough to adapt the stuff to ActiveTcl's requirements. Here is the pointer:
http://cvs.opendarwin.org//cgi-bin/cvsweb.cgi/proj/darwinports/dports/x11/blt/
hotfoot 24Sep12 I encountered the same problem with the private tkInt.h header file when attempting to build Tile, but solved the problem in a somewhat different way.First of all, I should note a few differences between my situation and Torsten's:
- I'm on Leopard (MacOS X 10.5.8), where the preinstalled Tcl/Tk are version 8.4.7; thus, I didn't need (or really want) to download a MacPorts version
- I'm building Tile 0.8.4
- I'm using Jeff's build system rather than Joe's, so in what follows, the configure script that I refer to is different from the one Torsten was using
% su Password: <my root password> # cd /System/Library/Frameworks/Tcl.framework/Versions/Current # mv tclConfig.sh tclConfig.sh.bak # cp tclConfig.sh.bak tclConfig.sh # vi tclConfig.sh...and add the flag -DTCL_FRAMEWORK=1 to the flags in TCL_DEFS
# cd /System/Library/Frameworks/Tk.framework/Versions/Current # mv tkConfig.sh tkConfig.sh.bak # cp tkConfig.sh.bak tkConfig.sh # vi tkConfig.sh...and add the flag -DTK_FRAMEWORK=1 to the flags in TK_DEFSNow, back in the original shell, run: ./configure ; make ; make install, and the build completes!So much less of a pain than trying to find and download the source to 8.4.7 -- which, if Apple's reputation for regularly having its way with Python is any hint, might not match the preinstalled source anyway!I had originally intended to remove the modified .sh files and restore the backups (i.e., mv them back to their original names), but since these files exist specifically to inform the configure scripts of Tcl/Tk extensions, which likely use the same logic to detect the framework setup, I decided to leave them. (If this proves problematic down the line, I'll come back and post an update.)Hope this helps someone, someday. Torsten's original post certainly helped me -- six years later!