#!/bin/bash  
echo ""
echo "=================================================================="
echo "====     MacOS Relink Script for Cabbage Plugins              ===="
echo "====                                                          ===="
echo "====     Usage:                                               ===="
echo "====     ./relink.sh PluginName PluginBinaryName [minify]     ===="
echo "=================================================================="
echo ""

# Rory Walsh 2021

if [ "$EUID" -ne 0 ]
  then echo "Error: Please run this command as root using sudo..."
  echo ""
  exit
fi	

if [[ $# -lt 2 ]]; then
    echo "Error: Illegal number of parameters..."
    echo ""
    exit
fi

if [[ $# -eq 3 ]]; then
    # echo "Minimising Csound framework size"
    export MINIMISE_CSOUND_FRAMEWORK=1
    # echo ""
fi


export PLUGIN_NAME=$1
export PLUGIN_BINARY=$2


if [[ ! -d "$PLUGIN_NAME" ]]
then
    echo "The file: $PLUGIN_NAME does exist on your filesystem. Please check your path..."
    echo ""
    exit
fi

echo "Copying Csound framework from default location..."
sudo cp -Rf /Library/Frameworks/CsoundLib64.framework $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework

if [[ $MINIMISE_CSOUND_FRAMEWORK -eq 1 ]]; then
    echo "Minimising Csound framework size.."
    rm -rf $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework/Versions/6.0/Resources/Manual
    echo "Csound manual removed.."
    rm -rf $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework/Versions/6.0/Resources/Java
    echo "Csound JAVA interfaces removed.."
    rm -rf $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework/Versions/6.0/Resources/Python
    echo "Csound Python removed.."
    rm -rf $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework/Versions/6.0/samples
    echo "Csound hrtf samples removed.."
    # echo ""
fi


echo "Running otool on copied Csound library..."
sudo install_name_tool -id "@rpath/CsoundLib64.framework/CsoundLib64" $PLUGIN_NAME/Contents/Resources/CsoundLib64.framework/CsoundLib64
echo "Relinking Csound to plugin binary..."
sudo install_name_tool -change /Library/Frameworks/CsoundLib64.framework/CsoundLib64 @loader_path/../Resources/CsoundLib64.framework/CsoundLib64 $PLUGIN_NAME/Contents/MacOS/$PLUGIN_BINARY
echo ""
echo "Plugin should now be correctly linked with Csound. :)"
echo ""