cpmake: fix open source out of any subsystem
[cpc.git] / man / cpl.1
blob2bbbe4b79c5bb3e36a7dbacdc9872a8e1a60ce9f
1 .Dd July 22, 2019
2 .Dt CPL 1
3 .Os \" Current OS
4 .Sh NAME
5 .Nm cpl
6 .Nd Component Pascal Linker
7 .Sh SYNOPSIS
8 .Nm
9 .Op Ar options
10 .Op Fl main Ar module
11 .Op Fl os Ar sys
12 .Op Fl o Ar out
13 .Op Cm modules
14 .Sh DESCRIPTION
15 .Nm
16 combines modules and make executable files. 
17 .Pp
18 Modules initialized in user specified order.
19 .Pp
20 Its arguments are as follows:
21 .Bl -tag -width Ds
22 .It Fl os Ar sys
23 Make excutable file for one of following systems: linux, freebsd, openbsd,
24 win32.
25 .It Fl interp Ar path
26 Specify ELF interpreter.
27 (Default are system dependent)
28 .It Fl o Ar out
29 Specify output program name.
30 .It Fl static
31 Do not link shared libraries.
32 .It Fl dll
33 Link as shared object.
34 .It Fl sinit
35 Use static initialization scheme. By default initialization order managed by
36 Kernel, but with this option modules initialized directly without using Kernel.
37 .It Fl m Ar module , Fl main Ar module
38 Use specified module body as program entry point. In most cases it is Kernel.
39 .It Fl k Ar module , Fl kernel Ar module
40 Use specified module body as runtime kernel. This module must contain
41 procedures NewRec and NewArr that used for dynamic memory allocation.
42 By default used module Kernel.
43 .It Fl codedir Ar path
44 Add search path for code files.
45 .It Fl legacycodedir Ar path
46 Add search path for subsystems with code files.
47 .It Fl trap
48 Trap on first error. Useful for debugging linker itself.
49 .It Fl version
50 Print linker version
51 .El \" End Options List
52 .Sh EXIT STATUS
53 .Ex -std
54 .Sh SEE ALSO
55 .Xr cpc 1
56 .El