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