Files
2022-09-16 11:48:59 +08:00

114 lines
4.0 KiB
Bash

#!/bin/bash
# Copyright (c) Huawei Technologies Co., Ltd. 2010-2018. All rights reserved.
# description: the script that make install libevent
# date: 2020-06-08
# version: -1.0
# history:
# 2020-06-08 100 LOC.
set -e
LOCAL_PATH=${0}
FIRST_CHAR=$(expr substr "$LOCAL_PATH" 1 1)
if [ "$FIRST_CHAR" = "/" ]; then
LOCAL_PATH=${0}
else
LOCAL_PATH="$(pwd)/${LOCAL_PATH}"
fi
LOCAL_DIR=$(dirname "${LOCAL_PATH}")
CONFIG_FILE_NAME=config.ini
BUILD_OPTION=release
TAR_FILE_NAME=libevent-2.1.12-stable.tar.gz
SOURCE_CODE_PATH=libevent-2.1.12-stable
LOG_FILE=${LOCAL_DIR}/build_event.log
ROOT_DIR="${LOCAL_DIR}/../../"
SSL_LIB="${ROOT_DIR}/output/kernel/dependency/openssl/comm/lib"
SSL_INCLUDE="${ROOT_DIR}/output/kernel/dependency/openssl/comm/include"
INSTALL_COMPOENT_PATH_NAME="${ROOT_DIR}/output/kernel/dependency/event"
log()
{
echo "[Build libevent] "$(date +%y-%m-%d" "%T)": $@"
echo "[Build libevent] "$(date +%y-%m-%d" "%T)": $@" >> "$LOG_FILE" 2>&1
}
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}
sh autogen.sh
chmod +x configure
if [ $? -ne 0 ]; then
die "failed to patch file."
fi
mkdir -p ${LOCAL_DIR}/${SOURCE_CODE_PATH}/build_comm
mkdir -p ${LOCAL_DIR}/install_comm
log "[Notice] event configure string: ./configure CFLAGS='-O2 -g3' --enable-static=yes --enable-shared=no --with-pic=false CFLAGS='-fPIE' --prefix=${LOCAL_DIR}/install_comm"
#./configure CFLAGS='-O2 -g3' --enable-static=yes --enable-shared=no --with-pic=false CFLAGS='-fPIE' CPPFLAGS=-I${SSL_INCLUDE} LDFLAGS=-L${SSL_LIB} --prefix=${LOCAL_DIR}/install_comm
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}/build_comm
cmake .. -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_comm -D__FLAGS="-fPIE -O2 -g3 -I${SSL_INCLUDE} -L${SSL_LIB}" -DCMAKE_PROJECT_INCLUDE=${LOCAL_DIR}/project_include.cmake
make -j4
make install
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}
rm -rf build_comm
mkdir -p ${LOCAL_DIR}/${SOURCE_CODE_PATH}/build_llt
mkdir -p ${LOCAL_DIR}/install_llt
log "[Notice] event configure string: ./configure CFLAGS='-O2 -g3' --enable-static=yes --enable-shared=no --with-pic=false CFLAGS='-fPIE' --prefix=${LOCAL_DIR}/install_llt"
#./configure CFLAGS='-O2 -g3' --enable-static=yes --enable-shared=no --with-pic=false CFLAGS='-fPIE' CPPFLAGS=-I${SSL_INCLUDE} LDFLAGS=-L${SSL_LIB} --prefix=${LOCAL_DIR}/install_llt
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}/build_llt
cmake .. -DCMAKE_INSTALL_PREFIX=${LOCAL_DIR}/install_llt -D__FLAGS="-fPIE -O2 -g3 -I${SSL_INCLUDE} -L${SSL_LIB}" -DCMAKE_PROJECT_INCLUDE=${LOCAL_DIR}/project_include.cmake
make -j4
make install
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}
rm -rf build_llt
}
function shrink_component()
{
mkdir -p ${LOCAL_DIR}/install_comm_dist/lib
cp -r ${LOCAL_DIR}/install_comm/include ${LOCAL_DIR}/install_comm_dist
cp -r ${LOCAL_DIR}/install_comm/bin ${LOCAL_DIR}/install_comm_dist
cp -r ${LOCAL_DIR}/install_comm/lib/*\.so* ${LOCAL_DIR}/install_comm_dist/lib
mkdir -p ${LOCAL_DIR}/install_llt_dist/lib
cp -r ${LOCAL_DIR}/install_llt/include ${LOCAL_DIR}/install_llt_dist
cp -r ${LOCAL_DIR}/install_llt/bin ${LOCAL_DIR}/install_llt_dist
cp -r ${LOCAL_DIR}/install_llt/lib/*\.so* ${LOCAL_DIR}/install_llt_dist/lib
}
function dist_component()
{
mkdir -p ${INSTALL_COMPOENT_PATH_NAME}/comm
rm -rf "${INSTALL_COMPOENT_PATH_NAME}"/comm/*
cp -r ${LOCAL_DIR}/install_comm_dist/* "${INSTALL_COMPOENT_PATH_NAME}"/comm
mkdir -p ${INSTALL_COMPOENT_PATH_NAME}/llt
rm -rf "${INSTALL_COMPOENT_PATH_NAME}"/llt/*
cp -r ${LOCAL_DIR}/install_llt_dist/* "${INSTALL_COMPOENT_PATH_NAME}"/llt
}
function clean_component()
{
cd ${LOCAL_DIR}
[ -n "${SOURCE_CODE_PATH}" ] && rm -rf "${SOURCE_CODE_PATH}"
rm -rf install_*
}
function main()
{
build_component
shrink_component
dist_component
clean_component
}
main