17777dab0Sopenharmony_ci#!/bin/bash 27777dab0Sopenharmony_ci# Copyright (c) Huawei Technologies Co., Ltd. 2020-2030. All rights reserved. 37777dab0Sopenharmony_ciset -e 47777dab0Sopenharmony_ci 57777dab0Sopenharmony_ciwhile getopts "o:i:l:t:h" arg 67777dab0Sopenharmony_cido 77777dab0Sopenharmony_ci case "${arg}" in 87777dab0Sopenharmony_ci "o") 97777dab0Sopenharmony_ci OUT_DIR=${OPTARG} 107777dab0Sopenharmony_ci ;; 117777dab0Sopenharmony_ci "i") 127777dab0Sopenharmony_ci SOURCE_DIR=${OPTARG} 137777dab0Sopenharmony_ci ;; 147777dab0Sopenharmony_ci "l") 157777dab0Sopenharmony_ci TOOL_DIR=${OPTARG} 167777dab0Sopenharmony_ci ;; 177777dab0Sopenharmony_ci "h") 187777dab0Sopenharmony_ci echo "help" 197777dab0Sopenharmony_ci ;; 207777dab0Sopenharmony_ci ?) 217777dab0Sopenharmony_ci echo "unkonw argument" 227777dab0Sopenharmony_ci exit 1 237777dab0Sopenharmony_ci ;; 247777dab0Sopenharmony_ci esac 257777dab0Sopenharmony_cidone 267777dab0Sopenharmony_ci 277777dab0Sopenharmony_ci 287777dab0Sopenharmony_cindk_dir=$(ls ${SOURCE_DIR}/lib/|more |grep ohos |grep -v mipsel |grep -v riscv |awk '{print $NF}') 297777dab0Sopenharmony_ci 307777dab0Sopenharmony_cifor i in $ndk_dir 317777dab0Sopenharmony_cido 327777dab0Sopenharmony_ci find ${OUT_DIR}/lib/$i -name 'libc++.a' -type f -exec bash -c 'echo "INPUT(-lc++_static -lc++abi)" > $1' _ {} \; 337777dab0Sopenharmony_ci find ${OUT_DIR}/lib/$i -name 'libc++.so' -type f -exec bash -c 'echo "INPUT(-lc++_shared)" > $1' _ {} \; 347777dab0Sopenharmony_cidone 357777dab0Sopenharmony_ci 367777dab0Sopenharmony_cicp -rfp ${SOURCE_DIR}/lib ${OUT_DIR} 377777dab0Sopenharmony_cicp -rfp ${SOURCE_DIR}/include ${OUT_DIR} 387777dab0Sopenharmony_ci 397777dab0Sopenharmony_cifunction strip_dir() { 407777dab0Sopenharmony_ci for file in `ls $1` 417777dab0Sopenharmony_ci do 427777dab0Sopenharmony_ci if [ -f $1"/"$file ] && [[ $(file -b $1"/"$file) =~ "shared object" ]] 437777dab0Sopenharmony_ci then 447777dab0Sopenharmony_ci echo $1"/"$file 457777dab0Sopenharmony_ci ${TOOL_DIR}/llvm-strip $1"/"$file 467777dab0Sopenharmony_ci elif [ -d $1"/"$file ] 477777dab0Sopenharmony_ci then 487777dab0Sopenharmony_ci strip_dir $1"/"$file 497777dab0Sopenharmony_ci fi 507777dab0Sopenharmony_ci done 517777dab0Sopenharmony_ci} 527777dab0Sopenharmony_cistrip_dir ${OUT_DIR}/lib 53