1 .Dd July 22, 2019
2 .Dt CPC 1
3 .Os \" Current OS
4 .Sh NAME
5 .Nm cpc
6 .Nd Component Pascal Compiler
7 .Sh SYNOPSIS
8 .Nm
9 .Op Ar options
10 .Op Ar sourcefiles
11 .Sh DESCRIPTION
12 .Nm
13 compiles modules and produce code files and symbols.
14 .Pp
15 Its arguments are as follows:
16 .Bl -tag -width Ds
17 .It Fl legacy
18 Enable legacy mode, i.e. code files and symbol files are created in
19 BlackBox-like subsystems.
20 .It Fl outsym Ar dir
21 Specify output directory for symbol files or subsystems in legacy mode. Default
22 is current directory.
23 .It Fl outcode Ar dir
24 Specify output directory for code files or subsystems in legacy mode. Default
25 is current directory.
26 .It Fl symdir Ar dir
27 Add search path for symbol files. Current output directory always have highter
28 priority.
29 .It Fl legacysymdir Ar dir
30 Add search path for subsystems with symbol files. Current output directory
31 always have highter priority.
32 .It Fl includedir Ar dir
33 Specify directory with additional .h0 and .c0 files. Used by option -include0.
34 .It Fl [no-]allchecks
35 Switch on/off additional runtime range checks. This generates slightly larger
36 code files and increases the runtime. In most situations the difference is
37 small.
38 .It Fl [no-]srcpos
39 Switch on/off emitting the source code position. This generates slightly more
40 compact code files but removes the link to the terminated procedure's source
41 code position in the trap viewer.
42 .It Fl [no-]structref
43 Switch on/off emitting symbolic information for structured global variables.
44 .It Fl [no-]ref
45 Switch on/off emitting symbolic information for all global variables.
46 .It Fl [no-]obj
47 Switch on/off code file generation.
48 .It Fl [no-]assert
49 Switch on/off runtime checking of ASSERT statements. Use this option only for
50 very time critical code.
51 .It Fl [no-]checks
52 Switch on/off array index checks and pointer initialization. Use this option at
53 your own risk.
54 .It Fl [no-]hints
55 Switch on/off emitting of (COM related) warnings or hints even if there are no
56 errors.
57 .It Fl [no-]trap
58 Switch on/off trapping on first error. Useful for debugging compiler itself.
59 .It Fl [no-]oberon
60 Switch on/off syntax extensions for compatibility with Oberon.
61 .It Fl [no-]com-aware
62 Switch on/off Direct-To-COM compiler extesions.
63 .It Fl [no-]main
64 Switch on/off main program generation. Useful for CPfront backend.
65 .It Fl [no-]include0
66 Switch on/off including additional header to module. Useful for CPfront backend.
67 .It Fl [no-]long-calls
68 Switch on/off use calls from module Long, that emulate LONGINT.
69 .It Fl -[no-]use-time
70 Switch on/off writing compilation date to code file.
71 .It Fl v[erbose]
72 Print more information to stdout.
73 .It Fl version
74 Print compiler version
75 .El \" End Options List
76 .Sh EXIT STATUS
77 .Ex -std
78 .Sh SEE ALSO
79 .Xr cpl 1
80 .El