xref: /plan9/sys/man/1/cpp (revision f54a2a50c3974e61d1e72e300aebab42add463f1)
CPP 1
NAME
cpp - C language preprocessor
SYNOPSIS
cpp [ option ... ] [ ifile [ ofile ] ]
DESCRIPTION
Cpp\^ interprets ANSI C preprocessor directives and does macro substitution. The input ifile and output ofile default to standard input and standard output respectively.

The options are:

-D name\^

0

-D name=def\^

-I dir\^ Same as in 8c "(1): add dir to the search for search directives.

-M Generate no output except a list of include files in a form suitable for specifying dependencies to mk (1). Use twice to list files in angle brackets.

-N Turn off default include directories. All must be specified with -I , or in the environment variable include . Without this option, /$objtype/include and /sys/include are used as the last two searched directories for include directives, where $objtype is read from the environment.

-V Print extra debugging information.

-P Do not insert `` #line '' directives into the output.

-+ Understand C++ comments.

-. Inhibit include search in the source's directory.

-i Print the list of directories searched when #include is found. Last listed are searched first.

In the absence of the -P option, the processed text output is sprinkled with lines that show the original input line numbering:

#line linenumber .L "ifile"

The command reads the environment variable include and adds its (blank-separated) list of directories to the standard search path for #include directives. They are looked at before any directories specified with -I , which are looked at before the default directories.

The input language is as described in the ANSI C standard. The standard Plan 9 C compilers do not use cpp ; they contain their own simple but adequate preprocessor, so cpp is usually superfluous.

FILES
.TF /objtype/include

/sys/include directory for machine-independent include files

/$objtype/include directory for machine-dependent include files

SOURCE
/sys/src/cmd/cpp
SEE ALSO
8c (1)