Documentation

Not logged in
Bounty program for improvements to Tcl and certain Tcl packages.


[ Home | Main Table Of Contents | Table Of Contents | Keyword Index ]

NAME

kettle_app - Kettle - Application - Build Interpreter

Table Of Contents

SYNOPSIS

package require Tcl 8.5 9

kettle ?-f buildfile? ?-trace? (goal|--option value)...

DESCRIPTION

Welcome to Kettle, an application and set of packages providing support for the easy building and installation of pure Tcl packages, and Critcl based Tcl packages.

Please read the document Kettle - Introduction to Kettle, if you have not done so already, to get an overview of the whole system.

Here we document the kettle application available to a user of kettle, i.e. a package developer using (or wishing to use) kettle as the build system for their code.

This application resides between the kettle core and the build script written by the package developer, as shown in the architectural diagram below.

For the build (declaration) commands available to build scripts based on kettle see Kettle - Build Declarations.

The kettle application

The kettle application is the main interpreter for build declarations. It can be used directly, or as a shell in the hash-bang line of build files.

Its general syntax is

Options

Standard Recipes

The following recipes are understood by kettle regardless of build definitions. They are its standard recipes.

build.tcl Example

A simple example of a build.tcl script is that for kettle itself.

Stripping out the special code taking care of the fact that it cannot assume to have kettle installed already this reduces to the code below, and of that only the last two lines are relevant in terms of build declarations. The first three are the (bourne) shell magic to find and run the kettle application in the PATH environment variable. (The actual code assumes that kettle is found the working directory, again it cannot assume to be installed already).

#!/bin/sh
# -*- tcl -*- \
exec kettle -f "$0" "${1+$@}"
kettle tcl
kettle tclapp kettle

The code asks the system to search for and handle all Tcl script packages to be found in the directory of the "build.tcl" file, and declares that we have a script application named kettle in the same directory. As the documentation files and figures are in the standard locations, kettle tcl is allowed to handle them implicitly.

Done.

License

This package, written by Andreas Kupries, is BSD licensed.

Bugs, Ideas, Feedback

This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such at the Kettle Tracker. Please also report any ideas for enhancements you may have for either package and/or documentation.

KEYWORDS

build tea

CATEGORY

Build support