EJSMOD(1)                        User Commands                       EJSMOD(1)

NAME
       ejsmod - Ejscript Module Generator

SYNOPSIS
       ejsmod
           --cslots
           --depends
           --dir directory
           --html path
           --listing
           --require 'module ...'
           --search ejsPath
           --showDebug
           --version
           modules ...

DESCRIPTION
       The  ejsmod  command  is a utility program for Ejscript module files to
       generate symbolic assembler listings, slot defintion files  for  native
       classes and HTML documentation.

LISTINGS
       To  generate symbolic assembler listings, compile your source using the
       ejsc command with the --debug  switch.  Then  invoke  ejsmod  with  the
       --listing  switch and supply the required modules. An assembler listing
       file with a ".lst" extension will be generated for  each  corresponding
       logical module directive.

       The  listing  files interleave disassembled byte code with the relevant
       source code statements. The listings describe each module and its  con-
       stituent functions and initializers. The bindings for all types and the
       constant pool are also listed.

DOCUMENTATION
       To generate HTML documentation for your code, first compile  using  the
       ejsc  command  with  the  --doc  switch. Then invoke ejsmod and use the
       --html switch with the directory where you want the documentation  gen-
       erated.

       The  HTML  documentation  will  include all modules, namespaces, types,
       functions, properties and variable declarations.

BINDING SLOT FILES
       Ejscript supports the creation of native types which are coded in the C
       language. Native types are useful for core system types and for classes
       that must run at near  binary  speed.  To  facilitate  creating  native
       types,  ejsmod  generates  slot binding definition headers which define
       symbolic offsets for declarations. See the  Native  class  samples  for
       further information.

OPTIONS
       --cslots
              Generate  slot binding definition headers for the input modules.

       --depends
              Generate the dependant modules required by the input modules.

       --dir directory
              Set the output directory for slot files and listings.

       --html dir
              Generate HTML documentation  to  the  specified  directory.  The
              source  files  must  have  been  compiled by ejsc with the --doc
              switch to include the documentation strings in the module files.

       --listing
              Generate symbolic assembler files for each input module.

       --require 'module ...'
              List of modules to preload before loading the input modules.

       --search ejsPath
              Set  the  module search path. The module search path is a set of
              directories that the ejsmod command will use when  locating  and
              loading Ejscript modules.  The search path will always have some
              system directories appended to  the  end.  These  include  paths
              specified  via  the  EJSPATH environment variable and key system
              directories such as the Ejscript system module directory and the
              directory containing the ejsmod command.

              The  search  path  value is similar in format to the system PATH
              variable format.  On windows, path segments are separated by ";"
              and on Linux, Unix, FreeBSD and MAC, the path segments are sepa-
              rated by ":" delimiters.

              Given a module named "a.b.c" in a script, ejsmod  will  use  the
              following search strategy to locate the module:

              1. Search for a module file named "a.b.c.mod"

              2. Search for a module file named "a/b/c.mod"

              3. Search for a module file named "a.b.c.mod" in the search path

              4. Search for a module file named c.mod in the search path

       --showDebug
              Show debug instructions in the symbolic assembler listings.

       --version
              Print the ejsmod command version and exit.

BACKGROUND
       Ejscript is an enhanced implementation of the JavaScript  language  for
       use  in embedded applications such as web servers, embedded devices and
       mobile phones. It is especially well suited for Server-Side  JavaScript
       web applications.

       Ejscript  is a dynamic, interpreted, object-oriented scripting language
       that supports classes, objects, exceptions, statements, expressions and
       a powerful suite of data types.

REPORTING BUGS
       Report bugs to dev@embedthis.com.

COPYRIGHT
       Copyright  (C) Embedthis Software. Ejscript is a trademark of Embedthis
       Software.

SEE ALSO
       ejsc, ejs

ejsmod                            March 2014                         EJSMOD(1)