Mercurial > hg > xemacs-beta
view modules/README @ 4991:97c45e3ad810
implement configure test for whether ndbm.h prototypes are broken
-------------------- ChangeLog entries follow: --------------------
ChangeLog addition:
2010-02-06 Ben Wing <ben@xemacs.org>
* configure:
* configure.ac (AC_LANG):
* configure.ac (TAB):
Add AC_LANG(C++) defs in a way very similar to AC_LANG(C), inserting
our own flags, compiler, etc.
When using g++, if we found ndbm, check whether we can compile a
file using g++ and ndbm.h, calling some DBM routines. Currently, this
fails because the prototypes in ndbm.h are incomplete, omitting the
arguments, which doesn't work with g++. When ndbm.h is bad, we don't
include it and instead provide our own prototypes; otherwise, we
define TRUST_NDBM_H_PROTOTYPES, which signals to use the ones in
ndbm.h.
src/ChangeLog addition:
2010-02-06 Ben Wing <ben@xemacs.org>
* config.h.in: Add undef for TRUST_NDBM_H_PROTOTYPES.
* database.c:
* database.c (struct):
Use TRUST_NDBM_H_PROTOTYPES to determine whether to include ndbm.h
or to specify our own prototypes, in place of CYGWIN_HEADERS (or
more generally, any random list of systems).
* depend: Regenerate.
| author | Ben Wing <ben@xemacs.org> |
|---|---|
| date | Sat, 06 Feb 2010 03:26:34 -0600 |
| parents | 25e260cb7994 |
| children | da1365dd3f07 |
line wrap: on
line source
This directory contains a number of XEmacs dynamic modules. These modules can be loaded directly with the command 'M-x load-module'. However, the preferred method of loading a module is to issue a "(require 'module-name)" command to the Lisp interpreter. This will store information so that a later "(unload-feature 'module-name)" can succeed. To compile one of these modules, simply enter the desired directory, type 'configure', and then 'make'. If you are building the module for an installed XEmacs, then 'make install' will place the module in the appropriate directory for XEmacs to find it later (assuming you have permission to write to that directory). A subsequent 'load-module' or 'require' will then load the module, as described above. Each of these demonstrates different features and limitations of the XEmacs module loading technology. For a complete discussion on XEmacs dynamic modules, please consult the XEmacs Module Writers Guide, which can be found in the ../info directory. For those wanting to get started with module writing, please see the 'sample' directory. It contains two subdirectories: internal and external. The 'internal' subdirectory contains the framework needed to migrate some core piece of XEmacs functionality into code that can either be compiled into the core or built as a separate module. The 'external' subdirectory contains the somewhat simpler framework needed to build a module separately from XEmacs. These should be considered starting places for module writing.
