SYNOPSIS

ecc [-t target-platform]

    [-cpp C-preprocessor]
    [-defaultns default-namespace]
    [-strictns]
    [-memguard]
    [-nolinenumbers]
    [understood-C-flags]
    -c input
    [-o output]
    [-symbols intermediate-dir]

DESCRIPTION

ecc will compile the eC source file specified in input to intermediate C code.

Additionnally, it will generate the symbols import files (.imp) and (if the compiled source contains any internationalizable string) partial translation strings catalogs (.bowl) used by ecs to produce the symbol loader, and generate the module's translation template (.pot).

ecc relies on the symbols (.sym) for the input source as well as any other eC source files imported within it to be precompiled by ecp, and found in intermediate-dir.

OPTIONS

Output

-o output The location and name for the output intermediate C file

(Defaults to the location and name of input with the .ec extension replaced by .c)

Intermediate Directory

-symbols intermediate-dir

Location of symbols (.sym) output from precompiler (ecp), and where to output import files (.imp) and partial translation strings catalogs (.bowl)

Platform

-t target-platform

Where target-platform is one of: win32 linux apple

(Defaults to the host platform if not specified)

Toolchain Options

-cpp C-preprocessor

Which C preprocessor to use (defaults to gcc)

Namespace Options

-defaultns default-namespace

   Assume all classes and namespaces defined in source file are within the namespace default-namespace.

This does not affect constructs defined with the default access mode, which are non-mangled and C compatible.

-strictns

   Do not automatically resolve constructs within namespaces and sub-namespaces. All classes, functions and defines must then be explicitly qualified with their full namespaces.

Debugging Options

-memguard

   Generate MemoryGuard function call stack information for use with MemoryGuard.

To enable MemoryGuard, the MemoryGuard configuration of the Ecere runtime library must be used. 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. MemoryGuard can then be toggled by toggling the active configuration of the ecere project.

-nolinenumbers

   Omit outputting eC source file line numbers in generated C file.

Understood C Flags

-Iincludedir

-isystem|-isysroot sysincludedir

-Ddefinition

-m32