ES-DE/tools/macOS_change_dylib_rpaths.sh

59 lines
2.6 KiB
Bash
Raw Normal View History

#!/bin/sh
#
# macOS_change_dylib_rpaths.sh
# Update the dylib paths to use rpaths instead of absolute paths.
#
# This script does not do much error checking so the results should be verified manually
# afterwards using the "otool -L" command.
# Changes are needed to this script when moving to a new version for any of the libraries.
#
# Leon Styhre
# 2021-05-13
#
export FREETYPE_FILENAME=libfreetype.6.dylib
export AVCODEC_FILENAME=libavcodec.58.dylib
export AVFORMAT_FILENAME=libavformat.58.dylib
export SWRESAMPLE_FILENAME=libswresample.3.dylib
export SWSCALE_FILENAME=libswscale.5.dylib
if [ -f $FREETYPE_FILENAME ]; then
echo Found file $FREETYPE_FILENAME - changing to rpaths
chmod 755 $FREETYPE_FILENAME
install_name_tool -change /usr/local/opt/libpng/lib/libpng16.16.dylib @rpath/libpng16.16.dylib $FREETYPE_FILENAME
install_name_tool -add_rpath @executable_path $FREETYPE_FILENAME
fi
if [ -f $AVCODEC_FILENAME ]; then
echo Found file $AVCODEC_FILENAME - changing to rpaths
chmod 755 $AVCODEC_FILENAME
install_name_tool -change /usr/local/lib/libswresample.3.dylib @rpath/libswresample.3.dylib $AVCODEC_FILENAME
install_name_tool -change /usr/local/lib/libavutil.56.dylib @rpath/libavutil.56.dylib $AVCODEC_FILENAME
install_name_tool -change /usr/local/opt/fdk-aac/lib/libfdk-aac.2.dylib @rpath/libfdk-aac.2.dylib $AVCODEC_FILENAME
install_name_tool -add_rpath @executable_path $AVCODEC_FILENAME
fi
if [ -f $AVFORMAT_FILENAME ]; then
echo Found file $AVFORMAT_FILENAME - changing to rpaths
chmod 755 $AVFORMAT_FILENAME
install_name_tool -change /usr/local/lib/libavcodec.58.dylib @rpath/libavcodec.58.dylib $AVFORMAT_FILENAME
install_name_tool -change /usr/local/lib/libswresample.3.dylib @rpath/libswresample.3.dylib $AVFORMAT_FILENAME
install_name_tool -change /usr/local/lib/libavutil.56.dylib @rpath/libavutil.56.dylib $AVFORMAT_FILENAME
install_name_tool -change /usr/local/opt/fdk-aac/lib/libfdk-aac.2.dylib @rpath/libfdk-aac.2.dylib $AVFORMAT_FILENAME
install_name_tool -add_rpath @executable_path $AVFORMAT_FILENAME
fi
if [ -f $SWRESAMPLE_FILENAME ]; then
echo Found file $SWRESAMPLE_FILENAME - changing to rpaths
chmod 755 $SWRESAMPLE_FILENAME
install_name_tool -change /usr/local/lib/libavutil.56.dylib @rpath/libavutil.56.dylib $SWRESAMPLE_FILENAME
install_name_tool -add_rpath @executable_path $SWRESAMPLE_FILENAME
fi
if [ -f $SWSCALE_FILENAME ]; then
echo Found file $SWSCALE_FILENAME - changing to rpaths
chmod 755 $SWSCALE_FILENAME
install_name_tool -change /usr/local/lib/libavutil.56.dylib @rpath/libavutil.56.dylib $SWSCALE_FILENAME
install_name_tool -add_rpath @executable_path $SWSCALE_FILENAME
fi