AFS_COMPILE_ET(1)
β¨ AFS_COMPILE_ET β¨
okay so bestie, welcome to the afs_compile_et page from the AFS Command Reference β this is the little tool that makes your error tables, and yes it's giving very much "internal build machinery" energy, but we're gonna get through it together π
πΈ NAME πΈ
afs_compile_et β produce error text tables for compilation. periodt.
π¦ SYNOPSIS π¦
afs_compile_et [-debug] [-language <lang>]
[-prefix <prefix>] [-v <version>]
[-h <include>] <[-emit <output>]
error_table>
π DESCRIPTION π
So like, the afs_compile_et command builds the error text tables for compilation. And when I say "builds," I mean it makes two whole things:
- a header file, which holds a set of mappings between error names and values π₯
- a
.cfile (or a.msffile, iykyk) that provides a text table of descriptions β¨
The <error_table> argument tells it which error table to generate. That error table specification needs to already be chillin' in the current working directory, or in the directory you named with -prefix, and it's gotta be named error_table.et. no cap.
Now here's the tea: by default, afs_compile_et generates two files in one invocation. And that is, lowkey, a problem for parallel build systems π. That's exactly why the -emit option exists β you can generate the output files independently, with two separate invocations of afs_compile_et for a given error table. Which means parallel build systems get to generate the source and header files, plus the targets that depend on the generated source and header files, all in parallel. iconic. π
β οΈ CAUTIONS β οΈ
- This command is used internally within the build process for OpenAFS. Most users will access this information via
translate_et(1)rather than viaafs_compile_et. π«Ά - This command does not use the standard AFS command-line parsing package. it's built different. π
π OPTIONS π
-debugβ Does absolutely nothing. It neither adds debugging information to the output, nor provides additional information on its operation. It's just... there. vibing. π-language <lang>β Specifies the type of output to generate. Currently, only ANSI C and K&R are supported values β via thecandk&r-cvalues, respectively. The default is ANSI C. There is some support for C++ started, but that is not yet supported. (someday bestie, someday π)
The -lang <lang> option is a synonym for -language <lang>.
-prefix <prefix>β Specifies the directory to search for theerror_table.etfile. Also specifies the directory to search for the prolog file when the-hoption is given. The-p <prefix>option is a synonym for-prefix <prefix>. two names, one queen π-h <include>β Specifies an input file, called a prolog file, and modifies the name of the header file generated byafs_compile_et.
When the -h option is given, afs_compile_et will search for a prolog file named <include>.p.h. It'll search the current working directory for the prolog file, unless the -p option is given. And if the prolog file is found, afs_compile_et will place a verbatim copy of the prolog file contents into the generated header file. copy-paste but make it intentional β¨
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. the source file said "not my business" π
-v <version>β Specifies the type of output file: valid values are1(the default, for C files) or2, 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.hheader file. Specify-emit source(or-emit c) to generate the.c(or.msf) source file. pick your fighter π₯
π 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 π
(go read that one, bestie, it's the user-facing glow-up πΈ)
π 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.
and that's the whole page!! π this lil' doc shipped as part of OpenAFS, last touched 2026-07-27 β shoutout to Steven Jenkins for the write-up, and shoutout to you for making it all the way to the bottom. slay. go build something. ππ¦
π¦ where this page comes from
- ubuntu stonking: libopenafs-dev 1.8.16.1-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms