#!/bin/bash rootname=$(cat /etc/debian_chroot 2>/dev/null) echo $PATH | grep '\.stack' >/dev/null && rootname="stack" BUILDB= for b in build/b/Presence/monitortty.o .stack-work/dist/x86_64-linux/Cabal-*/build/Presence/monitortty.o; do if [ -f $b ]; then BUILDB=$(dirname $(dirname $b)) break fi done [ -z "$BUILDB" ] && { echo "Where is monitortty.o?"; exit 1; } warn="-freverse-errors -fwarn-unused-imports -Wmissing-signatures -fdefer-typed-holes" exts="-XOverloadedStrings -XRecordWildCards" defs="-DBENCODE_AESON -DTHREAD_DEBUG -UVERSION_lens" hidden="crypto-random crypto-api crypto-numbers cryptohash prettyclass" [ "$rootname" == "stack" ] && hidden="" hide="" for h in $hidden;do # too slow. # ghc-pkg latest $h && hide="$hide -hide-package $h" hide="$hide -hide-package $h" done if [ "$rootname" == "stretch" ] then echo "Building with cryptonite backport. (chroot = $rootname)" defs="$defs -DCRYPTONITE_BACKPORT -icryptonite-backport" warn="$BUILDB/cbits/cryptonite_salsa.o $BUILDB/cbits/cryptonite_xsalsa.o $warn" fi root=${0%/*} cd "$root" me=${0##*/} me=${me%.*} set -x ghc -threaded \ $hide \ $exts \ $defs \ -hidir build/$me$rootname -odir build/$me$rootname \ -iPresence \ -iArchive \ -isrc \ $BUILDB/Presence/monitortty.o \ $warn \ "$@"