Difference between revisions of "Tcl/Tk"

From Wikili
Jump to: navigation, search
 
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
  [[EuroTcl]] European Tcl/Tk User Meeting 2008 see [http://www.eurotcl.org/ http://www.eurotcl.org/]
  
  Pour le package http il fallait modifier
+
* (pas encore eu le pb sur 8.5) Pour le package http (pour qu'il fonctionne avec le [[Café des sciences]] erreur "after cancel") il fallait modifier
  ** /usr/local/ActiveTcl/lib/tcl8.4/http/http.tcl  
+
** /usr/local/ActiveTcl/lib/tcl8.4/http/http.tcl y mettre if {[info exists state(after)]} et sock
  ** /usr/local/ActiveTcl/lib/tcl8.4/http/pkgIndex.tcl
+
** /usr/local/ActiveTcl/lib/tcl8.4/http/pkgIndex.tcl (je ne comprends plus pourquoi ...)
 +
* Pour Pgtcl il faut toujours mettre les liens
 +
** ln -s /usr/local/ActiveTcl/lib/tcl8.5 /usr/local/lib/tcl8.5
 +
** ln -s /usr/local/lib/tcl8.5 /usr/local/lib/tcl
 +
** (Ubuntu 8.04) ln -s /usr/lib/libpq.so.5 /usr/lib/libpq.so.4
 +
 
 +
* Starkit
 +
Un starkit (toto.kit) est une extension Tcl/Tk universelle. Elle embarque un file-system virtuel dont les différentes directories correspondent aux différentes plate-formes disponibles. Dans ces répertoires spécifiques sont installées les librairies compilées pour cette plate-forme.
 +
Un starkit s'utilise de la façon suivante :
 +
 
 +
$ tclsh
 +
% source MyPkg.kit
 +
% package require MyPkg
 +
 
 +
Exemple avec le starkit LRIPhoto (www.lr-i.com/LRIPhoto/ ou /home/moumou/ordali/lib/LRIPhoto.kit)
 +
 
 +
decompresser le starkit
 +
star123_> tclkit sdx.kit unwrap LRIPHoto.kit
 +
 
 +
Cela recréer le file-system. On a une arborescence LRIPhoto.vfs/ avec une directory lib/ puis LRIPhoto/ (oui oui encore) et sur un meme niveau /Linux-x86 /Linux-x86_64 /Windows , etc.
 +
 
 +
Bidouiller ce que vous voulez.
 +
Recréer le starkit
 +
 
 +
star123_> tclkit sdx.kit LRIPhoto.kit
 +
 
 +
et hop !
 +
 
 +
* CriTcl
 +
CriTcl permet de compimer à la volée des programmes C en les transformant en commandes Tcl. Plus de détails en lisant la doc.
 +
On peut également créer une librairie dynamique.
 +
Pour LRIPhoto,
 +
tclkit critcl.kit -lib LRIPhoto
 +
 
 +
On obtient un .so que l'on met ou il faut dans le LRIPhoto.vfs, et on refait le kit.

Latest revision as of 16:35, 18 September 2008

 EuroTcl European Tcl/Tk User Meeting 2008 see http://www.eurotcl.org/
  • (pas encore eu le pb sur 8.5) Pour le package http (pour qu'il fonctionne avec le Café des sciences erreur "after cancel") il fallait modifier
    • /usr/local/ActiveTcl/lib/tcl8.4/http/http.tcl y mettre if {[info exists state(after)]} et sock
    • /usr/local/ActiveTcl/lib/tcl8.4/http/pkgIndex.tcl (je ne comprends plus pourquoi ...)
  • Pour Pgtcl il faut toujours mettre les liens
    • ln -s /usr/local/ActiveTcl/lib/tcl8.5 /usr/local/lib/tcl8.5
    • ln -s /usr/local/lib/tcl8.5 /usr/local/lib/tcl
    • (Ubuntu 8.04) ln -s /usr/lib/libpq.so.5 /usr/lib/libpq.so.4
  • Starkit

Un starkit (toto.kit) est une extension Tcl/Tk universelle. Elle embarque un file-system virtuel dont les différentes directories correspondent aux différentes plate-formes disponibles. Dans ces répertoires spécifiques sont installées les librairies compilées pour cette plate-forme. Un starkit s'utilise de la façon suivante :

$ tclsh % source MyPkg.kit % package require MyPkg

Exemple avec le starkit LRIPhoto (www.lr-i.com/LRIPhoto/ ou /home/moumou/ordali/lib/LRIPhoto.kit)

decompresser le starkit star123_> tclkit sdx.kit unwrap LRIPHoto.kit

Cela recréer le file-system. On a une arborescence LRIPhoto.vfs/ avec une directory lib/ puis LRIPhoto/ (oui oui encore) et sur un meme niveau /Linux-x86 /Linux-x86_64 /Windows , etc.

Bidouiller ce que vous voulez. Recréer le starkit

star123_> tclkit sdx.kit LRIPhoto.kit

et hop !

  • CriTcl

CriTcl permet de compimer à la volée des programmes C en les transformant en commandes Tcl. Plus de détails en lisant la doc. On peut également créer une librairie dynamique. Pour LRIPhoto, tclkit critcl.kit -lib LRIPhoto

On obtient un .so que l'on met ou il faut dans le LRIPhoto.vfs, et on refait le kit.