Introduction to NSPR
Netscape Portable Runtime (NSPR)
provides a platform-neutral API for system level and libc like
functions.
Installation of NSPR
Install NSPR by running the
following commands:
cd nspr &&
sed -i '/^RELEASE/s|^|#|' pr/src/misc/Makefile.in &&
sed -i 's|$(LIBRARY) ||' config/rules.mk &&
./configure --prefix=/usr \
--with-mozilla \
--with-pthreads \
$([ $(uname -m) = x86_64 ] && echo --enable-64bit) &&
make
The test suite is designed for testing changes to nss or nspr and
is not particularly useful for checking a released version (e.g. it
needs to be run on a non-optimized build with both nss and nspr
directories existing alongside each other).
Now, as the root
user:
make install
32-bit Installation of NSPR
First clean the directory by running the following command:
make distclean
Install lib32-NSPR by running the
following commands:
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
./configure --prefix=/usr \
--libdir=/usr/lib32 \
--host=i686-pc-linux-gnu \
--with-mozilla \
--with-pthreads \
--disable-64bit &&
make
Now, as the root
user:
make DESTDIR=$PWD/DESTDIR install &&
cp -vr DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR &&
ldconfig
Possible Parameters
--disable-option-checking
: This
parameter ignores incorrect parameters.
--enable-x32
: This parameter enables
x32-bit support, not to be confused with 32-bit. Meant for 64-bit
systems.
--enable-64bit
: This parameter enables
64-bit support, meant for and needed by 64-bit systems.
--enable-mdupdate
: This parameter
enables some compilers' mdupdate feature.
--enable-cplus
: This parameter enables
some of the C++ API routines.
--enable-strip
: This parameter enables
stripping the built libraries and programs of debug symbols.
--enable-user-pthreads
: This parameter
enables the use of pthreads.
--enable-nspr-threads
: This parameter
enables building the classic NSPR threads.
--enable-ipv6
: This parameter enables
building in ipv6 support.
--enable-wrap-malloc
: This parameter
enables wrapping malloc calls (meant to be used when linking via
the GNU linker).
--with-mozilla
: This option enables
building with Mozilla support.
--with-ccache=<PATH>
: This parameter
enables compiling with ccache.
--with-pthreads
: This parameter uses
the system pthreads library.
Command Explanations
sed -ri '/^RELEASE/s/^/#/'
pr/src/misc/Makefile.in: This sed disables
installing two unneeded scripts.
sed -i 's#$(LIBRARY) ##'
config/rules.mk: This sed disables installing the
static libraries.
--with-mozilla
: This
parameter adds Mozilla support to the libraries (required if you
want to build any other Mozilla products and link them to these
libraries).
--with-pthreads
: This
parameter forces use of the system pthread library.
--enable-64bit
: The
--enable-64bit parameter is required on an x86_64 system to prevent
configure failing
with a claim that this is a system without pthread support. The [
$(uname -m) = x86_64 ] test ensures it has no effect on a 32 bit
system. Keep the line if intending to do multilib, and the lib32
instructions will be down below.
Contents
Installed Programs:
nspr-config
Installed Libraries:
libnspr4.so, libplc4.so, and
libplds4.so
Installed Directories:
/usr/include/nspr
Short Descriptions
nspr-config
|
provides compiler and linker options to other packages
that use NSPR
|
libnspr4.so
|
contains functions that provide platform independence for
non-GUI operating system facilities such as threads,
thread synchronization, normal file and network I/O,
interval timing and calendar time, basic memory
management and shared library linking
|
libplc4.so
|
contains functions that implement many of the features
offered by libnspr4
|
libplds4.so
|
contains functions that provide data structures
|