---
name: "afs_compile_et"
section: "1"
platform: "linux"
package: "libopenafs-dev"
version: "1.8.13.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/afs_compile_et"
---

# afs\_compile\_et(1)

Produce error text tables for compilation

## 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)](/translate_et/1.md) 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)](/translate_et/1.md)

## 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.
