#!/usr/bin/env bash
#**************************************************************************
#*                                                                        *
#*                                 OCaml                                  *
#*                                                                        *
#*                David Allsopp, MetaStack Solutions Ltd.                 *
#*                           Samuel Hym, Tarides                          *
#*                                                                        *
#*   Copyright 2015 MetaStack Solutions Ltd.                              *
#*                                                                        *
#*   All rights reserved.  This file is distributed under the terms of    *
#*   the GNU Lesser General Public License version 2.1, with the          *
#*   special exception on linking described in the file LICENSE.          *
#*                                                                        *
#**************************************************************************

# Ensure that the Microsoft Linker isn't being shadowed by /usr/bin/link
# We expect the Microsoft Linker to be in the same directory as the C compiler

if ! clpath="$(command -v cl)" ; then
  echo "The Microsoft C compiler was not found in any of the PATH entries!">&2
  exit 1
fi
clpath="${clpath%/*}"

if ! linkpath="$(command -v link)" ; then
  echo "The Microsoft Linker was not found in any of the PATH entries!">&2
  exit 1
fi

if [ "${linkpath%/*}" = "$clpath" ]; then
  echo "link already refers to the Microsoft Linker">&2
  exit 0
fi

NEWPATH="$clpath"
IFS=:
for i in $PATH
do
  if [[ $i != $clpath ]]; then
    NEWPATH="$NEWPATH:$i"
  fi
done
unset IFS

echo "$clpath moved to the front of \$PATH">&2
echo "export PATH='"${NEWPATH//\'/\'\"\'\"\'}"'"
