# 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.

inputs = [
  "data/ref/input/inp.in",
]

executable("183.equake") {
  testonly = true

  sources = [
    "src/quake.c",
  ]
  defines = [ "SPEC_CPU2000" ]
  if (current_os == "fuchsia") {
    data = inputs
  } else {
    data_deps = [
      ":copy_inputs",
    ]
  }
}

copy("copy_inputs") {
  visibility = [ ":*" ]
  sources = inputs
  outputs = [
    "$root_out_dir/data/183.equake/{{source_file_part}}",
  ]
}
