Developer hints/facts
Getting started
First off, you should read the architecture description.
Presuming you have a just-checked-out version from CVS. The first
you need to do is run a few programs to make proper Makefiles.:
$ autoheader
$ automake -i
$ autoconf
Then we need to configure stuff in a suitable way for
development, which can vary but for me is:
$ ./configure --prefix=/home/stig/tmp --disable-shared --enable-javapart --with-cmucl=/usr/bin/lisp --with-javac=/usr/bin/jikes --with-dsssl-dir=/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/ --enable-cplusplus
The --with-cmucl switch tells it to use
CMU Common Lisp. See the Installation file for
more info on specifying a certain image.
After you've run the configure-command you can try make. And
all should build fine. You might also need to do a make install
to get xml2esis, xml2sexp and various tools put in the right place.
Getting a test of the lisp code
Look at src/clisp/examples/generate.doc.sh and
src/clisp/examples/sds-prefs.xml.
As explained in the Installation file the first run
will take lots of time. But hopefully a directory Generated
was created with temporary files and results.
Overview of the directory structure
[Outdated]
| ./apis | The API specifications, written in XML |
| ./apps | Helper apps for parsing and validating XML files |
| ./doc | The documentation tree |
| ./doc/dtddoc | The DTDDoc tool hierachy |
| ./doc/expat | Expact documentation |
| ./doc/ht2html | The ht2html tool |
| ./doc/images | Flowcharts and classcharts |
| ./doc/web | The pages as seen on Web |
| ./doc/chartgen | The class chart generator |
| ./include | Basic C++ include files |
| ./include/expat | The Expat C include files |
| ./include/tools | Various C++ tools include files |
| ./include/xml | The XML API C++ include files |
| ./intl | Code for gettext |
| ./po | Other languages than english for gettext |
| ./src | The src-hierarchy root |
| ./src/antlr | The ANTLR parser generator tool |
| ./src/antlr/doc |
The ANTLR parser generator documentation |
| ./src/ccmalloc | The ccmalloc package |
| ./src/clisp | See the Common Lisp documentation |
| ./src/cplusplus/csf | The CSF C++ code |
| ./src/cplusplus/modspec | Module-API C++ source |
| ./src/cplusplus/prefs | Preferences-API C++ source |
| ./src/cplusplus/sdoc | SDOC C++ source |
| ./src/cplusplus/tools | C++ tools, like Sstring and xmltool |
| ./src/emacs | Emacs bindings |
| ./src/emacs/examples | Examples on how to use the Emacs bindings |
| ./src/expat | The expat source hierarchy |
| ./src/java | The Java source hierarchy |
| ./src/java/java2csf | The Java front-end and java2csf |
| ./src/java/sds/api/csf | The CSF Java code, autogenerated |
| ./src/java/sds/base | The XML Java API |
| ./tests | Testing grounds |
| ./xml | DTDs for the various XML formats |
|