Prerequisites
On Windows, the NSPR build system needs GNU make and a Unix command-line utility suite such as MKS Toolkit, Cygwin, and MSYS. The easiest way to get these tools is to install the MozillaBuild package.
Introduction
The top level of the NSPR source tree is the mozilla/nsprpub
directory. Although nsprpub
is a subdirectory under mozilla
, NSPR is independent of the Mozilla client source tree.
Building NSPR consists of three steps:
- run the configure script. You may override the compilers (the CC environment variable) or specify options.
- build the libraries
- build the test programs
For example,
# check out the source tree from Mercurial hg clone https://hg.mozilla.org/projects/nspr # create a build directory mkdir target.debug cd target.debug # run the configure script ../mozilla/nsprpub/configure [optional configure options] # build the libraries gmake # build the test programs cd pr/tests gmake
On Mac OS X, use make
, which is GNU make
.
Configure options
Although NSPR uses autoconf, its configure script has two default values that are different from most open source projects.
- If the OS vendor provides a compiler (for example, Sun and HP), NSPR uses that compiler instead of GCC by default.
- NSPR build generates a debug build by default.
--disable-debug --enable-optimize
Specify these two options to generate an optimized (release) build.
These two options can actually be used independently, but it's not recommended.
--enable-64bit
On a dual 32-bit/64-bit platform, NSPR build generates a 32-bit build by default. To generate a 64-bit build, specify the --enable-64bit
configure option.
--target=x86_64-pc-mingw32
For 64-bit builds on Windows, when using the MozillaBuild environment.
--enable-win32-target=WIN95
This option is only used on Windows. NSPR build generates a "WINNT" configuration by default on Windows for historical reasons. We recommend most applications use the "WIN95" configuration. The "WIN95" configuration supports all versions of Windows. The "WIN95" name is historical; it should have been named "WIN32".
To generate a "WIN95" configuration, specify the --enable-win32-target=WIN95
configure option.
--enable-debug-rtl
This option is only used on Windows. NSPR debug build uses the release C run-time library by default. To generate a debug build that uses the debug C run-time library, specify the --enable-debug-rtl
configure option.
Makefile targets
- all (default)
- clean
- realclean
- distclean
- install
- release
Running the test programs
The tests were built above, in the pr/tests
directory.
On Mac OS X, they can be executed with the following:
/bin/sh: $ cd pr/tests $ DYLD_LIBRARY_PATH=../../dist/lib ./accept PASS $ $ # to run all the NSPR tests... $ $ DYLD_LIBRARY_PATH=../../dist/lib ../../../mozilla/nsprpub/pr/tests/runtests.sh