How does tcc locate the build tool?
locates the build tool by using the
environment variable in the normal way.
processes a test case in build mode it first changes
to the test case source directory.
executes the build tool exactly as specified by the
variable in the build mode configuration file.
Sometimes a test suite is organised so that the tools are
located in a
directory below the test suite root directory.
does not search this location automatically so, if you want to organise
your test suite in this way, you should include this directory in your
Alternatively, you can
specify the location of the
build tool relative to the test case source directory.
For example, in the
test suite that is part of the
distribution, the build tool is tet-root
and the test cases live in directories below tet-root
The build mode configuration file contains the line
and the test case setup script prepends tet-root
is able to find the build tool by using
The same result could have been achieved without the need to modify
by specifying the location of the build tool relative to each test case
source directory, thus:
(Note that when this is done it is necessary for all the test case source
directories to be on the same level in the directory hierarchy.)
In Distributed TETware the build tool is located as described above
on each system.
On a remote system the value of
that is used is the one in
environment on that system.
On UNIX systems where
is started on demand from an entry in
the default value of
is usually fairly minimal; for example:
If necessary you can specify a different value of
by using the
For example, on a SVR4 system where the compilation tools live in
you might put the following entry in
tcc stream tcp nowait tet tet-root/bin/in.tccd \
in.tccd -e PATH=:/usr/bin:/usr/ccs/bin
On Windows NT
the o/s defines an environment variable called
and the MKS shell
defines a variable called
function in the Microsoft C runtime support library is case-insensitive,
locates the build tool, it is possible that either the value of
may be used.
Therefore, if you change the value of
from the MKS shell, you should be sure to change the value of
If you use a Shell script build tool on a Win32 system, its name must
Alternatively you can say:
in the execute mode configuration file.
A shell script should not start with a
line since the MKS shell tries to interpret this and probably won't do
what you expect.
In any event, using
is always non-portable on Win32 systems since the location of files
can vary from system to system.
All the information in this article also applies to the prebuild
tool, the build fail tool and the clean tool.
The exec tool is processed slightly differently by
in that it might be executed in the test case source directory,
in a location below the alternate execution directory, or in a location
below the temporary directory, depending on the settings of certain
configuration and environment variables.
Therefore it is best not specify a
with a relative path name because when the execution directory is
changed the tool will no longer be found.
"Build mode processing'' and
"Configuration variables which
modify TETware's operation'' in the TETware Programmers Guide.
manual page in the TETware User Guide.