[commit: ghc] wip/nfs-locking: Add rl function to the cabal build file as well. (2c635d5)
git at git.haskell.org
git at git.haskell.org
Fri Oct 27 00:25:04 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/nfs-locking
Link : http://ghc.haskell.org/trac/ghc/changeset/2c635d55d07ddeb2f827dd5d3007fc9b362b043a/ghc
>---------------------------------------------------------------
commit 2c635d55d07ddeb2f827dd5d3007fc9b362b043a
Author: Moritz Angermann <moritz.angermann at gmail.com>
Date: Tue Jan 5 20:58:07 2016 +0800
Add rl function to the cabal build file as well.
>---------------------------------------------------------------
2c635d55d07ddeb2f827dd5d3007fc9b362b043a
build.cabal.sh | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/build.cabal.sh b/build.cabal.sh
index cf165b8..8add516 100755
--- a/build.cabal.sh
+++ b/build.cabal.sh
@@ -2,7 +2,33 @@
set -euo pipefail
-absoltueRoot="$(dirname "$(readlink -f "$0")")"
+# 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"
+}
+
+absoltueRoot="$(dirname "$(rl "$0")")"
cd "$absoltueRoot"
# Initialize sandbox if necessary
More information about the ghc-commits
mailing list