您当前的位置: 首页 > 

柳鲲鹏

暂无认证

  • 0浏览

    0关注

    4642博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

对目录下所有库文件进行rpath更改操作的SHELL脚本

柳鲲鹏 发布时间:2022-01-15 08:23:36 ,浏览量:0

LINUX和MAC差异是命令不同。

#!/bin/bash

# sudo apt -y install libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev

function mac_change_rpath_command_3param()
{
   # linux: local RPATH_TOOL=chrpath 
   
   local RPATH_TOOL=install_name_tool
   local RPATH_CMD=/usr/bin/${RPATH_TOOL}
   if [ ! -f ${RPATH_CMD}  ]; then
       RPATH_CMD=./${RPATH_TOOL}
   fi
   
   ${RPATH_CMD} -change \
       "${2}" \
       "${3}" \
       "${1}"

}

function mac_change_rpath_file_3param()
{
    local SRC_TEXTS=`otool -L "${1}"`
    if [ "${SRC_TEXTS}" == "" ]; then
        return
    fi

    local item
    for item in ${SRC_TEXTS}
    do
        local LIB_NAME
        if [[ ${item} == *${2}* ]]; then
            LIB_NAME=`echo ${item} | awk -F '/' '{ print $6 }'`
        elif [[ ${item} == /lib*dylib ]]; then
            LIB_NAME=`echo ${item} | awk -F '/' '{ print $2 }'`
        elif [[ ${item} == lib*dylib ]]; then
            LIB_NAME=${item}
        else
            continue
        fi
        
        # echo ${item} ${LIB_NAME}

       mac_change_rpath_command_3param \
           "${1}" \
           "${item}" \
           "${3}"/${LIB_NAME}
           
    done

}

function mac_change_rpath_dir_3param()
{
    local CURR_DIR=`pwd`
    cd "${1}"
    # pwd

    local files=`ls | tr " " "\?"`
    local item
    for item in ${files}
    do
       if [ -d ${item} ]; then
           mac_change_rpath_dir_3param       "${item}" "${2}" "${3}"
       elif [ -f ${item} ]; then
           mac_change_rpath_file_3param "${1}/${item}" "${2}" "${3}"
       fi

    done

    cd "${CURR_DIR}"
}

# {{{{{{{{{{

INSTALL_LIB_DIR=`pwd`
INSTALL_LIB_DIR="${INSTALL_LIB_DIR}/ffmpeg"

RPATH_SRC="/Users/tsit/lib-ffmpeg/lib"
RPATH_DEST="${INSTALL_LIB_DIR}"

mac_change_rpath_dir_3param "${INSTALL_LIB_DIR}"   "${RPATH_SRC}"    "${RPATH_DEST}"

# }}}}}}}}}}

关注
打赏
1665724893
查看更多评论
立即登录/注册

微信扫码登录

0.0546s