Commit c41d1ed7 authored by Andrey Mokhov's avatar Andrey Mokhov

Make sure build scripts can be run from outside Hadrian directory

See #440
parent f846945c
@echo off
setlocal
cd %~dp0
rem By default on Windows we build Hadrian using Stack
./build.stack.bat %*
#!/usr/bin/env bash
set -euo pipefail
# readlink on os x, doesn't support -f, to prevent the
# need of installing coreutils (e.g. through brew, just
# for readlink, we use the follownig substitute.
#
# source: http://stackoverflow.com/a/1116890
function rl {
TARGET_FILE="$1"
cd "$(dirname "$TARGET_FILE")"
TARGET_FILE="$(basename "$TARGET_FILE")"
# Iterate down a (possible) chain of symlinks
while [ -L "$TARGET_FILE" ]
do
TARGET_FILE="$(readlink "$TARGET_FILE")"
cd "$(dirname "$TARGET_FILE")"
TARGET_FILE="$(basename "$TARGET_FILE")"
done
# Compute the canonicalized name by finding the physical path
# for the directory we're in and appending the target file.
PHYS_DIR="$(pwd -P)"
RESULT="$PHYS_DIR/$TARGET_FILE"
echo "$RESULT"
}
root="$(dirname "$(rl "$0")")"
# By default on Linux/MacOS we build Hadrian using Cabal
chmod a+x ./build.cabal.sh
(. ./build.cabal.sh "$@")
chmod a+x "$root/build.cabal.sh"
(. "$root/build.cabal.sh" "$@")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment