|
From: Donal K. F. <don...@ma...> - 2005-09-29 08:30:36
|
Kevin Walzer wrote: > Earlier, the build was dying after complaining that some defintions in > tkMacOSXInt.h had errors. Looking at the code in question, I noticed > that the lines began with the phrase "Module Scope," like this: > > ~ MODULE_SCOPE int TkMacOSXUseAntialiasedText(Tcl_Interp *interp, int > enable); > > Commenting out those lines and replacing them without the phrase "module > scope" allowed the build to proceed, and I built Tile and Tktreectrl > successfully in the standard fashion (not as universal binaries). OK, that might indicate that TkMacOSXUseAntialiasedText may need to be promoted from a module-scoped symbol (i.e. utterly Tk-internal) to Tk's internal stubs table. No big deal if the symbol is needed. > I'm not sure why commenting out the "module scope" bits worked; I'm sure > that is there for a reason, but it's not clear to me. The module scope stuff is about trying to clean up the Tcl/Tk core so that symbols are exactly as widely available as they need to be. This really stems from the fact that its introducing a concept that traditional Unix linkers didn't support; symbol visibility wider than the file level but less than the application level. Donal. |