42 lines
1.3 KiB
Bash
42 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# Copyright (c) Huawei Technologies Co., Ltd. 2010-2023. All rights reserved.
|
|
# description: the script that make install masstree
|
|
# date: 2020-12-16
|
|
# version: 1.0
|
|
# history:
|
|
# 2020-12-16 first version
|
|
# 2023-08-29 change Masstree base version to v1.0.1 and squash all changes into single patch file
|
|
|
|
set -e
|
|
# change compress type
|
|
|
|
CUR_DIR=$(pwd)
|
|
|
|
MASSTREE_PACKAGE=masstree-beta-1.0.1.tar.gz
|
|
MASSTREE_SOURCES_TMP_DIR=tmp
|
|
LOCAL_DIR=$(dirname "${LOCAL_PATH}")
|
|
MASSTREE_MEGRED_SOURCES_DIR=masstree-beta
|
|
|
|
if [ -d ${MASSTREE_MEGRED_SOURCES_DIR} ]; then
|
|
rm -rf ${MASSTREE_MEGRED_SOURCES_DIR}
|
|
fi
|
|
mkdir ${MASSTREE_MEGRED_SOURCES_DIR}
|
|
tar -zxf $MASSTREE_PACKAGE -C $MASSTREE_MEGRED_SOURCES_DIR --strip-components 1
|
|
|
|
cd $MASSTREE_MEGRED_SOURCES_DIR
|
|
patch -p1 < ../0001-Masstree-v1.0.1-MOT.patch
|
|
sed -i "s/LDFLAGS =/LDFLAGS = -fstack-protector-all -z,now/g" Makefile
|
|
sed -i "s/\$(CXX) -shared/\$(CXX) -fstack-protector-all -Wl,-z,relro,-z,now -shared/g" Makefile
|
|
|
|
make -sj
|
|
rm -rf *.o
|
|
cd ..
|
|
|
|
LOCAL_DIR=$(dirname "${LOCAL_PATH}")
|
|
INSTALL_DIR=${LOCAL_DIR}/../../output/kernel/dependency/masstree
|
|
mkdir -p ${INSTALL_DIR}/comm/include
|
|
mkdir -p ${INSTALL_DIR}/comm/lib
|
|
cp ${MASSTREE_MEGRED_SOURCES_DIR}/*.h* ${INSTALL_DIR}/comm/include
|
|
cp ${MASSTREE_MEGRED_SOURCES_DIR}/libmasstree.so ${INSTALL_DIR}/comm/lib
|
|
rm -rf ${MASSTREE_MEGRED_SOURCES_DIR}
|