# Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

import("executable_suffix.gni")

_dart_root = rebase_path("..")

_prebuilt_dart_exe = "$_dart_root/tools/sdks/$host_os/dart-sdk/bin/dart$executable_suffix"

# Our gn_run_binary swallows output unless there is an error.
_prebuilt_dart_exe_trial = exec_script("gn_run_binary.py",
    ["exec_script", _prebuilt_dart_exe, "--version"], "string")
if (_prebuilt_dart_exe_trial == "") {
  prebuilt_dart_exe_works = true
} else {
  prebuilt_dart_exe_works = false
}
