---
name: "ecp"
section: "1"
platform: "linux"
package: "ecere-dev"
version: "0.44.15-1+b1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/ecp"
---

# ecp(1)

eC Precompiler (Symbol File Generator)

## NAME

ecp - eC Precompiler (Symbol File Generator)

## SYNOPSIS

ecp \[**-t** *target-platform*\]\
     \[**-cpp** *C-preprocessor*\]\
     \[**-defaultns** *default-namespace*\]\
     \[**-strictns**\]\
     \[understood-C-flags\]\
     **-c** *input*\
     \[**-o** *output*\]\
     \[**-symbols** *symbols-dir*\]

## DESCRIPTION

ecp will parse the eC source file specified in *input* and generate a list of symbols.

## OPTIONS

### Output

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

(Defaults to the *input* path with the **.ec** extension replaced by **.sym**, concatenated to the directory specified by *symbolsdir*, or current working directory if none is specified. If any directory in the output path does not exist, it will not be created and no file will be written.)

### Intermediate Directory

**-symbols** *symbols-dir*

The default output location for symbols file (**.sym**) if no output is specified

### Platform

**-t** *target-platform*

Where **target-platform** is one of: **win32 linux apple** (Ignored for **ecp**)

### 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 be explicitly qualified with their full namespaces.

### Understood C Flags

**-I***includedir*

**-isystem**\|**-isysroot** *sysincludedir*

**-D***definition*

**-m32**
