man pages: Added manual pages for ear, ecc, ecp, ecs and epj2make
authorJerome St-Louis <jerome@ecere.com>
Wed, 15 Aug 2012 10:21:10 +0000 (06:21 -0400)
committerJerome St-Louis <jerome@ecere.com>
Wed, 15 Aug 2012 10:21:10 +0000 (06:21 -0400)
share/man/man1/ear.1 [new file with mode: 0644]
share/man/man1/ecc.1 [new file with mode: 0644]
share/man/man1/ecp.1 [new file with mode: 0644]
share/man/man1/ecs.1 [new file with mode: 0644]
share/man/man1/epj2make.1 [new file with mode: 0644]

diff --git a/share/man/man1/ear.1 b/share/man/man1/ear.1
new file mode 100644 (file)
index 0000000..6bcf8a4
--- /dev/null
@@ -0,0 +1,61 @@
+.TH EAR "1" "August 2012" "ear" "Ecere SDK/eC Compiling Tools"
+.SH NAME
+ear - Ecere Archiver
+.SH SYNOPSIS
+ear \fIcommand\fR[\fIcommand-options\fR] \fIarchive\fR \fIrequired-parameters\fR
+.SS "Extraction Commands:"
+\fBv\fR (View)         \fIarchive\fR [\fIarchive-paths...\fR]
+.RS 0
+\fBx\fR (Extract All)  \fIarchive\fR [\fIoutput-directory\fR]
+.RS 0
+\fBe\fR (Extract)      \fIarchive\fR \fIarchive-paths...\fR
+   \fBew\fR for specifying an \fIoutput-directory\fR at the end
+.SS "Archiving/Cleanup Commands:"
+.RS 0
+\fBa\fR (Add)          \fIarchive\fR \fIinput-paths...\fR
+.RS 0
+\fBr\fR (Refresh)      \fIarchive\fR \fIinput-paths...\fR
+.RS 0
+\fBu\fR (Update)       \fIarchive\fR \fIinput-paths...\fR
+ Add \fBw\fR (e.g. \fBaw\fR) for specifying an \fIarchive-dest-path\fR at the end
+ Add \fBf\fR (e.g. \fBaf\fR) for packing the contents of folders \fIinput-paths\fR at the root of the archive    
+  (Bug: will crash if any of the \fIinput-paths\fR is a file instead of a folder)
+.RS 0
+\fBm\fR (Move)         \fIarchive\fR \fIarchive-src-paths...\fR \fIarchive-dest-path\fR
+.RS 0
+\fBn\fR (Rename)       \fIarchive\fR \fIarchive-path\fR \fInew-name\fR
+.RS 0
+\fBd\fR (Delete)       \fIarchive\fR \fIarchive-paths...\fR
+.RS 0
+\fBc\fR (Clear)        \fIarchive\fR
+.RS 0
+\fBs\fR (Self Extract) \fIarchive\fR \fIself-extractable\fR
+   Create a self-extractable archive out of an existing archive
+.RS 0
+\fBsa\fR(Self-Ext/Add) \fIarchive\fR \fIinput-paths...\fR
+   Create a new self-extractable archive and add files
+.SH DESCRIPTION
+ear is an archiving tool for manipulating Ecere Archives.
+.P
+It can pack files at the end of existing files (e.g. binaries), which is the basis for the Ecere resources functionality.
+The Ecere runtime library supports accessing such resources from the executable as well as imported modules (shared libraries).
+.P
+The Ecere File manipulation API (which is used by all APIs taking in a file path) understands resources paths with the general format: "<\fIarchive\fR>\fIpath/to/file\fR".
+.P
+Resources from imported modules can be accessed as: "<:\fImodule-name\fR>\fIpath/to/file\fR".
+.P
+Rsources embedded within the application itself can be accessed as: "<:>\fIpath/to/file\fR" or simply ":\fIpath/to/file\fR"
+.P
+Resources can be emdedded inside applications and modules from the Project View's Resources node in the Ecere IDE.
+
+.SH OPTIONS
+.RS 0
+.SS Compression Options (Add, Refresh and Update)
+.RS 0
+\fB0\fR  No Compression
+.RS 0
+\fB1\fR ... \fB9\fR  Fastest Compression ... Best Compression (default = \fB9\fR)
+.RS 0
+.SS Miscellaneous Options
+.RS 0
+\fBq\fR  Quiet mode (Add, Refresh, Update, Extract and Extract All)
diff --git a/share/man/man1/ecc.1 b/share/man/man1/ecc.1
new file mode 100644 (file)
index 0000000..ebe7dd7
--- /dev/null
@@ -0,0 +1,70 @@
+.TH ECC "1" "August 2012" "ecc" "Ecere SDK/eC Compiling Tools"
+.SH NAME
+ecc - eC Compiler
+.SH SYNOPSIS
+.IX
+ecc [\fB-t\fR \fItarget-platform\fR]
+    [\fB-cpp\fR \fIC-preprocessor\fR]
+    [\fB-defaultns\fR \fIdefault-namespace\fR]
+    [\fB-strictns\fR]
+    [\fB-memguard\fR]
+    [\fB-nolinenumbers\fR]
+    [optional-C-flags]
+    \fB-c\fR \fIinput\fR
+    [\fB-o\fR \fIoutput\fR]
+    [\fB-symbols\fR \fIintermediate-dir\fR]
+.SH DESCRIPTION
+ecc will compile the eC source file specified in \fIinput\fR to intermediate C code.
+.P
+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).
+.P
+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.
+.SH OPTIONS
+.SS Input
+\fB-c\fR \fIinput\fR
+The eC source file to compile
+.SS Output
+\fB-o\fR \fIoutput\fR
+The location and name for the output intermediate C file
+.RS 0
+(Defaults to the location and name of \fIinput\fR with the \fB.ec\fR extension replaced by \fB.c\fR)
+.SS Intermediate Directory
+\fB-symbols\fR \fIintermediate-dir\fR
+.P
+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)
+.SS Platform
+\fB-t\fR \fItarget-platform\fR
+.P
+Where \fBtarget-platform\fR is one of: \fBwin32 linux apple\fR
+.RS 0
+(Defaults to the host platform if not specified)
+.SS Toolchain Options
+\fB-cpp\fR \fIC-preprocessor\fR
+.P
+Which C preprocessor to use (defaults to \fBgcc\fR)
+.SS Namespace Options
+\fB-defaultns\fR \fIdefault-namespace\fR
+.P
+   Assume all classes and namespaces defined in source file are within the namespace \fIdefault-namespace\fR.
+This does not affect constructs defined with the \fBdefault\fR access mode, which are non-mangled and C compatible.
+.P
+\fB-strictns\fR
+   Do not automatically resolve constructs within namespaces and sub-namespaces. All classes, functions and defines must then be explicitly qualified with their full namespaces.
+.SS Debugging Options
+.P
+\fB-memguard\fR
+   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.
+.P
+\fB-nolinenumbers\fR
+   Omit outputting eC source file line numbers in generated C file.
+.P
+\fB-I\fR\fIincludedir\fR
+.P
+\fB-isystem\fR|\fB-isysroot\fR \fIsysincludedir\fR
+.P
+\fB-D\fR\fIdefinition\fR
+.P
+\fB-m32\fR
diff --git a/share/man/man1/ecp.1 b/share/man/man1/ecp.1
new file mode 100644 (file)
index 0000000..77ca69b
--- /dev/null
@@ -0,0 +1,53 @@
+.TH ECP "1" "August 2012" "ecp" "Ecere SDK/eC Compiling Tools"
+.SH NAME
+ecp - eC Precompiler (Symbol File Generator)
+.SH SYNOPSIS
+.IX
+ecp [\fB-t\fR \fItarget-platform\fR]
+    [\fB-cpp\fR \fIC-preprocessor\fR]
+    [\fB-defaultns\fR \fIdefault-namespace\fR]
+    [\fB-strictns\fR]
+    [understood-C-flags]
+    \fB-c\fR \fIinput\fR
+    [\fB-o\fR \fIoutput\fR]
+    [\fB-symbols\fR \fIsymbols-dir\fR]
+
+.SH DESCRIPTION
+ecp will parse the eC source file specified in \fIinput\fR and generate a list of symbols.
+.SH OPTIONS
+.SS Input
+\fB-c\fR \fIinput\fR
+The eC source file to compile
+.SS Output
+\fB-o\fR \fIoutput\fR
+The location and name for the output intermediate C file
+.P
+(Defaults to the name of \fIinput\fR with the \fB.ec\fR extension replaced by \fB.sym\fR, placed in the directory specified by \fIsymbolsdir\fR, or current working directory if none is specified)
+.SS Intermediate Directory
+\fB-symbols\fR \fIsymbols-dir\fR
+.P
+Default output location for symbols file (\fB.sym\fR) if no output is specified
+.SS Platform
+\fB-t\fR \fItarget-platform\fR
+.P
+Where \fBtarget-platform\fR is one of: \fBwin32 linux apple\fR (Ignored for \fBecp\fR)
+.SS Toolchain Options
+\fB-cpp\fR \fIC-preprocessor\fR
+.P
+Which C preprocessor to use (defaults to \fBgcc\fR)
+.SS Namespace Options
+\fB-defaultns\fR \fIdefault-namespace\fR
+.P
+   Assume all classes and namespaces defined in source file are within the namespace \fIdefault-namespace\fR.
+This does not affect constructs defined with the \fBdefault\fR access mode, which are non-mangled and C compatible.
+.P
+\fB-strictns\fR
+   Do not automatically resolve constructs within namespaces and sub-namespaces. All classes, functions and defines must be explicitly qualified with their full namespaces.
+.SS Understood C Flags
+\fB-I\fR\fIincludedir\fR
+
+\fB-isystem\fR|\fB-isysroot\fR \fIsysincludedir\fR
+
+\fB-D\fR\fIdefinition\fR
+
+\fB-m32\fR
diff --git a/share/man/man1/ecs.1 b/share/man/man1/ecs.1
new file mode 100644 (file)
index 0000000..e1297b8
--- /dev/null
@@ -0,0 +1,63 @@
+.TH ECS "1" "August 2012" "ecs" "Ecere SDK/eC Compiling Tools"
+.SH NAME
+ecs - eC Symbol Loader Generator
+.SH SYNOPSIS
+.IX
+ecs [-t \fItarget-platform\fR]
+    [\fB-name\fR]
+    [\fB-console\fR]
+    [\fB-dynamiclib\fR|\fB-staticlib\fR]
+    \fIinput\fR [\fIinput\fR]* \fB-o\fR \fIoutput\fR
+    [\fB-symbols\fR \fIintermediate-dir\fR]
+
+.SH DESCRIPTION
+ecs generates a symbol loader for an eC module (shared/static library or executable).
+.SH OVERVIEW
+The symbol loader is what allow for eC runtime module importing and ejection, as well as its reflection capabilities.
+It is an eC source file with a \fB.main.ec\fR suffix, which must itself be compiled and linked into the target.
+.P
+ecs also takes care of the eC Distributed Objects binding mechanism and will include the client and/or server bindings as appropriate within the symbol loader source file.
+.P
+Additionally, ecs takes care of assembling the individual internationalizable string catalogs (\fB.bowl\fR) into translation templates (\fB.pot\fR).
+The generated translation templates are compatible with the GNU gettext format.
+Translations however are handled internally by the Ecere runtime library, and can be embedded within eC libraries and executables under the \fBlocale/\fR module resources folder using the Ecere Archiver (\fBear\fR).
+.P
+For an executable, the symbol loader implements the program's entry point at the C level (main() function).
+For shared libraries, the symbol loader implements an exported __ecereDll_Load function.
+For static libraries, the symbol loader implements a __ecereDll_Load_[\fImodule-name\fR] function.
+.P
+The \fIinput\fR list of files specified should include all symbol files (\fB.sym\fR), import files (\fB.imp\fR) and partial
+translation string catalogs (\fB.bowl\fR) produced by \fBecp\fR and \fBecc\fR for every eC source file within the project.
+.SS Output file
+\fB-o\fR \fIoutput\fR
+.P
+The location and name for the symbol loader generated.
+.RS 0
+The name is normally \fImodule-name\fR\fB.main.ec\fR
+.SH OPTIONS
+.SS Platform
+\fB-t\fR \fItarget-platform\fR
+.P
+Where \fBtarget-platform\fR is one of: \fBwin32 linux apple\fR
+.RS 0
+(Defaults to the host platform if not specified)
+.SS Module Options
+\fB-console\fR
+Specifies that this application is a console application (Windows only)
+.P
+\fB-dynamiclib\fR
+Specifies that this module is a dynamic (shared) library
+
+\fB-staticlib\fR
+Specifies that this module is a static library
+.SS Module Name
+\fB-name\fR \fImodule-name\fR
+.P
+Name to be used for static library entry point, internally by the eC Distributed Objects bindings, as well as for the generated translation template (\fBlocale/\fR\fImodule-name\fR\fB.pot\fR).
+(Defaults to the output file name stripped of the \fBmain.ec\fR suffix)
+.SS Miscellaneous Options
+\fB-symbols\fR \fIintermediate-dir\fR
+
+Specifies the location of the intermediate directory.
+Note: Currently this is only used to check the currently built config, and only generate translation template (\fB.pot\fR) if we are building \fBRelease\fR.
+Since the output file name could be checked instead, this option should probably be phased out entirely as it is otherwise not required for \fBecs\fR.
diff --git a/share/man/man1/epj2make.1 b/share/man/man1/epj2make.1
new file mode 100644 (file)
index 0000000..d22e842
--- /dev/null
@@ -0,0 +1,57 @@
+.TH EPJ2MAKE "1" "August 2012" "epj2make" "Ecere SDK/eC Compiling Tools"
+.SH NAME
+epj2make - Cross-Platform Makefile Generator for Ecere IDE Project Files (\fB.epj\fR)
+.SH SYNOPSIS
+.IX
+epj2make [\fB-c\fR \fIconfiguration\fR] [options] [\fB-o\fR \fIoutput\fR] \fIinput\fR
+.SH DESCRIPTION
+epj2make will generate a makefile from the Ecere IDE project file specified in \fIinput\fR.
+.SH OPTIONS
+.SS Configuration
+\fB-c\fR \fIconfiguration\fR
+.P
+Which Configuration from the project to use for generating the makefile.
+.RS 0
+Defaults to \fBRelease\fR.
+.SS Output
+\fIoutput\fR specifies the file name and location for the generated makefile.
+.RS 0
+If no name is specified, ./\fBproject\fR-\fBConfig\fR.Makefile is used.
+.SS Toolchain Options
+.P
+\fB-make\fR \fImake-tool\fR
+.RS 0
+\fB-cpp\fR \fIC-preprocessor\fR
+.RS 0
+\fB-cc\fR \fIC-compiler\fR
+.RS 0
+\fB-ecp\fR \fIeC-preprocessor\fR
+.RS 0
+\fB-ecc\fR \fIeC-compiler\fR
+.RS 0
+\fB-ecs\fR \fIeC-symbol-generator\fR
+.RS 0
+\fB-ear\fR \fIEcere-archiver\fR
+.SS Directories Options:
+.P
+\fB-i\fR \fIinclude-dir\fR[;\fIinc-dir\fR[...]
+.RS 0
+\fB-l\fR \fIlibrary-dir\fR[;\fIlib-dir\fR[...]
+.SS
+Miscellaneous Options
+.P
+\fB-noglobalsettings\fR
+.P
+\fB-noresources\fR
+.P
+\fB-w\fR Disables warnings (Override configuration setting)
+.P
+\fB-d\fR \fIintermediate-objects-directory\fR
+.P
+\fB-includemk\fR \fIcrossplatform.mk-path\fR
+.SS Obsolete Options
+\fB-t\fR \fItarget-platform\fR
+.P
+Where \fBtarget-platform\fR is one of: \fBwin32 linux apple\fR
+.RE 0
+(\fBObsolete\fR - makefile should work for all platforms)