#!/bin/sh

if [ "$help" != "1" ]
then
	# Determine how to lookup dependencies of executable for  OS
	targetos=$(uname -s)
	case $targetos in
	Darwin)
		LDD="otool -L"
		;;
	Linux|FreeBSD|NetBSD)
		LDD="ldd"
		;;
	*)
		;;
	esac

	pkg-config sox
	if [ $? -eq 0 ]
	then
		disable_sox=0
		echo "CFLAGS += $(pkg-config --cflags sox) -I$(pkg-config --variable=prefix sox)" > config.mak
		echo "LDFLAGS += $(pkg-config --libs sox)" >> config.mak
		[ $(pkg-config --modversion sox | cut -d. -f1) -gt 13 ] && echo "CFLAGS += -DSOX14" >> config.mak
	else
		which libst-config > /dev/null 2>&1
		if [ $? -eq 0 ]
		then
			disable_sox=0

			# determine if we need libsndfile
			$LDD $(which sox) | grep libsndfile > /dev/null
			[ $? -eq 0 ] && libsndfile="-lsndfile"

			# determine if we need libsamplerate
			$LDD $(which sox) | grep libsamplerate > /dev/null
			[ $? -eq 0 ] && libsamplerate="-lsamplerate"

			echo "CFLAGS += $(libst-config --cflags) -I../.." > config.mak
			echo "LDFLAGS += -lst $(libst-config --libs) $libsndfile $libsamplerate" >> config.mak
		else
			sox --version 2> /dev/null | grep 'v14.' > /dev/null
			disable_sox=$?
			if [ $disable_sox -eq 0 ]
			then
				LIBDIR=lib
				bits=$(uname -m)
				case $bits in
				x86_64)
					[ -d /usr/lib/lib64 ] && export LIBDIR=lib64 || export LIBDIR=lib
					;;
				*)
					export LIBDIR=lib
					;;
				esac

				sox=$(which sox)
				# chop sox
				soxdir=$(dirname $sox)
				# chop bin
				soxdir=$(dirname $soxdir)

				# determine if we need libsamplerate
				$LDD "$sox" | grep libsamplerate > /dev/null
				[ $? -eq 0 ] && libsamplerate="-lsamplerate"

				# determine if we need libsfx
				$LDD $(which sox) | grep libsfx	 > /dev/null
				[ $? -eq 0 ] && libsfx="-lsfx"

				echo "CFLAGS += -DSOX14 -I$soxdir/include" > config.mak
				echo "LDFLAGS += -L$soxdir/$LIBDIR -lsox $libsfx $libsamplerate" >> config.mak
			fi
		fi
	fi

	if [ "$disable_sox" != "0" ]
	then
		echo "- sox not found: disabling"
		touch ../disable-sox
	fi

	exit 0
fi
