зеркало из https://github.com/mozilla/gecko-dev.git
63 строки
1.6 KiB
Bash
63 строки
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# This script builds NSPR for NSS.
|
|
#
|
|
# This build system is still under development. It does not yet support all
|
|
# the features or platforms that the regular NSPR build supports.
|
|
|
|
# variables
|
|
nspr_cflags=
|
|
nspr_cxxflags=
|
|
nspr_ldflags=
|
|
|
|
# Try to avoid bmake on OS X and BSD systems
|
|
if hash gmake 2>/dev/null; then
|
|
make() { command gmake "$@"; }
|
|
fi
|
|
|
|
nspr_set_flags()
|
|
{
|
|
nspr_cflags="$CFLAGS $@"
|
|
nspr_cxxflags="$CXXFLAGS $@"
|
|
nspr_ldflags="$LDFLAGS $@"
|
|
}
|
|
|
|
nspr_build()
|
|
{
|
|
local nspr_dir="$cwd"/../nspr/$target
|
|
mkdir -p "$nspr_dir"
|
|
|
|
# These NSPR options are directory-specific, so they don't need to be
|
|
# included in nspr_opt and changing them doesn't force a rebuild of NSPR.
|
|
extra_params=(--prefix="$dist_dir"/$target)
|
|
if [ "$opt_build" = 1 ]; then
|
|
extra_params+=(--disable-debug --enable-optimize)
|
|
fi
|
|
if [ "$target_arch" = "x64" ]; then
|
|
extra_params+=(--enable-64bit)
|
|
fi
|
|
|
|
echo "NSPR [1/3] configure ..."
|
|
pushd "$nspr_dir" >/dev/null
|
|
CFLAGS="$nspr_cflags" CXXFLAGS="$nspr_cxxflags" \
|
|
LDFLAGS="$nspr_ldflags" CC="$CC" CXX="$CCC" \
|
|
run_verbose ../configure "${extra_params[@]}" "$@"
|
|
popd >/dev/null
|
|
echo "NSPR [2/3] make ..."
|
|
run_verbose make -C "$nspr_dir"
|
|
echo "NSPR [3/3] install ..."
|
|
run_verbose make -C "$nspr_dir" install
|
|
}
|
|
|
|
nspr_clean()
|
|
{
|
|
rm -rf "$cwd"/../nspr/$target
|
|
}
|
|
|
|
set_nspr_path()
|
|
{
|
|
local include=$(echo "$1" | cut -d: -f1)
|
|
local lib=$(echo "$1" | cut -d: -f2)
|
|
gyp_params+=(-Dnspr_include_dir="$include")
|
|
gyp_params+=(-Dnspr_lib_dir="$lib")
|
|
}
|