From: Vince D. <vi...@sa...> - 2000-05-18 00:24:25
|
On Wed, 17 May 2000, Geoffrey Furnish wrote: > Vince Darley writes: > > Some time soon I'm going to try to tackle the task of integrating my > > changes into 5.0. > > Please remember, new feature development goes on 5.1 (the cvs head). > 5.0 is supposed to be a stabilization release, for minor bug fixes. Sure! I just mean the task of producing sensible patches which you and the rest of the plplot dev. team can decide whether to include or not, at whatever version number is appropriate. > > My changes are quite varied, so hopefully I'll be able > > to split them into a number of separate, independent patches. However, > > before I start that, I have a couple of questions: > > > > (i) Does plplot support building any form of loadable extension for > > Tcl/Tk? (i.e. a shared library Plxxx50.so which can be loaded into Tcl/Tk > > via 'load Plxxx50'). > > No, not at this time. This is an obviously desirable improvment. I'll probably try to create patches first which simply add cross-platform Tk support to Plplot, and later work on adding things like this (since I haven't compiled this code on unix for at least 3 years, my makefiles are probably rather grotty). > > (ii) Does plplot support cross-compilation (particularly for a cygwin > > hosted system to build linux executables)? > > I don't know how to answer that question. I've used cross tools > before (for other things). Ordinarily I am accustomed to just using a > particular gcc at a cerain path location, or mabye a stock gcc with a > special -B or -V option to pick out the cross tool components. To > this extent--that is, just asuming your cross tool gcc/binutils are in > your path--it should "just work". If you need some more specific kind > of support, please elaborate. I mean so I can carry out a complete ./configure ; make on my windoze box, yet have the executables generated work on whatever target I specify (e.g. linux, solaris etc). My simple tests didn't make it clear whether this would really work or not (supposedly Tcl 8.x has a nice cross-compilation ability, but I haven't really used that either). > > (iii) Is there any configure/makefile support for non-unix based > > platforms? > > Historically, Mac, OS/2, DOS/DJGPP and Amiga ports have all been done > through a seperate makefile, independent of the unixoid configure at > the top of the tree. I've never gotten around to building on NT yet, > but if I did, I would start by seeing if the existing configure script > would work okay on a cygwin platform. I tried, and it doesn't look too good (not too bad either, though!). Various problems arose (such as 'gcc not present', even though it is the only compiler which is present). I'll have to see what I can do. I'm not really sure of the best step forward from here! I have a bunch of code which has worked at varying times over the last 5 years on Solaris/MacOS/Windows with various versions of Tk, and is currently in constant use with Tk 8.3.1 on WinNT. However I don't have access to a linux machine I can actually do development on, so I don't really see a sensible path to preparing useful patches without at least some help from someone else: anyone willing to offer their services as a guinea pig? One approach I'm considering is that the core pl code should be compiled into a shared library with the existing makefiles, and that the tcl/tk dependent stuff should use it's own makefiles using the 'TEA' (Tcl Extension Architecture) framework developed by the Tcl community which should make it easy to turn 'C-code + pllibs + Tcl installation' into something which will compile under any platform where Tcl/Tk works. Perhaps this should be step 5, not step 1 however. Advice appreciated! cheers, Vince > > p.s. Does plplot 5 fix the 'M = J' bug evident in the standard font > > library (but not the extended font lib)? > > I haven't looked into the matter. When I run the plplot demos (admittedly on windoze, with my shared lib version of plplot loaded into tcl), I find that in demo 6, looking at the uppercase letters, from 70-80, the sequence is J K L J N, i.e. M has been substituted by J. I actually put together a nice little script one case use to run all the demos from a Tk interface. You'll need to modify the 'package require Plplot' line, but beyond that it should work wherever you can get 'plframe': # RunDemos.tcl #--------------------------------------------------------------------- # Source this file into a working Tk interpreter to run all the demos # this file should be in plplot/examples/tcl/ # # Vince Darley # vi...@sa... # #--------------------------------------------------------------------- lappend auto_path [pwd] package require Plplot plframe .p grid .p -columnspan 5 -sticky news grid rowconfigure . 0 -weight 1 for {set i 0} {$i < 5} {incr i} { grid columnconfigure . $i -weight 1 } # turn on pauses .p cmd plspause 1 button .bexit -text "Quit" -command exit button .bshell -text "Shell" -command "console show" set buttons [list .bexit .bshell] for {set i 1} {$i <= [llength [glob x*.tcl]]} {incr i} { set demo x[format "%02d" $i] button .b$i -text "Demo $i" -command "$demo .p" lappend buttons .b$i if {[llength $buttons] == 5} { eval grid $buttons -sticky ew set buttons {} } } if {[llength $buttons]} { eval grid $buttons -sticky ew } |