[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] MacPerl & Tk Question



mac-perl@iis.ee.ethz.ch
Scrapsky@aol.com
spored19@mail.idt.net

Re: [MacPerl] MacPerl & Tk Question

Scrapsky writes 19-JAN-1997 22:22:15.54

>Doug,
>
>I am thinking that we would have to contact the keeper of the pTk libraries
>and compile MacPerl with them.  Unfortunately, I don't have Codewarrior (or
>am up to speed with it...) to be of much help at the moment.
>
>The way I understand it for the UNIX side, you have to have Perl, Tcl, and Tk
>together at the same time and then compile Perl to get them to work.  You
>only need Tcl for the extensions in it.  After Perl has been compiled, you
>can trash the Tcl stuff.  I am wondering if it works in a similar fashion on
>the Mac side?
>
>BTW, If you have any ideas about the MacPerl - Tk thing, I would be happy to
>here them as well.  Also, I went to the sun site and downloaded the latest
>version of Tcl/Tk.
>
>Thanks for your feedback.
>
>Matthias, Do you have any input on meshing MacPerl with Tk?
>
>Thanks,
>Scrapsky


Your understanding of the UNIX side is a bit mistaken. One does not need to 
have Tcl/Tk at all. Perl, MakeMaker, a library with functionality equivalent to 
Xlib, and a C development environment (compiler and make tools) are all that 
are "required". On a Mac having MPW and dmake would be helpful...

There are several things to be wary of - the first and biggest is that
Nick Ing-Simmons' officially released Perl/Tk (Tk400.200.tar.gz and the patch 
to get to 400.201) are based on Tcl/Tk version 4.0p3 which was the last Tcl/Tk 
release *before* the big push to do cross-platform Tcl/Tk guis (primarily the 
ports to MacOS and Windows) as in Tcl/Tk4.1 (and subsequent patch levels). 

(How the Mac version of Tcl/Tk handles calls to GUI functions that I myself am 
 quite ignorant of - does it do native Mac calls or Mac-Xlib calls? I do not 
 know. I suspect that looking at the source code would prove quite 
 informative.)

The Tk perl extension is a self contained kit. (At more than 2.5 Megs gzipped 
it is larger than the whole source code kit for perl!) It essentially contains 
a snapshot of the Tcl/Tk 4.0p3 source code that has been run through an 
extensive collection of perl scripts to turn the C source code into perl XS 
code - plus a whole bunch of perl .pm module files.  During the compilation on 
UNIX the libtk/libptk stuff is built from scratch then linked appropriately - 
to perl (Tcl and Tk are not involved).

I would like to know where you came up with the idea that one needs Tcl and can 
then trash it.  I really hope it was nothing that I wrote that mislead you.
My web page at:

  http://w4.lns.cornell.edu/~pvhp/ptk/ptkPORT.html 

mentions that having a port of Tcl/Tk to ones platform is "good" (since it 
demonstrates the feasability of having any form of Tk on one's platform) but I 
am hoping that it does not leave you with the impression that it is _required_.

Yes the Mac does indeed do Tcl/Tk - now on to the port of Perl/Tk:

 o There is a very active porting effort currently in progress to make 
   the Tcl/Tk 4.1 code amenable to Nick's "perlization process".
   I believe Nick intends to make one or two more final releases of the 
   Tk400.2xx line (based on Tk4.0p3) then move on to Tcl/Tk 4.1... in earnest.

 o Ilya Zakharevich has already ported the Tk400.200 and Tk400.201 kits to OS/2
   (this is currently the only known non-UNIX implementation of Perl/Tk).
   His experience is well worth paying close attention to: which header and 
   source files did he have to change?
   It is worth noting that Ilya made use of the XFree86 Xlib for OS/2.

You might wish to pose questions to Nick and/or Ilya on the ptk mailing list - 
there certainly are folks there willing to discuss porting.

Good luck.

Peter Prymmer