Files
openGauss-third_party/dependency/boost/build_component.sh
2024-11-08 18:23:28 +08:00

86 lines
3.4 KiB
Bash

#!/bin/bash
# copyright (c) Huawei Technologies Co., Ltd. 2010-2018. All rights reserved.
# description: the script that make install boost
# date: 2019-12-27
# version: 1.72.0
# history: fix buildcheck warning
set -e
#######################################################################
# build and install component
#######################################################################
function build_component()
{
cd ${LOCAL_DIR}
if [ -d ${SOURCE_CODE_PATH} ]; then
rm -rf ${SOURCE_CODE_PATH}
fi
mkdir ${SOURCE_CODE_PATH}
tar -zxf $TAR_FILE_NAME -C $SOURCE_CODE_PATH --strip-components 1
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}
if [ $? -ne 0 ]; then
die "[Error] change dir to $SRC_DIR failed."
fi
# Compatible with python3 compilation
python_version=`python3 -V | awk -F ' ' '{print $2}' |awk -F '.' -v OFS='.' '{print $1,$2}'`
if [ "$python_version" == "3.11" ]; then
sed -i "s/include\/python\$(version)/include\/python\$(version)/g" tools/build/src/tools/python.jam
else
sed -i "s/include\/python\$(version)/include\/python\$(version)m/g" tools/build/src/tools/python.jam
fi
chmod +x bootstrap.sh
chmod +x ./tools/build/src/engine/build.sh
for COMPILE_TYPE in ${COMPLIE_TYPE_LIST}
do
log "[Notice] boost Begin configure..."
case "${COMPILE_TYPE}" in
release)
die "[Error] boost not supported build type."
;;
debug)
die "[Error] boost not supported build type."
;;
release_llt)
die "[Error] boost not supported build type."
;;
debug_llt)
die "[Error] boost not supported build type."
;;
comm|llt)
mkdir -p ${LOCAL_DIR}/install_${COMPILE_TYPE}
log "[Notice] boost configure string: ./bootstrap.sh --prefix=${LOCAL_DIR}/install_${COMPILE_TYPE}"
./bootstrap.sh --prefix=${LOCAL_DIR}/install_${COMPILE_TYPE}
./tools/build/src/engine/bjam cflags='-fPIC -D_GLIBCXX_USE_CXX11_ABI=0' cxxflags='-fPIC -D_GLIBCXX_USE_CXX11_ABI=0'
if [ $? -ne 0 ]; then
die "[Error] boost configure failed."
fi
log "[Notice] boost End configure"
if [ "${COMPILE_TYPE}"X = "comm"X ]; then
log "[Notice] boost using \"${COMPILE_TYPE}\" Begin make"
./b2
log "[Notice] boost End make"
log "[Notice] boost using \"${COMPILE_TYPE}\" Begin make install"
./b2 install
log "[Notice] boost using \"${COMPILE_TYPE}\" End make install"
else
log "[Notice] boost using \"${COMPILE_TYPE}\" Start pic build"
chmod +x ${LOCAL_DIR}/pic_build.sh
cd ${LOCAL_DIR}
sh pic_build.sh
if [ $? -ne 0 ]; then
die "[Error] boost pic build failed."
fi
log "[Notice] boost using \"${COMPILE_TYPE}\" End pic build"
fi
;;
*)
log "Internal Error: option processing error: $1"
log "please write right paramenter in ${CONFIG_FILE_NAME}"
exit 1
esac
done
}