AFS_COMPILE_ET(1)

NAME
afs_compile_et - Produce error text tables for compilation

SYNOPSIS
afs_compile_et [-debug] [-language <lang>]
    [-prefix <prefix>] [-v <version>]
    [-h <include>] <[-emit <output>]
    error_table>

DESCRIPTION
The afs_compile_et command builds the error text tables for compilation. This includes both a header file that contains a set of mappings between error names and values and a .c (or .msf) file that provides a text table of descriptions.

The <error_table> argument specifies which error table to generate. The error table specification should exist in the current working directory or in the directory specified with -prefix and should be named error_table.et.

By default, afs_compile_et generates two files in one invocation. This is problematic for parallel build systems. The -emit option may be used to generate the output files independently with two separate invocations of afs_compile_et for a given error table. This allows parallel build systems to generate the source and header files, and the targets which depend on the generated source and headers files, in parallel.

CAUTIONS
This command is used internally within the build process for OpenAFS. Most users will access this information via translate_et(1) rather than via afs_compile_et.

This command does not use the standard AFS command-line parsing package.

OPTIONS

-debug
    Does nothing. It neither adds debugging information to the output nor provides additional information on its operation.

-language <lang>
    Specifies the type of output to generate. Currently, only ANSI C and K&R are supported values (via the c and k&r-c values, respectively). The default is ANSI C. There is some support for C++ started, but that is not yet supported.

    The -lang <lang> option is a synonym for -language <lang>>.

-prefix <prefix>
    Specifies the directory to search for the error_table.et file. Specifies the directory to search for the prolog file when the -h option is given. The -p <prefix> option is a synonym for -prefix <prefix>.

-h <include>
    Specifies an input file, called a prolog file, and modifies the name of the header file generated by afs_compile_et.

    When the -h option is given, afs_compile_et will search for a prolog file named <include>.p.h. afs_compile_et will search the current working directory for the prolog file, unless the -p option is given. If the prolog file is found, afs_compile_et will place a verbatim copy of the prolog file contents into the generated header file.

    When the -h option is given, the name of the header file generated by afs_compile_et is <include>.h, instead of <error_table>.h.

    The -h option does not affect the source file generated by afs_compile_et.

-v <version>
    Specified the type of output file: valid values are 1 (the default, for C files) or 2, for .msf file generation.

-emit <output>
    Specifies which program file to generate; the header file or the source file. Specify -emit header (or -emit h) to generate the .h header file. Specify -emit source (or -emit c) to generate the .c (or .msf) source file.

EXAMPLES
The following command generates the files pterror.h and pterror.c, suitable for use with C programs:

   % afs_compile_et -p path/to/src/ptserver pterror

The following command generates K&R style files instead:

   % afs_compile_et -p path/to/src/ptserver -lang 'k&r-c' pterror

The following command generates the pterror.h file, but not the pterror.c file.

   % afs_compile_et -p path/to/src/ptserver -emit header pterror

The following command generates the pterror.c file, but not the pterror.h file.

   % afs_compile_et -p path/to/src/ptserver -emit source pterror

SEE ALSO
translate_et(1)

COPYRIGHT
Copyright 2009 Steven Jenkins <steven@endpoint.com>

This documentation is covered by the IBM Public License Version 1.0. This man page was written by Steven Jenkins for OpenAFS.