afs_compile_et1
Produce error text tables for compilation
Usage
afs_compile_et [-debug]
[-language
<lang>]
[-prefix
<prefix>]
[-v
<version>]
[-h
<include>]
<
[-emit
<output>]
Overview
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
candk&r-cvalues, 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
-hoption 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
-hoption is given,afs_compile_etwill search for a prolog file named <include>.p.h.afs_compile_etwill search the current working directory for the prolog file, unless the-poption is given. If the prolog file is found,afs_compile_etwill place a verbatim copy of the prolog file contents into the generated header file.When the
-hoption is given, the name of the header file generated byafs_compile_etis <include>.h, instead of <error_table>.h.The
-hoption does not affect the source file generated byafs_compile_et.
-
-v <version> -
Specified the type of output file: valid values are 1 (the default, for C files) or 2, for
.msffile 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
Releases
7 releases since Debian 7 (Wheezy); the text changed 6 times.
-emit since Debian 9 (Stretch);
-h since Debian 9 (Stretch).