#!/bin/sh TOP="${HOME}" INVOKED="$(pwd)" FOUNDDEV=0 GHCVER="$(ghc --version | cut -d, -f2 | awk '{print $2}')" while test "$(pwd)" != "${TOP}" && test "$(pwd)" != "/"; do if test -d cabal-dev/packages-${GHCVER}.conf; then if test $FOUNDDEV = 0; then FOUNDDEV=1 fi set -- -package-conf "$(pwd)/cabal-dev/packages-${GHCVER}.conf" "$@" fi if test -r cabal.sandbox.config; then if test $FOUNDDEV = 0; then FOUNDDEV=1 fi set -- -package-db $(grep "^package-db:" cabal.sandbox.config | cut -d\ -f2-) "$@" fi cd .. done if test $FOUNDDEV = 1; then set -- -no-user-package-db "$@" fi cd "${INVOKED}" ghc "$@" if (echo "$@" | grep -q flycheck) >/dev/null 2>&2; then shift $(($# - 1)) DIR=$(dirname "$1") BASE=$(basename "$1" .hs) if "x$BASE" == "x$1"; then BASE=$(basename "$BASE" .lhs) fi rm -f "${DIR}/${BASE}.o" "${DIR}/${BASE}.hi" fi