view usr/src/cmd/man/src/util/nsgmls.src/doc/build.htm @ 0:c9caec207d52 b86

Initial porting based on b86
author Koji Uno <>
date Tue, 02 Jun 2009 18:56:50 +0900
children 1a15d5aaf794
line wrap: on
line source

<!-- SCCS keyword
#pragma ident	"@(#)build.htm	1.2	00/05/01 SMI"
<TITLE>Building SP</TITLE>
<H1>Building SP</H1>
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 <code>include/config.h</code>.

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.
<SAMP>make check</SAMP> runs some tests.  You shouldn't get any reports
of differences.
<SAMP>make install</SAMP> installs the programs; `make install-man'
installs the man pages.
You can use the following compilers:
gcc 2.7.2 works (gcc 2.7.0 won't work at least on the sparc).  You
will also an iostream library (eg as provided by libg++ 2.7).  This
distribution builds on Solaris 2.3 and on Linux 1.2.  I expect it will
build on SunOS 4 as well with little difficulty.
With gcc 2.6.3/SunOS 4, you'll need to compile with
<CODE>-Dsig_atomic_t=int</CODE>, and, if you want to compile with
-DSP_HAVE_SOCKET, you'll need to make netdb.h and arpa/inet.h C++
Sun C++
To compile with Sun C++ 4.0.1, run first  Also in the
top-level Makefile, change set libMakefile to Makefile.lib.sun.
This makes the library build use the -xar option.
Nelson Beebe has ported SP to a variety of other Unix systems and has
produced some <A
about his experiences.

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 <SAMP>Batch Build</SAMP> or <SAMP>Rebuild All</SAMP>: these
rebuild the library repeatedly.
You can build all the targets in a particular configuration by
building the all target.
The <SAMP>sp-generate.mak</SAMP> 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 <SAMP>Build&gt;Subprojects</SAMP> command, and
include <SAMP>lib</SAMP> and maybe <SAMP>generic</SAMP> as
subprojects. You may also want to add your project as a subproject to
Then, in <SAMP>Build&gt;Settings</SAMP> under the <SAMP>C/C++</SAMP>
tab in the <SAMP>Preprocessor</SAMP> category, copy the
<SAMP>Preprocessor definitions</SAMP> and <SAMP>Additional include
directories</SAMP> entries from the nsgmls subproject.
In the <SAMP>Code Generation</SAMP> category make sure you've selected
the same run-time library as that used by the corresponding configuration
of <SAMP>lib</SAMP>.
Watcom C++ 10.5a
Use Makefile.wat.
You must compile on a platform that supports long filenames.
James Clark<BR>