Building SP

You will need a C++ compiler with good template support to build this. Support for exceptions is not required.

In most cases you should be able to port to a new compiler just by editing include/config.h.

Unix

This version of SP has a provisional 'configure' script for use on Unix systems, provided by Henry S. Thompson. The original Makefile and Makefile.lib scripts can be found as Makefile.orig and Makefile.lib.orig, if configure does not work for you. See install.htm for instructions on how to use configure, or the original UNIX instructions if you need to fall back to them.

Nelson Beebe has ported SP to a variety of other Unix systems and has produced some notes about his experiences.

DOS/Windows

You must use a compiler that generates 32-bit code.

The following compilers have been tested:

Visual C++ 4.1
Open SP.mak as a Makefile in the Developer Studio and build whatever you want. Don't use Batch Build or Rebuild All: these rebuild the library repeatedly. You can build all the targets in a particular configuration by building the all target. The sp-generate.mak makefile can be used to make all the .cxx and .h files that are automatically generated. (These are included in the distribution, so you don't need to do this unless you want to modify SP.)

To create a new program, make a new project in the SP project workspace using the Build>Subprojects command, and include lib and maybe generic as subprojects. You may also want to add your project as a subproject to all. Then, in Build>Settings under the C/C++ tab in the Preprocessor category, copy the Preprocessor definitions and Additional include directories entries from the nsgmls subproject. In the Code Generation category make sure you've selected the same run-time library as that used by the corresponding configuration of lib.

Watcom C++ 10.5a
Use Makefile.wat.

You must compile on a platform that supports long filenames.

James Clark
jjc@jclark.com