General Links
SDS Homepage
General Documentation
Main index
Copyright notices
What is SDS
Installing SDS
Using SDS
Language frontends
Plans/further releases
Developer Documentation
Architecture description
Developer How-To
XML-system for classes
CSF Specification
CSF DTD Documentation
Develop code in Lisp
Email page maintainer
Hosted at

SF project page


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/ 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


./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