Mercurial > hg > xemacs-beta
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 |