[GRASS-dev] debugging nviz with TclTk 8.5 aqua

Glynn Clements glynn at gclements.plus.com
Sun Jul 27 13:27:41 EDT 2008


William Kyngesburye wrote:

> >> - add a tcltk aqua option, much like what we do for opengl.  And it
> >> would have to be dependent on opengl=aqua.
> >>
> >> It would have to detect the active framework by looking in /Library/
> >> Frameworks first, then /System/Library/Frameworks. Or possibly accept
> >> a user path (reuse --with-tcltk-libs, or have a separate --with- 
> >> tcltk-
> >> framework), which would set TCLTKLIBPATH = -F/user/path.
> >>
> >> The framework path (detected or user), would be used to set the
> >> include paths:
> >>
> >> -I$path/Tcl.framework/Headers -I$path/Tk.framework/Headers -I$path/
> >> Tk.framework/PrivateHeaders
> >>
> >> And verify that the needed tkMacOSXInt.h is in one of those.
> >>
> >> TCLTKLIBS will always be:
> >>
> >> TCLTKLIBS = -framework Tcl -framework Tk
> >
> > I have added a --with-tcltk-framework= switch. If used, it sets
> > TCLTKLIBPATH, TCLTKLIBS and TCLINCDIR as suggested above, and
> > --with-tcltk-{libs,includes}= are ignored.
> >
> > I can't confirm whether it works, only that it doesn't break anything
> > when not used.
> 
> I just tried it.  Needs a bit of work.
> 
> It should accept yes (enable).  This would use the default framework  
> path, much like --with-tcltk or other options that don't add -L/usr/ 
> lib.  So, --with-tcltk-framework would set:
> 
> TCLINCDIR = -I/{found location}/Tcl.framework/Headers
> TKINCDIR = -I/{found location}/Tk.framework/Headers -I/{found  
> location}/Tk.framework/PrivateHeaders
> TCLTKLIBPATH =
> TCLTKLIBS = -framework Tcl -framework Tk
> 
> Of course, some extra detection logic is needed to check for the  
> frameworks in /Library/Frameworks, then /System/Library/Frameworks.

configure doesn't autodetect paths, it only confirms that any paths
specified by the user work. If a path needs to be passed onto the
compiler or linker, the user has to supply it.

I take it that -framework is limited to the linker? I.e. the compiler
still needs explicit -I flags?

> If a path is used, then the -F flag is added to TCLTKLIBPATH.
> 
> 
> When I used a path with the option, the framework flags didn't get  
> inserted into platform.make.  TCLTKLIBS is empty.

Oops; trying to use "make" sytnax instead of shell syntax:

> Also, the framework option should be rejected if opengl is not aqua.

It's still meaningful if OpenGL is disabled.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list