Platform: Mac OS X, 10.4/10.5/10.6
In older Tcl versions, the TCL_DEFS variable in tclConfig.sh contained the full list of #defines. In recent versions, TCL_DEFS instead refers to tclConfig.h using the "-imacros" option of GCC:
TCL_DEFS='-DHAVE_TCL_CONFIG_H -imacros tclConfig.h'
The problem is that tclConfig.h is listed as a private header and therefore not installed by default. This breaks compilation of a program against libtcl when the default installation options were used.