1#!/bin/bash 2# Copyright (c) 2023 Huawei Device Co., Ltd. 3# UniProton is licensed under Mulan PSL v2. 4# You can use this software according to the terms and conditions of the Mulan PSL v2. 5# You may obtain a copy of Mulan PSL v2 at: 6# http://license.coscl.org.cn/MulanPSL2 7# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 8# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 9# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 10# See the Mulan PSL v2 for more details. 11 12echo "################# git clone libmetal #################" 13pushd ../component 14rm -rf ./libmetal* 15git clone https://gitee.com/src-openeuler/libmetal.git 16mv ./libmetal/libmetal-2022.10.0.tar.gz . 17rm -rf ./libmetal 18tar -zxvf libmetal-2022.10.0.tar.gz 19mv ./libmetal-2022.10.0 ./libmetal 20cp UniProton-patch-for-libmetal.patch ./libmetal 21cd libmetal 22patch -p1 -d . < UniProton-patch-for-libmetal.patch 23popd 24 25echo "################# git clone openamp #################" 26pushd ../component 27rm -rf ./open-amp* 28git clone https://gitee.com/src-openeuler/OpenAMP.git 29mv ./OpenAMP/open-amp-2022.10.1.tar.gz . 30rm -rf ./OpenAMP 31tar -zxvf open-amp-2022.10.1.tar.gz 32mv ./open-amp-2022.10.1 ./open-amp 33cp UniProton-patch-for-openamp.patch ./open-amp 34cd open-amp 35patch -p1 -d . < UniProton-patch-for-openamp.patch 36popd 37 38echo "######################### build metal #########################" 39pushd . 40mkdir -p libmetal 41cd libmetal 42mkdir -p build 43cd build 44rm -rf * 45cmake ../../../component/libmetal -DCMAKE_TOOLCHAIN_FILE=../../../component/libmetal/cmake/platforms/uniproton_arm64_gcc.cmake -DWITH_DOC=OFF -DWITH_EXAMPLES=OFF -DWITH_TESTS=OFF -DWITH_DEFAULT_LOGGER=OFF -DWITH_SHARED_LIB=OFF 46make VERBOSE=1 DESTDIR=../output install 47if [ $? -ne 0 ];then 48 echo "make metal failed!" 49 exit 1 50fi 51popd 52 53echo "######################### build openamp #########################" 54pushd . 55mkdir -p open-amp 56cd open-amp 57mkdir -p build 58cd build 59rm -rf * 60cmake ../../../component/open-amp -DCMAKE_TOOLCHAIN_FILE=../../../component/open-amp/cmake/platforms/uniproton_arm64_gcc.cmake 61make VERBOSE=1 DESTDIR=../output install 62if [ $? -ne 0 ];then 63 echo "make openamp failed!" 64 exit 1 65fi 66popd 67 68cp ./libmetal/output/usr/local/lib/*.a ../libs 69cp ./open-amp/output/usr/local/lib/*.a ../libs 70