Para construir un Starpack necesita a) un tiempo de ejecución tclkit, b) sdx.kit. También necesita un "kit base", el ejecutable que se ajustará con su código tcl. Para este ejemplo, supongo que está creando una aplicación para la misma plataforma en la que se está ejecutando. Se puede crear un BaseKit simplemente copiando tclkit (o tclkit.exe en las ventanas) a otro nombre, como "BaseKit"
% ls
sdx.kit tclkit
% cp tclkit basekit
% ls
basekit sdx.kit tclkit
Ahora, crear el código que desea han envuelto en un archivo ejecutable. La convención es crear un directorio con el nombre de su aplicación y el sufijo ".vfs" (por 'sistema de archivos virtual'), a continuación, crear un archivo llamado 'main.tcl' en ese directorio:
% mkdir myapp.vfs
% cat > myapp.vfs/main.tcl
package require Tk
label .l -text "Hello, world"
pack .l
^D
% ls myapp.vfs
main.tcl
Ahora para hacer la envoltura: para esto necesitarás el archivo sdx.kit. Suponiendo que tclkit y (o tclkit.exe) se encuentran en el directorio de trabajo actual, en que se coloca a su aplicación como esta:
% ./tclkit sdx.kit wrap myapp -runtime basekit
1 updates applied
% ls
basekit myapp myapp.vfs sdx.kit tclkit
El comando envoltura sabe cuando le das la "miaplicacion" argumento de que se debe envolver los contenidos de myapp.vfs, y que debe buscar un archivo llamado "main.tcl" en ese directorio para ser el punto de entrada del programa. Puede colocar cualquier otro archivo que desee en ese directorio y todos estarán incluidos, incluidos los archivos binarios específicos de la plataforma, los archivos de imagen y cualquier otra cosa que desee incluir.
Ahora tiene un archivo ejecutable, 'myapp', que es la aplicación envuelta.
Si tiene los tclkits para diferentes arquitecturas, puede usarlos (reemplazando 'basekit' en la línea de comandos con el kit para la arquitectura de destino) para realizar compilaciones cruzadas para otras plataformas.
Para más información ver How to create my first Starpack en el Tcl'ers Wiki
Gracias Bryan - Su respuesta se ve muy bien. Debería poder comenzar ahora. DFM – DFM
Pregunta sobre sdx.kit y tclkit: parece que no puedo obtener sdx y tclkit en qwrap. Después de pasar unas horas tratando de obtener sdx y tcl para qwrap, seguí obteniendo el error nombre del comando no válido. Incluso seguí las instrucciones web y cambié el tclkit.exe a tclkitsh.exe. Creo que tengo un problema con el archivo sdx. ¿Cómo se descarga el archivo sdx? Todo lo que puedo hacer es copiar el texto en el bloc de notas y cambiar la extensión a .kit. El archivo sdx no se descarga como un archivo normal, y he intentado varias versiones (?) Gracias DFM – DFM
De alguna manera, copiar el texto de sdx.kit no funcionará, es un archivo binario. Tal vez estás obteniendo el código fuente? Descargue de este enlace: http://www.equi4.com/pub/sk/sdx.kit. –