You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mymonero-core-js/bin/build-boost-emscripten.sh

76 lines
1.3 KiB

#!/bin/sh
PLATFORM="emscripten"
SRC_DIR="contrib/boost-sdk"
INSTALL_DIR="build/boost"
SRC_PATH="$(pwd)/$SRC_DIR"
INSTALL_PATH="$(pwd)/$INSTALL_DIR"
JAM_CONFIG_PATH="$(pwd)/configs/$PLATFORM.jam"
if [ ! -d "$SRC_PATH" ]; then
echo "SOURCE NOT FOUND!"
exit 1
fi
if [ -z "$EMSCRIPTEN" ]; then
echo "EMSCRIPTEN MUST BE DEFINED!"
exit -1
fi
cd $EMSCRIPTEN; ./embuilder.py build zlib
# ---
cd "$SRC_PATH"
rm -rf bjam
rm -rf b2
rm -rf project-config.jam
rm -rf bootstrap.log
rm -rf bin.v2
export NO_BZIP2=1 #bc it's supplied by emscripten but b2 will fail to find it
./bootstrap.sh \
--with-libraries=atomic,signals,timer,system,filesystem,thread,date_time,chrono,regex,serialization,program_options,locale \
2>&1
if [ $? != 0 ]; then
echo "ERROR: boostrap FAILED!"
exit 1
fi
cat "$JAM_CONFIG_PATH" >> project-config.jam
# ---
# Clean
rm -rf "$INSTALL_PATH"
mkdir "$INSTALL_PATH"
HOST_NCORES=$(shell nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 1)
# threading=single \
./b2 -q -a -j$HOST_NCORES \
toolset=clang-emscripten \
link=static \
variant=release \
stage \
--stagedir="$INSTALL_PATH" \
2>&1
unset NO_BZIP2
if [ $? != 0 ]; then
echo "ERROR: b2 FAILED!"
exit 1
fi
# ---
cd "$INSTALL_PATH"
ln -s "$SRC_PATH" include