Skip to content

gjrtimmer/tcltm

Repository files navigation

tcltm - Tcl Module Builder

pipeline status

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.

Table of Contents

Requirements

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

Runtime

These dependencies are required by the target system to load or run the created Tcl Module.

  • Tcl > 8.5

Development Libraries

  • tcltest

Usage

tcltm -d . -o ../

Arguments

See help tcltm --help

Environment Variables

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.

Docker

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.

Docker Hub

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

.tcltm Specification

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

Development

See the Development Guide