Files

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}