2016-06-22 11:42:04 -07:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2016-11-02 20:56:25 -07:00
|
|
|
# Cause the script to exit if a single command fails.
|
|
|
|
set -e
|
|
|
|
|
2016-06-22 11:42:04 -07:00
|
|
|
ROOT_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd)
|
|
|
|
|
2016-06-25 14:02:33 -07:00
|
|
|
# Determine how many parallel jobs to use for make based on the number of cores
|
|
|
|
unamestr="$(uname)"
|
|
|
|
if [[ "$unamestr" == "Linux" ]]; then
|
|
|
|
PARALLEL=$(nproc)
|
|
|
|
elif [[ "$unamestr" == "Darwin" ]]; then
|
|
|
|
PARALLEL=$(sysctl -n hw.ncpu)
|
|
|
|
else
|
|
|
|
echo "Unrecognized platform."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2016-10-31 17:08:03 -07:00
|
|
|
COMMON_DIR="$ROOT_DIR/src/common"
|
|
|
|
PLASMA_DIR="$ROOT_DIR/src/plasma"
|
|
|
|
PHOTON_DIR="$ROOT_DIR/src/photon"
|
2016-11-18 19:57:51 -08:00
|
|
|
GLOBAL_SCHEDULER_DIR="$ROOT_DIR/src/global_scheduler"
|
2016-10-31 17:08:03 -07:00
|
|
|
|
|
|
|
PYTHON_DIR="$ROOT_DIR/lib/python"
|
|
|
|
PYTHON_COMMON_DIR="$PYTHON_DIR/common"
|
|
|
|
PYTHON_PLASMA_DIR="$PYTHON_DIR/plasma"
|
|
|
|
PYTHON_PHOTON_DIR="$PYTHON_DIR/photon"
|
2016-11-18 19:57:51 -08:00
|
|
|
PYTHON_GLOBAL_SCHEDULER_DIR="$PYTHON_DIR/global_scheduler"
|
2016-10-31 17:08:03 -07:00
|
|
|
|
|
|
|
pushd "$COMMON_DIR"
|
2016-11-18 19:57:51 -08:00
|
|
|
make clean
|
2016-10-25 22:39:21 -07:00
|
|
|
make
|
2016-06-22 11:42:04 -07:00
|
|
|
popd
|
2016-11-21 15:02:40 -08:00
|
|
|
cp "$COMMON_DIR/thirdparty/redis/src/redis-server" "$PYTHON_COMMON_DIR/thirdparty/redis/src/"
|
2016-06-27 12:16:59 -07:00
|
|
|
|
2016-10-31 17:08:03 -07:00
|
|
|
pushd "$PLASMA_DIR"
|
2016-11-18 19:57:51 -08:00
|
|
|
make clean
|
2016-10-25 22:39:21 -07:00
|
|
|
make
|
2016-11-13 16:23:28 -08:00
|
|
|
pushd "$PLASMA_DIR/build"
|
|
|
|
cmake ..
|
|
|
|
make install
|
|
|
|
popd
|
2016-10-25 22:39:21 -07:00
|
|
|
popd
|
2016-12-13 17:37:22 -08:00
|
|
|
cp "$PLASMA_DIR/build/plasma_store" "$PYTHON_PLASMA_DIR/"
|
|
|
|
cp "$PLASMA_DIR/build/plasma_manager" "$PYTHON_PLASMA_DIR/"
|
|
|
|
cp "$PLASMA_DIR/plasma/plasma.py" "$PYTHON_PLASMA_DIR/"
|
|
|
|
cp "$PLASMA_DIR/plasma/libplasma.so" "$PYTHON_PLASMA_DIR/"
|
2016-10-25 22:39:21 -07:00
|
|
|
|
2016-10-31 17:08:03 -07:00
|
|
|
pushd "$PHOTON_DIR"
|
2016-11-18 19:57:51 -08:00
|
|
|
make clean
|
2016-10-25 22:39:21 -07:00
|
|
|
make
|
2016-10-31 17:08:03 -07:00
|
|
|
pushd "$PHOTON_DIR/build"
|
|
|
|
cmake ..
|
|
|
|
make install
|
|
|
|
popd
|
2016-06-27 12:16:59 -07:00
|
|
|
popd
|
2016-11-13 16:23:28 -08:00
|
|
|
cp "$PHOTON_DIR/build/photon_scheduler" "$PYTHON_PHOTON_DIR/build/"
|
2016-11-18 19:57:51 -08:00
|
|
|
cp "$PHOTON_DIR/photon/libphoton.so" "$PYTHON_PHOTON_DIR/photon/"
|
|
|
|
cp "$PHOTON_DIR/photon/photon_services.py" "$PYTHON_PHOTON_DIR/photon/"
|
|
|
|
|
|
|
|
pushd "$GLOBAL_SCHEDULER_DIR"
|
|
|
|
make clean
|
|
|
|
make
|
|
|
|
popd
|
|
|
|
cp "$GLOBAL_SCHEDULER_DIR/build/global_scheduler" "$PYTHON_GLOBAL_SCHEDULER_DIR/build/"
|
|
|
|
cp "$GLOBAL_SCHEDULER_DIR/lib/python/global_scheduler_services.py" "$PYTHON_GLOBAL_SCHEDULER_DIR/lib/python/"
|