Files
openGauss-third_party/dependency/zlib/build_component.sh
2023-10-16 10:54:39 +08:00

89 lines
2.7 KiB
Bash

#!/bin/bash
# Copyright (c): 2012-2019, Huawei Tech. Co., Ltd.
# description: the script that make install zlib
# date: 2015-8-20
# version: 1.0
# history:
# 2015-12-19 update to zlib1.2.8
# 2017-04-21 update to zlib1.2.11
#######################################################################
# build and install component
#######################################################################
set -e
WORK_PATH="$(dirname $0)"
source "${WORK_PATH}/build_component_configure.sh"
function build_component()
{
cd ${LOCAL_DIR}
if [ -d ${SOURCE_CODE_PATH} ]; then
rm -rf ${SOURCE_CODE_PATH}
fi
mkdir ${SOURCE_CODE_PATH}
tar -xf $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
patch -p1 < ../zlib.patch
patch -p1 < ../zlib-CVE-2022-37434.patch
patch -p1 < ../CVE-2023-45853.patch
chmod +x configure
for COMPILE_TYPE in ${COMPLIE_TYPE_LIST}
do
log "[Notice] zlib Begin configure..."
build_component_configure
if [ $? -ne 0 ]; then
die "zlib make failed."
fi
log "[Notice] zlib End make"
log "[Notice] zlib using \"${COMPILE_TYPE}\" Begin make install"
make install
if [ $? -ne 0 ]; then
die "[Error] zlib make install failed."
fi
log "[Notice] zlib using \"${COMPILE_TYPE}\" End make install"
######### make libminiunz ########
log "[Notice] make and install libminiunz before zlib clean "
log "[Notice] enter contrib/minizip/"
cd contrib/minizip/
log "[Notice] make libminiunz"
make CFLAGS="-O3 -fPIC -I../.." -f Makefile
if [ $? -ne 0 ]; then
die "failed to make libminiunz."
fi
######### make install libminiunz ########
log "[Notice] make install libminiunz"
mv libminiz.a libminiunz.a
cp ioapi.h ${LOCAL_DIR}/install_${COMPILE_TYPE}/include/
cp unzip.h ${LOCAL_DIR}/install_${COMPILE_TYPE}/include/
cp libminiunz.a ${LOCAL_DIR}/install_${COMPILE_TYPE}/lib/
chmod 644 ${LOCAL_DIR}/install_${COMPILE_TYPE}/include/ioapi.h ${LOCAL_DIR}/install_${COMPILE_TYPE}/include/unzip.h ${LOCAL_DIR}/install_${COMPILE_TYPE}/lib/libminiunz.a
if [ $? -ne 0 ]; then
die "[Error] libminiunz make install failed."
fi
######### make install libminiunz ########
log "[Notice] make clean libminiunz"
make clean -f Makefile
log "[Notice] exit contrib/minizip/"
cd ../..
make clean
log "[Notice] zlib build using \"${COMPILE_TYPE}\" has been finished"
done
}