1.TH SCC-CPP 1 scc\-VERSION2.SH NAME3scc-cpp \- C preprocessor wrapper4.SH SYNOPSIS5.B scc-cpp6.RB [ \-dw ]7.RB [ \-M ]8.RB [ \-D9.IR def[=val] ] ...10.RB [ \-I11.IR dir ] ...12.RB [ \-U13.IR def ] ...14.RB [ \-o15.IR outfile ]16.RI [ sourcefile ...]17.SH DESCRIPTION18.B scc-cpp19is a wrapper that invokes the C preprocessor stage of the scc compiler.20It is equivalent to running21.B scc-cc \-E22with the same arguments.23The preprocessor expands macros, processes24.B #include25directives, handles conditional compilation, and strips comments,26producing preprocessed C source on standard output or in the specified27output file.28.SH OPTIONS29The following options are meaningful to the preprocessor.30All other options accepted by31.BR scc-cc (1)32are silently passed through but have no effect during preprocessing.33.TP34.B \-d35Output internal tool messages.36.TP37.BI \-D " define[=value]"38Predefine39.I define40as a macro, optionally with a replacement text41.IR value .42This option may be specified multiple times.43.TP44.BI \-I " directory"45Add46.I directory47to the list of directories searched for48.B #include49files.50User-specified directories are searched before the standard system51include directories.52This option may be specified multiple times.53.TP54.B \-M55Instead of producing preprocessed output, output a rule suitable for56.BR make (1)57describing the dependencies of the main source file.58.TP59.BI \-o " outfile"60Write output to61.I outfile62instead of standard output.63.TP64.BI \-U " define"65Undefine66.IR define ,67cancelling any previous definition made with68.B \-D69or by the compiler's built-in predefined macros.70This option may be specified multiple times.71.TP72.B \-w73or74.BI \-W " param"75Enable warning messages.76The parameter of77.B \-W78is ignored for compatibility reasons.79.SH ENVIRONMENT VARIABLES80The following environment variables influence the behaviour of81.BR scc-cpp ,82which are inherited from83.BR scc-cc (1).84.TP85.B ARCH86Defines the target architecture (e.g.87.IR amd64 ,88.IR i386 ).89This affects predefined macros exposed to the preprocessor.90.TP91.B SYS92Defines the target operating system (e.g.93.IR linux ,94.IR openbsd ).95This affects predefined macros exposed to the preprocessor.96.TP97.B ABI98Defines the target application binary interface (e.g.99.IR sysv ).100.TP101.B FORMAT102Defines the format of the output object file.103.TP104.B SCCPREFIX105Defines the path prefix under which the scc suite is installed.106.B scc-cpp107uses this to locate108.BR scc-cc (1).109If not set, the scc tools fall back to their compile-time110.BR PREFIX .111.SH EXAMPLES112Preprocess a source file and print the result to standard output:113.IP114.EX115scc-cpp hello.c116.EE117.PP118Preprocess with macro definitions and an extra include path:119.IP120.EX121scc-cpp \-DDEBUG \-DVERSION=2 \-I./include \-o hello.i hello.c122.EE123.PP124Generate125.BR make (1)126dependency rules:127.IP128.EX129scc-cpp \-M hello.c130.EE131.PP132Undefine a macro before preprocessing:133.IP134.EX135scc-cpp \-UFOO hello.c136.EE137.SH SEE ALSO138.BR scc-cc (1),139.BR scc (1)