#! /bin/bash

# Setup paths
WORKDIR="${TMPDIR:-/tmp}/starkit2exe-$$${RANDOM}${RANDOM}${RANDOM}${RANDOM}"
STARTDIR="$(readlink -f "$(pwd)")"

# Process script arguments and expand to fully qualified names where appropriate
OURSCP="$(readlink -f "$0" 2>/dev/null)"
OURSCPDIR="$(dirname "${OURSCP}" 2>/dev/null)"
FINDTCLKITSCP="${OURSCPDIR}/find-tclkit"
TCLKIT=$("${FINDTCLKITSCP}")

# Path to SDX Starkit
SDXPATH="$(readlink -f "${OURSCPDIR}/sdx-1nrl.kit")"

# Target Tclkit
if [ -z "$1" ]; then
	echo 'Usage: add-lib-to-kit <tclkit>' >&2
	exit 1
fi

TARGETKIT="$(readlink -f "$1")"
if [ -z "${TARGETKIT}" -o ! -f "${TARGETKIT}" ]; then
	echo "error: Unable to find input file: $1" >&2
	exit 1
fi

# If TARGETKIT == TCLKIT, copy TCLKIT
DELETETCLKIT=0
if [ "${TARGETKIT}" = "${TCLKIT}" ]; then
	TMPTCLKIT="/var/tmp/tmptclkit-$$${RANDOM}${RANDOM}.bin"
	cp "${TCLKIT}" "${TMPTCLKIT}"
	chmod +x "${TMPTCLKIT}"
	TCLKIT="${TMPTCLKIT}"
	DELETETCLKIT=1
fi

# Determine the platform name from the Tclkit specified
TARGETPLATFORM="$(echo "${TARGETKIT}" | sed 's@^.*/tclkit-[0-9\.]*-@@;s@-static$@@')"

# Locate path to extensions to have
EXTDIR=$(readlink -f "tclkit-add-lib/platform-${TARGETPLATFORM}")

# Update Tclkit with appropriate extensions
for extpath in "${EXTDIR}"/* tclkit-add-lib/all/*; do
	if [ "$(basename "${extpath}")" = "*" ]; then
		continue
	fi
	"${TCLKIT}" "${SDXPATH}" sync -auto 1 -forcedest 1 "${extpath}" "${TARGETKIT}"
done

if [ "${DELETETCLKIT}" = "1" ]; then
	rm -f "${TCLKIT}"
fi
