summaryrefslogtreecommitdiff
path: root/g
blob: 4b8e922a59c6dcb06a3d9e5124e1109306589cd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/bash

rootname=$(cat /etc/debian_chroot 2>/dev/null)
echo $PATH | grep '\.stack' >/dev/null && rootname="stack"

warn="-freverse-errors -fwarn-unused-imports -Wmissing-signatures -fdefer-typed-holes"
exts="-XOverloadedStrings -XRecordWildCards"
defs="-DBENCODE_AESON -DTHREAD_DEBUG"
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="build/b/cbits/cryptonite_salsa.o build/b/cbits/cryptonite_xsalsa.o $warn"
    fi

root=${0%/*}
cd "$root"

me=${0##*/}
me=${me%.*}
ghc -threaded                        \
    $hide                            \
    $exts                            \
    $defs                            \
    -hidir build/$me$rootname -odir build/$me$rootname \
    -iPresence                       \
    -iArchive                        \
    -isrc                            \
    build/b/Presence/monitortty.o    \
    $warn                            \
    "$@"