ebe7dd73d8fea171f03f0b61804c2c52694b4ff4
[sdk] / share / man / man1 / ecc.1
1 .TH ECC "1" "August 2012" "ecc" "Ecere SDK/eC Compiling Tools"
2 .SH NAME
3 ecc - eC Compiler
4 .SH SYNOPSIS
5 .IX
6 ecc [\fB-t\fR \fItarget-platform\fR]
7     [\fB-cpp\fR \fIC-preprocessor\fR]
8     [\fB-defaultns\fR \fIdefault-namespace\fR]
9     [\fB-strictns\fR]
10     [\fB-memguard\fR]
11     [\fB-nolinenumbers\fR]
12     [optional-C-flags]
13     \fB-c\fR \fIinput\fR
14     [\fB-o\fR \fIoutput\fR]
15     [\fB-symbols\fR \fIintermediate-dir\fR]
16 .SH DESCRIPTION
17 ecc will compile the eC source file specified in \fIinput\fR to intermediate C code.
18 .P
19 Additionnally, it will generate the symbols import files (\fB.imp\fR) and (if the compiled source contains any internationalizable string) partial translation strings catalogs (\fB.bowl\fR) used by \fBecs\fR to produce the symbol loader, and generate the module's translation template (\fB.pot\fR).
20 .P
21 ecc relies on the symbols (\fB.sym\fR) for the input source as well as any other eC source files imported within it to be precompiled by \fBecp\fR, and found in \fIintermediate-dir\fR.
22 .SH OPTIONS
23 .SS Input
24 \fB-c\fR \fIinput\fR
25 The eC source file to compile
26 .SS Output
27 \fB-o\fR \fIoutput\fR
28 The location and name for the output intermediate C file
29 .RS 0
30 (Defaults to the location and name of \fIinput\fR with the \fB.ec\fR extension replaced by \fB.c\fR)
31 .SS Intermediate Directory
32 \fB-symbols\fR \fIintermediate-dir\fR
33 .P
34 Location of symbols (\fB.sym\fR) output from precompiler (\fBecp\fR), and where to output import files (\fB.imp\fR) and partial translation strings catalogs (\fB.bowl\fR)
35 .SS Platform
36 \fB-t\fR \fItarget-platform\fR
37 .P
38 Where \fBtarget-platform\fR is one of: \fBwin32 linux apple\fR
39 .RS 0
40 (Defaults to the host platform if not specified)
41 .SS Toolchain Options
42 \fB-cpp\fR \fIC-preprocessor\fR
43 .P
44 Which C preprocessor to use (defaults to \fBgcc\fR)
45 .SS Namespace Options
46 \fB-defaultns\fR \fIdefault-namespace\fR
47 .P
48    Assume all classes and namespaces defined in source file are within the namespace \fIdefault-namespace\fR.
49 This does not affect constructs defined with the \fBdefault\fR access mode, which are non-mangled and C compatible.
50 .P
51 \fB-strictns\fR
52    Do not automatically resolve constructs within namespaces and sub-namespaces. All classes, functions and defines must then be explicitly qualified with their full namespaces.
53 .SS Debugging Options
54 .P
55 \fB-memguard\fR
56    Generate MemoryGuard function call stack information for use with MemoryGuard.
57 To enable MemoryGuard, the MemoryGuard configuration of the Ecere runtime library must be used.
58 The easiest way to do so is adding the ecere runtime library project (sdk/ecere/ecere.epj) to the workspace, toggle its configuration to "MemoryGuard" and build it.
59 MemoryGuard can then be toggled by toggling the active configuration of the ecere project.
60 .P
61 \fB-nolinenumbers\fR
62    Omit outputting eC source file line numbers in generated C file.
63 .P
64 \fB-I\fR\fIincludedir\fR
65 .P
66 \fB-isystem\fR|\fB-isysroot\fR \fIsysincludedir\fR
67 .P
68 \fB-D\fR\fIdefinition\fR
69 .P
70 \fB-m32\fR