#!/bin/bash
#
# Script to call sina from inside arb.
#
# Behaves like sina binary, but autodetects fattarball-installation
# done by ./arb_sina_install_from_fat_tarball.sh
#
# call "arb_sina.sh runldd" to show dynamic link info.

SCRIPTDIR=$(dirname $0)

call_or_ldd() {
    local SINACALL="$1"; shift

    if [ "$1" = "runldd" ]; then
        local FULLSINAPATH=$(${SCRIPTDIR}/arb_path.sh -x ${SINACALL})
        if [ -z "${FULLSINAPATH}" ]; then
            echo "No sina detected."
        else
            echo "full path of binary: ${FULLSINAPATH}"

            echo "dynamic library dependencies:"
            ldd ${FULLSINAPATH}

            local VERSION=$( ${SINACALL} --version 2>&1 )
            echo "reported version: ${VERSION}"
        fi
    else
        ${SINACALL} "$@"
    fi
}

call_sina() {
    local FATSINADIR=${ARBHOME}/bin/fatsina
    local FATSINA=${FATSINADIR}/sina

    if [ -x ${FATSINA} ]; then
        export "SINA_SUBCMD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
        export "LD_LIBRARY_PATH=${FATSINADIR}:${LD_LIBRARY_PATH}"
        echo "fat tarball installation detected"
        echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
        call_or_ldd ${FATSINA} "$@"
    else
        call_or_ldd sina "$@"
    fi
}

# set -x
call_sina "$@"
