scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

scc-cc.1 (3087B)


      1 .TH SCC 1 scc\-VERSION
      2 .SH NAME
      3 scc-cc \- simple C compiler with magic
      4 .SH SYNOPSIS
      5 .B scc-cc
      6 .RB [ \-cdgkqQsw ]
      7 .RB [ \-M | \-E | \-S ]
      8 .RB [ \-D
      9 .IR def[=val] ] ...
     10 .RB [ \-I
     11 .IR dir ] ...
     12 .RB [ \-L
     13 .IR dir ] ...
     14 .RB [ \-U
     15 .IR def ] ...
     16 .RB [ \-l
     17 .IR lib ]
     18 .RB [ \-a
     19 .IR arch ]
     20 .RB [ \-o
     21 .IR outfile ]
     22 .RB [ \-O
     23 .IR level ]
     24 .RB [ \-t
     25 .IR sys ]
     26 .RB sourcefile ...
     27 .SH DESCRIPTION
     28 .B scc
     29 is a simple C compiler which takes several
     30 .I sourcefiles
     31 and compiles them to an executable. The default output file is
     32 .B a.out,
     33 which can be changed by defining some
     34 .I outfile.
     35 .SH OPTIONS
     36 .TP
     37 .B \-c
     38 Do not run the linker.
     39 .TP
     40 .B \-d
     41 Do output internal tool messages.
     42 .TP
     43 .BI \-D " define[=value]"
     44 Specify a
     45 .I define
     46 for the preprocessor.
     47 .TP
     48 .B \-E
     49 Stop after the preprocessing stage, do not run the compiler and output the then
     50 resulting source.
     51 .TP
     52 .B \-g
     53 Do generate debug information.
     54 .TP
     55 .BI \-I " directory"
     56 Define a include
     57 .I directory
     58 to get header files from. This directory is searched for before standard
     59 include directories.
     60 .TP
     61 .B \-k
     62 Do keep temporary objects.
     63 .TP
     64 .BI \-l " library"
     65 Link against this 
     66 .I library.
     67 .TP
     68 .BI \-L " directory"
     69 Define a library
     70 .I directory
     71 to resolve dependencies from. This directory is used before the standard
     72 paths.
     73 .TP
     74 .BI \-a " architecture"
     75 Define the
     76 .I architecture
     77 to compile for (i.e. amd64, i386 ...).
     78 .TP
     79 .B \-M
     80 Output a rule for 
     81 .B make
     82 describing the dependencies of the main source file.
     83 .TP
     84 .BI \-o " outfile"
     85 Define the name of the
     86 .I outfile.
     87 .TP
     88 .BI \-O " level"
     89 Define the optimisation
     90 .I level
     91 to compile with. (This is a stub for compatibility reasons.)
     92 .TP
     93 .B \-q
     94 Do not use
     95 .I QBE.
     96 .TP
     97 .B \-Q
     98 Do use the
     99 .I QBE.
    100 .TP
    101 .B \-s
    102 Strip all symbol tables and relocation information from the resulting executable.
    103 .TP
    104 .B \-S
    105 Stop after the compilation stage, do not assemble and output the assembler
    106 source.
    107 .TP
    108 .BI \-t " system"
    109 Define the
    110 .I system
    111 to compile for (i.e. linux, openbsd ...).
    112 .TP
    113 .BI \-U " define"
    114 Undefine a previously defined
    115 .I define
    116 by the -D parameter.
    117 .TP
    118 .BI \-W " param"
    119 or
    120 .B \-w
    121 Show warning messages.
    122 The parameter of
    123 .B \-W
    124 is ignored for compatibility reasons.
    125 .TP
    126 .BI \-f " param"
    127 and
    128 .BI \-m " param"
    129 are ignored for compatibility with other compiler command lines.
    130 In the same way,
    131 the options
    132 .BI \-static ,
    133 .BI \-dynamic ,
    134 .BI \-pedantic ,
    135 .B \-ansi
    136 and any option beginning with
    137 .B \-std=
    138 are ignored for the same reason.
    139 .SH ENVIRONMENT VARIABLES
    140 Certain environment variables control the behaviour of scc.
    141 .TP
    142 .B ARCH
    143 defines the
    144 .I architecture
    145 to compile for (i.e. amd64, i386 ...).
    146 .TP
    147 .B SYS
    148 defines the
    149 .I system
    150 to compile for (i.e. linux, openbsd ...).
    151 .TP
    152 .B ABI
    153 defines the
    154 .I application binary interface
    155 to compile for (i.e. sysv ...).
    156 .TP
    157 .B FORMAT
    158 defines the format of the output executable.
    159 .TP
    160 .B SCCPREFIX
    161 defines the path prefix scc will search the scc suite in.
    162 .SH AUTHORS
    163 See the LICENSE file for the authors.
    164 .SH LICENSE
    165 See the LICENSE file for the terms of redistribution.
    166 .SH SEE ALSO
    167 .BR scc-cpp (1),
    168 .BR scc-make (1)
    169 .SH BUGS
    170 See the TODO file in the distribution.