NSPR

From CBLFS
Revision as of 18:34, 1 January 2010 by Jciccone (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Download Source: http://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.9.4/src/nspr-4.9.4.tar.gz

Introduction to NSPR

Netscape Portable Runtime (NSPR) provides a platform-neutral API for system level and libc like functions. The API is used in the Mozilla clients and many of Red Hat's, Sun's, and other software offerings.

Project Homepage: http://www.mozilla.org/projects/nspr/

Dependencies

Non-Multilib

Create a build directory:

mkdir -v build &&
cd build

If building on pure64 (x86_64 at least perhaps others) add this to the configure line below:

--enable-64bit

Compile the package:

../mozilla/nsprpub/configure --prefix=/usr \
 --libdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man \
 --disable-debug --disable-ipv6 --enable-system-sqlite &&
make

Install the package

make install &&
chmod 644 /usr/lib/lib{nspr4,plc4,plds4}.a &&
rm -fv /usr/bin/{compile-et.pl,prerr.properties}

Create the pkg-config file:

cat > /usr/lib/pkgconfig/nspr.pc << "EOF"
prefix=/usr
exec_prefix=/usr/bin
libdir=/usr/lib
includedir=/usr/include/nspr

Name: NSPR
Description: The Netscape Portable Runtime
Version: %NSPR_VERSION%
Libs: %FULL_NSPR_LIBS%
Cflags: %FULL_NSPR_CFLAGS%
EOF
sed -i -e "s@%NSPR_VERSION%@$(./config/nspr-config --version)@" \
       -e "s@%FULL_NSPR_LIBS%@$(./config/nspr-config --libs)@" \
       -e "s@%FULL_NSPR_CFLAGS%@$(./config/nspr-config --cflags)@" \
    /usr/lib/pkgconfig/nspr.pc
chmod 644 /usr/lib/pkgconfig/nspr.pc
ln -sf nspr.pc /usr/lib/pkgconfig/mozilla-nspr.pc

Multilib

32Bit

Create a build directory:

mkdir -v build &&
cd build

Compile the package:

CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" USE_ARCH=32 \
../mozilla/nsprpub/configure --prefix=/usr \
 --libdir=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man \
 --disable-debug --disable-ipv6 --enable-system-sqlite &&
make

Install the package

make install &&
chmod 644 /usr/lib/lib{nspr4,plc4,plds4}.a &&
rm -fv /usr/bin/{compile-et.pl,prerr.properties} &&
mv -v /usr/bin/nspr-config{,-32}

Create the pkg-config file:

cat > /usr/lib/pkgconfig/nspr.pc << "EOF"
prefix=/usr
exec_prefix=/usr/bin
libdir=/usr/lib
includedir=/usr/include/nspr

Name: NSPR
Description: The Netscape Portable Runtime
Version: %NSPR_VERSION%
Libs: %FULL_NSPR_LIBS%
Cflags: %FULL_NSPR_CFLAGS%
EOF
sed -i -e "s@%NSPR_VERSION%@$(./config/nspr-config --version)@" \
       -e "s@%FULL_NSPR_LIBS%@$(./config/nspr-config --libs)@" \
       -e "s@%FULL_NSPR_CFLAGS%@$(./config/nspr-config --cflags)@" \
    /usr/lib/pkgconfig/nspr.pc
chmod 644 /usr/lib/pkgconfig/nspr.pc
ln -sf nspr.pc /usr/lib/pkgconfig/mozilla-nspr.pc

N32

Create a build directory:

mkdir -v build &&
cd build

Compile the package:

CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" USE_ARCH=N32 \
../mozilla/nsprpub/configure --prefix=/usr \
 --libdir=/usr/lib32 --infodir=/usr/share/info --mandir=/usr/share/man \
 --disable-debug --disable-ipv6 --enable-system-sqlite &&
make

Install the package

make install &&
chmod 644 /usr/lib32/lib{nspr4,plc4,plds4}.a &&
rm -fv /usr/bin/{compile-et.pl,prerr.properties} &&
mv -v /usr/bin/nspr-config{,-n32}

Create the pkg-config file:

cat > /usr/lib32/pkgconfig/nspr.pc << "EOF"
prefix=/usr
exec_prefix=/usr/bin
libdir=/usr/lib32
includedir=/usr/include/nspr

Name: NSPR
Description: The Netscape Portable Runtime
Version: %NSPR_VERSION%
Libs: %FULL_NSPR_LIBS%
Cflags: %FULL_NSPR_CFLAGS%
EOF
sed -i -e "s@%NSPR_VERSION%@$(./config/nspr-config --version)@" \
       -e "s@%FULL_NSPR_LIBS%@$(./config/nspr-config --libs)@" \
       -e "s@%FULL_NSPR_CFLAGS%@$(./config/nspr-config --cflags)@" \
    /usr/lib32/pkgconfig/nspr.pc
chmod 644 /usr/lib32/pkgconfig/nspr.pc
ln -sf nspr.pc /usr/lib32/pkgconfig/mozilla-nspr.pc

64Bit

Create a build directory:

mkdir -v build &&
cd build

Compile the package:

CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" USE_ARCH=64 \
../mozilla/nsprpub/configure --prefix=/usr \
 --libdir=/usr/lib64 --infodir=/usr/share/info --mandir=/usr/share/man \
 --disable-debug --disable-ipv6 --enable-system-sqlite --enable-64bit &&
make

Install the package

make install &&
chmod 644 /usr/lib64/lib{nspr4,plc4,plds4}.a &&
rm -fv /usr/bin/{compile-et.pl,prerr.properties} &&
mv -v /usr/bin/nspr-config{,-64} &&
ln -sfv multiarch_wrapper /usr/bin/nspr-config

Create the pkg-config file:

cat > /usr/lib64/pkgconfig/nspr.pc << "EOF"
prefix=/usr
exec_prefix=/usr/bin
libdir=/usr/lib64
includedir=/usr/include/nspr

Name: NSPR
Description: The Netscape Portable Runtime
Version: %NSPR_VERSION%
Libs: %FULL_NSPR_LIBS%
Cflags: %FULL_NSPR_CFLAGS%
EOF
sed -i -e "s@%NSPR_VERSION%@$(./config/nspr-config --version)@" \
       -e "s@%FULL_NSPR_LIBS%@$(./config/nspr-config --libs)@" \
       -e "s@%FULL_NSPR_CFLAGS%@$(./config/nspr-config --cflags)@" \
    /usr/lib64/pkgconfig/nspr.pc
chmod 644 /usr/lib64/pkgconfig/nspr.pc
ln -sf nspr.pc /usr/lib64/pkgconfig/mozilla-nspr.pc