comparison man/emodules.texi @ 450:98528da0b7fc r21-2-40

Import from CVS: tag r21-2-40
author cvs
date Mon, 13 Aug 2007 11:39:20 +0200
parents abe6d1db359e
children 33f0f28b945c
comparison
equal deleted inserted replaced
449:c83749d23eb5 450:98528da0b7fc
348 @findex vars_of_module 348 @findex vars_of_module
349 This required function contains calls to macros such as 349 This required function contains calls to macros such as
350 @code{DEFVAR_LISP()}, @code{DEFVAR_BOOL()} etc, and its purpose is to 350 @code{DEFVAR_LISP()}, @code{DEFVAR_BOOL()} etc, and its purpose is to
351 declare and initialize all and any variables that your module defines. 351 declare and initialize all and any variables that your module defines.
352 They syntax for declaring variables is identical to the syntax used for 352 They syntax for declaring variables is identical to the syntax used for
353 all internal @value{emacs} source code. 353 all internal @value{emacs} source code. If the module is intended to be
354 usable statically linked into XEmacs, the actions of this function are
355 severely restricted. @xref{General Coding Rules,,,internals,
356 @value{emacs} Internals Manual}. Also see the comments in
357 @file{src/emacs.c} (@code{main_1}). Modules which perform
358 initializations not permitted by these rules will probably work, but
359 dual-use (dynamic loading and static linking) modules will require very
360 careful, and possibly fragile, coding.
354 361
355 @item modules_of_module 362 @item modules_of_module
356 @findex modules_of_module 363 @findex modules_of_module
357 This optional function should be used to load in any modules which your 364 This optional function should be used to load in any modules which your
358 module depends on. The @value{emacs} module loading code makes sure that the 365 module depends on. The @value{emacs} module loading code makes sure that the
663 @cindex linking 670 @cindex linking
664 671
665 Once all of your source code files have been compiled (including the 672 Once all of your source code files have been compiled (including the
666 generated init file) you need to link them all together to create the 673 generated init file) you need to link them all together to create the
667 loadable module. To do this, you invoke @code{ellcc} in link mode, by 674 loadable module. To do this, you invoke @code{ellcc} in link mode, by
668 passing the @code{--mode-link} option. You need to specify the final 675 passing the @code{--mode=link} option. You need to specify the final
669 output file using the @code{--mod-output=NAME} option, but other than 676 output file using the @code{--mod-output=NAME} option, but other than
670 that all other arguments are passed on directly to the system compiler 677 that all other arguments are passed on directly to the system compiler
671 or linker, along with any other required arguments to create the 678 or linker, along with any other required arguments to create the
672 loadable module. 679 loadable module.
673 680