tcltm
is a Tcl Module builder. It will create a Tcl module *.tm
file based upon the .tcltm
configuration file present within a project.
The module file which is generated is a pure Tcl implementation.
Please note that if a module is created which has dependencies that the create module will depend on these dependencies.
These dependencies are required to use tcltm
to create a Tcl Module.
Dependency | Required | Notes |
---|---|---|
Tcl >= 8.5 | Yes | |
sha1 | No | If not present then SHA1 Hash will be disabled |
yaml >= 0.3.6 | Yes | Required for tcltm to reads its config file |
These dependencies are required by the target system to load or run the created Tcl Module.
- Tcl > 8.5
- tcltest
tcltm -d . -o ../
See help tcltm --help
The following configuration options can be given by environment variables. For example the version number of the package to be build can be set to the git tag by using this option.
Available overrides from environment variables.
Variable | Override |
---|---|
VERSION | Package Version. |
tcltm
can be used from a docker container. The Tcl project is to be mounted as the /data
volume.
The docker image which is built from this repository, is available as datacore/tcltm
.
The example below the current directory on the host contains the Tcl project with the .tcltm
config.
Example:
docker pull datacore/tcltm
docker run --rm --name tcltm -v $(pwd):/data -it datacore/tcltm tcltm
A Tcl Module is created based upon the .tcltm file present within the directory.
A .tcltm
configuration file contains the entire specification for a package. Within a directory multiple packages can be defined in Tcl. .tcltm
supports the specification of multiple packages in a single file.
For full specification see .tcltm specification
See the Development Guide