89 lines
2.7 KiB
Bash
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
|
|
}
|