Add vars.sh

This script makes it easier for clients to locate buildtools artifacts.

Change-Id: I5a40ce2eb42d1a29cef074890236a679f5f2d129
diff --git a/update.sh b/update.sh
index 294c992..1f1f112 100755
--- a/update.sh
+++ b/update.sh
@@ -13,18 +13,17 @@
 readonly HOST_OS=$(uname | tr '[:upper:]' '[:lower:]')
 readonly HOST_TRIPLE="${HOST_ARCH}-${HOST_OS}"
 
-. "${SCRIPT_ROOT}/download.sh"
+source "${SCRIPT_ROOT}/vars.sh"
+source "${SCRIPT_ROOT}/download.sh"
 
 case "$(uname -s)" in
   Darwin)
     readonly HOST_PLATFORM="mac"
     readonly CIPD_PLATFORM="mac-amd64"
-    readonly GN_PLATFORM="mac-x64"
     ;;
   Linux)
     readonly HOST_PLATFORM="linux64"
     readonly CIPD_PLATFORM="linux-amd64"
-    readonly GN_PLATFORM="linux-x64"
     ;;
   *)
     echo "Unknown operating system. Cannot install build tools."
@@ -68,15 +67,15 @@
 }
 
 function download_clang() {
-  download_cipd_package clang clang "${SCRIPT_ROOT}/${GN_PLATFORM}/clang"
+  download_cipd_package clang clang "${BUILDTOOLS_CLANG_DIR}"
 }
 
 function download_rust() {
-  download_cipd_package rust rust "${SCRIPT_ROOT}/${GN_PLATFORM}/rust"
+  download_cipd_package rust rust "${BUILDTOOLS_RUST_DIR}"
 }
 
 function download_go() {
-  download_cipd_package go go "${SCRIPT_ROOT}/${GN_PLATFORM}/go"
+  download_cipd_package go go "${BUILDTOOLS_GO_DIR}"
 }
 
 function download_godepfile() {
@@ -84,7 +83,7 @@
 }
 
 function download_qemu() {
-  download_cipd_package qemu qemu "${SCRIPT_ROOT}/${GN_PLATFORM}/qemu"
+  download_cipd_package qemu qemu "${BUILDTOOLS_QEMU_DIR}"
 }
 
 if [[ "${HOST_PLATFORM}" == "linux64" ]]; then
diff --git a/vars.sh b/vars.sh
new file mode 100755
index 0000000..c7e1a59
--- /dev/null
+++ b/vars.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# Copyright 2016 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if [[ -n "${ZSH_VERSION}" ]]; then
+  BUILDTOOLS_DIR=${${(%):-%x}:a:h}
+else
+  BUILDTOOLS_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+fi
+
+case "$(uname -s)" in
+  Darwin)
+    BUILDTOOLS_PLATFORM="mac-x64"
+    ;;
+  Linux)
+    BUILDTOOLS_PLATFORM="linux-x64"
+    ;;
+  *)
+    echo "Unknown operating system."
+    exit 1
+    ;;
+esac
+
+BUILDTOOLS_CLANG_DIR="${BUILDTOOLS_DIR}/${BUILDTOOLS_PLATFORM}/clang"
+BUILDTOOLS_RUST_DIR="${BUILDTOOLS_DIR}/${BUILDTOOLS_PLATFORM}/rust"
+BUILDTOOLS_GO_DIR="${BUILDTOOLS_DIR}/${BUILDTOOLS_PLATFORM}/go"
+BUILDTOOLS_QEMU_DIR="${BUILDTOOLS_DIR}/${BUILDTOOLS_PLATFORM}/qemu"