[thirdparty](lib) Add base64 thirdparty lib (#31850)

This commit is contained in:
HappenLee
2024-03-06 17:50:14 +08:00
committed by yiguolei
parent 6b08a4ec93
commit f9ee3ff359
2 changed files with 90 additions and 0 deletions

View File

@ -1733,6 +1733,66 @@ build_streamvbyte() {
"${BUILD_SYSTEM}" install
}
# jsoncpp
build_jsoncpp() {
check_if_source_exist "${JSONCPP_SOURCE}"
cd "${TP_SOURCE_DIR}/${JSONCPP_SOURCE}"
rm -rf "${BUILD_DIR}"
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" ..
"${BUILD_SYSTEM}" -j "${PARALLEL}"
"${BUILD_SYSTEM}" install
}
# libuuid
build_libuuid() {
check_if_source_exist "${LIBUUID_SOURCE}"
cd "${TP_SOURCE_DIR}/${LIBUUID_SOURCE}"
CC=gcc ./configure --prefix="${TP_INSTALL_DIR}" --disable-shared --enable-static
make -j "${PARALLEL}"
make install
}
# ali_sdk
build_ali_sdk() {
build_jsoncpp
build_libuuid
check_if_source_exist "${ALI_SDK_SOURCE}"
cd "${TP_SOURCE_DIR}/${ALI_SDK_SOURCE}"
rm -rf "${BUILD_DIR}"
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
CPPFLAGS="-I${TP_INCLUDE_DIR}" \
CXXFLAGS="-I${TP_INCLUDE_DIR}" \
LDFLAGS="-L${TP_LIB_DIR}" \
"${CMAKE_CMD}" -G "${GENERATOR}" -DBUILD_PRODUCT=core -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" \
-DTP_INSTALL_DIR="${TP_INSTALL_DIR}" ..
"${BUILD_SYSTEM}" -j "${PARALLEL}"
"${BUILD_SYSTEM}" install
}
# base64
build_base64() {
check_if_source_exist "${BASE64_SOURCE}"
cd "${TP_SOURCE_DIR}/${BASE64_SOURCE}"
rm -rf "${BUILD_DIR}"
mkdir -p "${BUILD_DIR}"
cd "${BUILD_DIR}"
"${CMAKE_CMD}" -G "${GENERATOR}" -DCMAKE_INSTALL_PREFIX="${TP_INSTALL_DIR}" -DCMAKE_BUILD_TYPE=Release ..
MACHINE_TYPE="$(uname -m)"
if [[ "${MACHINE_TYPE}" == "aarch64" || "${MACHINE_TYPE}" == 'arm64' ]]; then
CFLAGS="--target=aarch64-linux-gnu -march=armv8-a+crc" NEON64_CFLAGS=" "
else
AVX2_CFLAGS=-mavx2 SSSE3_CFLAGS=-mssse3 SSE41_CFLAGS=-msse4.1 SSE42_CFLAGS=-msse4.2 AVX_CFLAGS=-mavx
fi
"${BUILD_SYSTEM}" -j "${PARALLEL}"
"${BUILD_SYSTEM}" install
}
if [[ "${#packages[@]}" -eq 0 ]]; then
packages=(
libunixodbc
@ -1798,6 +1858,8 @@ if [[ "${#packages[@]}" -eq 0 ]]; then
avx2neon
libdeflate
streamvbyte
ali_sdk
base64
)
if [[ "$(uname -s)" == 'Darwin' ]]; then
read -r -a packages <<<"binutils gettext ${packages[*]}"

28
thirdparty/vars.sh vendored
View File

@ -490,6 +490,30 @@ STREAMVBYTE_NAME=streamvbyte-1.0.0.tar.gz
STREAMVBYTE_SOURCE=streamvbyte-1.0.0
STREAMVBYTE_MD5SUM="f334219db5a832b6dae3589a56a29563"
# jsoncpp
JSONCPP_DOWNLOAD="https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/1.9.5.tar.gz"
JSONCPP_NAME="1.9.5.tar.gz"
JSONCPP_SOURCE="jsoncpp-1.9.5"
JSONCPP_MD5SUM="d6c8c609f2162eff373db62b90a051c7"
# libuuid
LIBUUID_DOWNLOAD="https://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz"
LIBUUID_NAME="libuuid-1.0.3.tar.gz"
LIBUUID_SOURCE="libuuid-1.0.3"
LIBUUID_MD5SUM="d44d866d06286c08ba0846aba1086d68"
# ali
ALI_SDK_DOWNLOAD="https://github.com/aliyun/aliyun-openapi-cpp-sdk/archive/refs/tags/1.36.1586.tar.gz"
ALI_SDK_NAME="1.36.1586.tar.gz"
ALI_SDK_SOURCE="aliyun-openapi-cpp-sdk-1.36.1586"
ALI_SDK_MD5SUM="14623ee8e87c89615477d9bf8cb30bea"
# base64
BASE64_DOWNLOAD="https://github.com/aklomp/base64/archive/refs/tags/v0.5.2.tar.gz"
BASE64_NAME="v0.5.2.tar.gz"
BASE64_SOURCE="base64-0.5.2"
BASE64_MD5SUM="49e5a6c98bd0192aedd16c16eec39974"
# all thirdparties which need to be downloaded is set in array TP_ARCHIVES
export TP_ARCHIVES=(
'LIBEVENT'
@ -562,6 +586,10 @@ export TP_ARCHIVES=(
'AVX2NEON'
'LIBDEFLATE'
'STREAMVBYTE'
'JSONCPP'
'LIBUUID'
'ALI_SDK'
'BASE64'
)
if [[ "$(uname -s)" == 'Darwin' ]]; then