scc-cpp.man - scc - simple c99 compiler
HTML git clone git://git.simple-cc.org/scc
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
scc-cpp.man (2956B)
---
1 .TH SCC-CPP 1 scc\-VERSION
2 .SH NAME
3 scc-cpp \- C preprocessor wrapper
4 .SH SYNOPSIS
5 .B scc-cpp
6 .RB [ \-dw ]
7 .RB [ \-M ]
8 .RB [ \-D
9 .IR def[=val] ] ...
10 .RB [ \-I
11 .IR dir ] ...
12 .RB [ \-U
13 .IR def ] ...
14 .RB [ \-o
15 .IR outfile ]
16 .RI [ sourcefile ...]
17 .SH DESCRIPTION
18 .B scc-cpp
19 is a wrapper that invokes the C preprocessor stage of the scc compiler.
20 It is equivalent to running
21 .B scc-cc \-E
22 with the same arguments.
23 The preprocessor expands macros, processes
24 .B #include
25 directives, handles conditional compilation, and strips comments,
26 producing preprocessed C source on standard output or in the specified
27 output file.
28 .SH OPTIONS
29 The following options are meaningful to the preprocessor.
30 All other options accepted by
31 .BR scc-cc (1)
32 are silently passed through but have no effect during preprocessing.
33 .TP
34 .B \-d
35 Output internal tool messages.
36 .TP
37 .BI \-D " define[=value]"
38 Predefine
39 .I define
40 as a macro, optionally with a replacement text
41 .IR value .
42 This option may be specified multiple times.
43 .TP
44 .BI \-I " directory"
45 Add
46 .I directory
47 to the list of directories searched for
48 .B #include
49 files.
50 User-specified directories are searched before the standard system
51 include directories.
52 This option may be specified multiple times.
53 .TP
54 .B \-M
55 Instead of producing preprocessed output, output a rule suitable for
56 .BR make (1)
57 describing the dependencies of the main source file.
58 .TP
59 .BI \-o " outfile"
60 Write output to
61 .I outfile
62 instead of standard output.
63 .TP
64 .BI \-U " define"
65 Undefine
66 .IR define ,
67 cancelling any previous definition made with
68 .B \-D
69 or by the compiler's built-in predefined macros.
70 This option may be specified multiple times.
71 .TP
72 .B \-w
73 or
74 .BI \-W " param"
75 Enable warning messages.
76 The parameter of
77 .B \-W
78 is ignored for compatibility reasons.
79 .SH ENVIRONMENT VARIABLES
80 The following environment variables influence the behaviour of
81 .BR scc-cpp ,
82 which are inherited from
83 .BR scc-cc (1).
84 .TP
85 .B ARCH
86 Defines the target architecture (e.g.
87 .IR amd64 ,
88 .IR i386 ).
89 This affects predefined macros exposed to the preprocessor.
90 .TP
91 .B SYS
92 Defines the target operating system (e.g.
93 .IR linux ,
94 .IR openbsd ).
95 This affects predefined macros exposed to the preprocessor.
96 .TP
97 .B ABI
98 Defines the target application binary interface (e.g.
99 .IR sysv ).
100 .TP
101 .B FORMAT
102 Defines the format of the output object file.
103 .TP
104 .B SCCPREFIX
105 Defines the path prefix under which the scc suite is installed.
106 .B scc-cpp
107 uses this to locate
108 .BR scc-cc (1).
109 If not set, the scc tools fall back to their compile-time
110 .BR PREFIX .
111 .SH EXAMPLES
112 Preprocess a source file and print the result to standard output:
113 .IP
114 .EX
115 scc-cpp hello.c
116 .EE
117 .PP
118 Preprocess with macro definitions and an extra include path:
119 .IP
120 .EX
121 scc-cpp \-DDEBUG \-DVERSION=2 \-I./include \-o hello.i hello.c
122 .EE
123 .PP
124 Generate
125 .BR make (1)
126 dependency rules:
127 .IP
128 .EX
129 scc-cpp \-M hello.c
130 .EE
131 .PP
132 Undefine a macro before preprocessing:
133 .IP
134 .EX
135 scc-cpp \-UFOO hello.c
136 .EE
137 .SH SEE ALSO
138 .BR scc-cc (1),
139 .BR scc (1)