scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | 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)