#!/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 }