tspec(1)

NAME
tspec - An API specification tool

SYNOPSIS
tspec [ options ] api

tspec [ options ] api header

tspec [ options ] api header subset

tspec [ options ] -l file

DESCRIPTION
tspec is a tool for translating a form of API (Application Programming Interface) description into the #pragma headers used by tcc(1) to represent such APIs. It is more fully documented in tspec - An API Specification Tool.

There are two basic forms of command-line. The first specifies that tspec should process the whole of the API description api, or just one header from it, header, or just a subset of that header, subset, writing its output to the standard output directory. The second (using the -l option) specifies that it should process a single file, writing the output to the standard output.

OPTIONS

-Cfile
    Causes tspec to insert the contents of file as a copyright message at the start of each output file. This can also be specified using the TSPEC_COPYRIGHT environmental variable. The order of precedence for this and other similar options is, built-in values lowest, environmental variables next, and command-line options highest.

-Idir
    Add the colon-separated list of directories dir to the list of directories searched for input files. Input directories can also be specified using the TSPEC_INPUT environmental variable.

-Odir
    Specifies that the directory dir should be used as a base for the include output files. This can also be specified using the TSPEC_INCL_OUTPUT or the TSPEC_OUTPUT environmental variable. In the latter case it is given by ${TSPEC_OUTPUT}/include.

-Sdir
    Specifies that the directory dir should be used as a base for the source output files. This can also be specified using the TSPEC_SRC_OUTPUT or the TSPEC_OUTPUT environmental variable. In the latter case it is given by ${TSPEC_OUTPUT}/src.

-c  Causes tspec to only check the input files, not to generate any output files.

-e  Causes tspec to only run its preprocessor phase, writing the output to the standard output.

-f  Causes tspec to ignore date stamps when deciding whether it is necessary to update an output file, and to force it to be updated.

-i  Causes tspec to print an index of all the objects specified in the input files to the standard output. This index is designed to be used as a quick guide to the contents of an API.

-l  Specifies local input mode (see above).

-m  Causes tspec to print an index intended for machine processing of all the objects specified in the input files to the standard output. This index is suitable for processing with text processing tools such as awk(1).

-n  Causes tspec to update any output files which are younger than the tspec executable. This is useful primarily in development work on tspec.

-p  Indicates to tspec that its input has already been preprocessed (i.e. that it is the output of a previous -e option).

-r  Causes tspec to only produce output for implemented, as opposed to used, objects.

-s  Causes tspec to check each header in an API separately, as opposed to all at once (as with the -c option).

-u  Causes tspec to generate unique token names for the objects in its input files.

-v  Causes tspec to enter verbose mode, in which it reports on the output files it creates. If two -v options are given then tspec enters very verbose mode, in which it gives more information on its activities.

SEE ALSO
tcc(1), tdfc(1).