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
.
To build on Unix, edit the Makefile, and do a make. You can also build in a different directory. This requires GNU make or another make that implements VPATH. Copy or link the top-level Makefile to the build directory, change srcdir in the Makefile to point to the original directory, and do a make in the build directory.
make install installs the programs.
You can use the following compilers:
With gcc 2.6.3/SunOS 4, you'll need to compile with
-Dsig_atomic_t=int
, and, if you want to compile with
-DSP_HAVE_SOCKET, you'll need to make netdb.h and arpa/inet.h C++
compatible.
Nelson Beebe has ported SP to a variety of other Unix systems and has produced some notes about his experiences.
You must use a compiler that generates 32-bit code.
The following compilers have been tested:
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.
You should be aware that Visual C++ 5.0 also has some optimization bugs. There are workarounds for those I've discovered, but it would be safer to use Visual C++ 4.2.
You must compile on a platform that supports long filenames.
James Clark