52 lines
1.4 KiB
Bash
52 lines
1.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
|
||
|
MASON_NAME=v8
|
||
|
MASON_VERSION=3.14.5.10
|
||
|
MASON_LIB_FILE=lib/libv8_base.a
|
||
|
|
||
|
. ${MASON_DIR}/mason.sh
|
||
|
|
||
|
function mason_load_source {
|
||
|
mason_download \
|
||
|
https://github.com/${MASON_NAME}/${MASON_NAME}/archive/${MASON_VERSION}.tar.gz \
|
||
|
2e3700f00d1c1863e7718b2c2bd109cced7217ff
|
||
|
|
||
|
mason_extract_tar_gz
|
||
|
|
||
|
export MASON_BUILD_PATH=${MASON_ROOT}/.build/${MASON_NAME}-${MASON_VERSION}
|
||
|
}
|
||
|
|
||
|
function mason_compile {
|
||
|
git clone --depth 1 https://chromium.googlesource.com/external/gyp build/gyp
|
||
|
mason_step "Loading patch ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff"
|
||
|
patch -N -p1 < ${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/patch.diff
|
||
|
if [[ $(uname -s) == 'Darwin' ]]; then
|
||
|
export LDFLAGS="${LDFLAGS:-} -stdlib=libc++"
|
||
|
fi
|
||
|
make x64.release werror=no -j${MASON_CONCURRENCY}
|
||
|
mkdir -p ${MASON_PREFIX}/include
|
||
|
mkdir -p ${MASON_PREFIX}/bin
|
||
|
mkdir -p ${MASON_PREFIX}/lib
|
||
|
cp -r include/* ${MASON_PREFIX}/include/
|
||
|
if [[ $(uname -s) == 'Darwin' ]]; then
|
||
|
cp out/x64.release/lib*.a ${MASON_PREFIX}/lib/
|
||
|
else
|
||
|
cp out/x64.release/obj.target/tools/gyp/lib*.a ${MASON_PREFIX}/lib/
|
||
|
fi
|
||
|
cp out/x64.release/d8 ${MASON_PREFIX}/bin/
|
||
|
}
|
||
|
|
||
|
function mason_cflags {
|
||
|
echo -I${MASON_PREFIX}/include
|
||
|
}
|
||
|
|
||
|
function mason_ldflags {
|
||
|
:
|
||
|
}
|
||
|
|
||
|
function mason_clean {
|
||
|
make clean
|
||
|
}
|
||
|
|
||
|
mason_run "$@"
|