git-subtree-dir: third_party/mason git-subtree-split: 1b3085e812b08ef092ba43945e3ab9f802632280
59 lines
1.8 KiB
Bash
Executable File
59 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# dynamically determine the path to this package
|
|
HERE="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
|
|
|
|
# key properties unique to this library
|
|
THIS_DIR=$(basename $(dirname $HERE))
|
|
# Note: cannot duduce from directory since it is named in a custom way
|
|
#BOOST_LIBRARY=${THIS_DIR#boost_lib}
|
|
BOOST_LIBRARY=regex
|
|
MASON_NAME=boost_lib${BOOST_LIBRARY}
|
|
MASON_LIB_FILE=lib/libboost_${BOOST_LIBRARY}.a
|
|
# hack for inconsistently named test lib
|
|
if [[ ${MASON_LIB_FILE} == "lib/libboost_test.a" ]]; then
|
|
MASON_LIB_FILE=lib/libboost_unit_test_framework.a
|
|
fi
|
|
|
|
# inherit from boost base (used for all boost library packages)
|
|
BASE_PATH=${HERE}/../../boost/$(basename $HERE)
|
|
source ${BASE_PATH}/base.sh
|
|
|
|
# setup mason env
|
|
. ${MASON_DIR}/mason.sh
|
|
|
|
# source common build functions
|
|
source ${BASE_PATH}/common.sh
|
|
|
|
function mason_prepare_compile {
|
|
${MASON_DIR}/mason install icu 55.1
|
|
MASON_ICU=$(${MASON_DIR}/mason prefix icu 55.1)
|
|
}
|
|
|
|
# custom compile that gets icu working
|
|
function mason_compile {
|
|
gen_config ${BOOST_TOOLSET} ${BOOST_TOOLSET_CXX}
|
|
if [[ ! -f ./b2 ]] ; then
|
|
./bootstrap.sh
|
|
fi
|
|
echo 'int main() { return 0; }' > libs/regex/build/has_icu_test.cpp
|
|
./b2 \
|
|
--with-${BOOST_LIBRARY} \
|
|
--prefix=${MASON_PREFIX} \
|
|
-j${MASON_CONCURRENCY} \
|
|
-sHAVE_ICU=1 -sICU_PATH=${MASON_ICU} --reconfigure --debug-configuration \
|
|
-d0 \
|
|
--ignore-site-config --user-config=user-config.jam \
|
|
architecture="${BOOST_ARCH}" \
|
|
toolset="${BOOST_TOOLSET}" \
|
|
link=static \
|
|
variant=release \
|
|
linkflags="${LDFLAGS:-" "}" \
|
|
cxxflags="${CXXFLAGS:-" "}" \
|
|
stage
|
|
mkdir -p $(dirname ${MASON_PREFIX}/${MASON_LIB_FILE})
|
|
mv stage/${MASON_LIB_FILE} ${MASON_PREFIX}/${MASON_LIB_FILE}
|
|
}
|
|
|
|
mason_run "$@"
|