# 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/input.source",
  "data/ref/input/input.graphic",
  "data/ref/input/input.program",
]

executable("256.bzip2") {
  sources = [
    "src/bzip2.c",
    "src/spec.c",
  ]
  defines = [ "SPEC_CPU2000_LP64" ]
  cflags_c = [
    "-Wno-implicit-function-declaration",
    "-Wno-tautological-pointer-compare",
  ]
  if (current_os == "fuchsia") {
    data = inputs
  } else {
    data_deps = [
      ":copy_inputs",
    ]
  }
}

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