From: Daniel A. S. <st...@ma...> - 2002-10-27 03:09:33
|
Robert, if you follow the instructions in tk/macosx/README everything should just work, but this is pretty untested stuff, probably not many people apart from myself have done this... let me know if you still have problems the idea behind 'make embedded' is to first do a normal make into 'build', then the embedded build should only require a relink. I probably haven't tested doing 'make embedded' from scratch, although I can't think of anything that'd break offhand... On Saturday, October 26, 2002, at 02:59 AM, robert karen wrote: > I'm trying to embed Tcl and Tk frameworks in one .app file > but I'm having lots of problems. First when I built Tcl > 'make embedded' (or install-embedded) didn't copy/create the > Frameworks/Tcl.framework, > rather it created it in 'build'. not sure what you mean. For install-embedded it is much saner to use INSTALL_ROOT as the README tells you to instead of installing into your system-wide /Applications/Utilities (since some rather weird hacks are needed to put things in the right place) > OK, so I copied it there myself. Next, > when I went to build Tk, 'make embedded' didn't find the tclConfig.sh > file, so I had to link that to the proper location. tclConfig.sh and the includes are taken from Tcl.framework in the build dir > Question: If I have the frameworks/tcl/tk built already from > PB is there a way of manually embedding them, so I can save myself this > trouble? The way embedding works at present is that the Tcl and Tk frameworks' install_name argument (check e.g. with 'otool -L') is set (via relinking) to the magic token '@executable_path/../Framework/{Tcl,Tk}.framework' and then Wish is relinked itself against those newly linked frameworks to burn the magic install_name into the executable (again check with 'otool -L'). There is a way to change the install_name burned into an executable without a relink (via the tool install_name_tool, c.f. manpage) but only on executables linked with -headerpad_max_install_names. You should be able to link Wish with this flag, use the tool and embed the standard frameworks. I'm planning to rework the buildsystem to use this method (of which I only became aware after I implemented the other more traditional method) at some point, but you're welcome to help out of course... Cheers, Daniel -- ** Daniel A. Steffen ** "And now to something completely ** Dept. of Mathematics ** different" Monty Python ** Macquarie University ** <mailto:st...@ma...> ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> |