![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
More on Customizing Build KeysBesides defining and customizing build policies, customization may also be accomplished by modifying the build keys themselves. Of particular interest is customization by changing the command translation tables.
Build Management customization is described in the C++ Compiler Reference.
Customizing Command Translation Tables
Command translation tables are used to determine the meaning of a particular build command on a particular class of object. The command translation table is stored as a property in the file Properties.sw in the build key.
The format of a command translation table is:
{Command_Translation: { entry1, entry2, ... } Command_Translation}
where each entry has the format:
{ object-class, build-command, "command-string" }
The fields in a command translation entry have the following meaning:
- object-class
The class of object to which this command translation will apply. The class may be any recognized OMS class.
- build-command
The build command to which the translation will apply for the designated object class. The set of build commands are those listed previously.
- command-string
A string containing Bourne shell commands which will be executed. This string is subject to key word replacement in the context of the objects of the designated class to which the original command was applied.
Command execution occurs in the following sequence:
- 1. . The original arguments to the build command are placed in sets. Each set contains objects which have the same class and the same parent directory.
- 2. . For each object set, the command translation table is searched for the command translation for the specified class. If no entry for the specified class is found then the table is searched for an entry for the parent class. If no command translation is found for the original class or any parent class then an error is emitted and no further processing occurs.
- 3. . If a command string is identified then the string undergoes keyword replacement in the context of the set of objects.
- 4. . The resulting string (with keywords replaced) is executed in a Bourne shell subprocess. If the string contains separators of the form "<;;>" then the separate substrings are executed consecutively in separate shells.
Additional Topics
Rational Software Corporation http://www.rational.com support@rational.com techpubs@rational.com Copyright © 1993-2001, Rational Software Corporation. All rights reserved. |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |