Usage
./zipkit.sh info
Return list of provided packages.
./zipkit.sh sources ?package ..?
Get source distribution files and extract under ./sources/ if necessary. If no package is given then get all defined package sources.
./zipkit.sh win|unix|macosx *?--.. ..? ?tclsh | wish | zip name? ?package ..?* |
---|
Compile given packages for win or unix (macos not tested!). If tclsh is given then the first package should be one pkg_tcl*. If wish is given then the first packages should be pkg_tcl* and pkg_tk*. --... arguments will be used as additional arguments in configure calls. If tclsh|wish|zip name is given then create a binary with all following packages included. The binary sources are collected under ./build/'name'.vfs/. If a ./sources/'name'.vfs/ exists it will be used to initially setup the ./build/'name'.vfs/ directory.
./zipkit.sh local ...
Call internal zipkit_local() function with given args. The zipkit_local() function can be redefined in the local site definition file ziplocal.sh.
Local definitions
Local definitions can be placed in ./ziplocal.sh. If this file exists it will be sourced from the main program.
Internals
Each package definition is in an functions starting with pkg_. The line of the function definition excluding () { will be displayed by the info command.
Directory structure
./zipkit.sh -- provided script file
./ziplocal.sh -- local definition file, will be sourced if provided
./... -- package source distribution files (.tar.gz, .zip)
./sources/ -- extracted package sources
./build/ -- build result directory
./build/bin/ -- binary results
./build/include/ -- header files
./build/lib/ -- libraries
./build/lib64/ -- libraries
./build/man/ -- man pages
./build/share/ -- man pages
./build/'name'.vfs/ -- created vfs directory of binary targets
./build/'name'.vfs/tcl_library/ -- tcl core (tclsh,wish)
./build/'name'.vfs/tk_library/ -- tk core (wish)
./build/'name'.vfs/.../ -- packages in binary targets (tclsh,wish,zip)
./build/.../ -- package build results
Windows builds
To build under windows msys/mingw is required. One way is:
Get https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/6.3.0/threads-win32/sjlj/i686-8.1.0-release-win32-sjlj-rt_v6-rev0.7z and extract it as C:/mingw32.
Get https://sourceforge.net/projects/mingwbuilds/files/external-binary-packages/msys+7za+wget+svn+git+mercurial+cvs-rev13.7z and extract it as C:/mingw32/msys
Put "C:/mingw32 /mingw" in file C:/mingw32/msys/etc/fstab
Start the shell window with: D:\mingw32\msys\msys.bat
Examples
Attention! When building with different tcl/tk versions (8.7, 9.0) the ./build directory should be removed.
# Display available packages
./zipkit.sh info
# Get all sources
./zipkit,sh sources
The following examples are for windows. To build under unix just change the win argument in unix.
# Compile tcl and tk 8.7
./zipkit.sh win pkg_tcl8_7a5 pkg_tk8_7a5
# Create binary interpreter **test** with tcl/tk 8.7 and tko
./zipkit.sh win wish test pkg_tcl8_7a5 pkg_tk8_7a5 pkg_tko0_4
# Compile tcl and tk 9.0
./zipkit.sh win pkg_tcl9_0b1 pkg_tk9_0b1
# Create binary interpreter **test** with tcl/tk 9.0 and tko
./zipkit.sh win wish test pkg_tcl9_0b1 pkg_tk9_0b1 pkg_tko0_4
Sources
The repository is hosted at: http://chiselapp.com/user/rene/repository/zipkit
Download the zipkit.sh with: http://chiselapp.com/user/rene/repository/zipkit/doc/trunk/zipkit.sh
Copyright
© 2024- RenĂ© Zaumseil r.zaumseil@freenet.de
BSD license. https://www.tcl-lang.org/software/tcltk/license.html